Skip to content

Commit

Permalink
Getting the tests to pass
Browse files Browse the repository at this point in the history
  • Loading branch information
daquintero committed Sep 14, 2024
1 parent a802be3 commit fbfd0c9
Show file tree
Hide file tree
Showing 63 changed files with 1,017 additions and 518 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -350,38 +350,41 @@
# ## Sequential Implementation

# +
from openlane.flows import SequentialFlow
from openlane.steps import Yosys, OpenROAD, Magic, Netgen


class MyFlow(SequentialFlow):
Steps = [
Yosys.Synthesis,
OpenROAD.Floorplan,
OpenROAD.TapEndcapInsertion,
OpenROAD.GeneratePDN,
OpenROAD.IOPlacement,
OpenROAD.GlobalPlacement,
OpenROAD.DetailedPlacement,
OpenROAD.GlobalRouting,
OpenROAD.DetailedRouting,
OpenROAD.FillInsertion,
Magic.StreamOut,
Magic.DRC,
Magic.SpiceExtraction,
Netgen.LVS,
]


flow = MyFlow(
{
"PDK": "sky130A",
"DESIGN_NAME": "spm",
"VERILOG_FILES": ["./src/spm.v"],
"CLOCK_PORT": "clk",
"CLOCK_PERIOD": 10,
},
design_dir=".",
)
flow.start()
try:
from openlane.flows import SequentialFlow
from openlane.steps import Yosys, OpenROAD, Magic, Netgen

class MyFlow(SequentialFlow):
Steps = [
Yosys.Synthesis,
OpenROAD.Floorplan,
OpenROAD.TapEndcapInsertion,
OpenROAD.GeneratePDN,
OpenROAD.IOPlacement,
OpenROAD.GlobalPlacement,
OpenROAD.DetailedPlacement,
OpenROAD.GlobalRouting,
OpenROAD.DetailedRouting,
OpenROAD.FillInsertion,
Magic.StreamOut,
Magic.DRC,
Magic.SpiceExtraction,
Netgen.LVS,
]

flow = MyFlow(
{
"PDK": "sky130A",
"DESIGN_NAME": "spm",
"VERILOG_FILES": ["./src/spm.v"],
"CLOCK_PORT": "clk",
"CLOCK_PERIOD": 10,
},
design_dir=".",
)
flow.start()
except ModuleNotFoundError as e:
print(
f"Make sure you are running this from an environment with Openlane nix installed {e}"
)
# -
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,132 @@ routes:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r16:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r17:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r18:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r19:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r20:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r21:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r22:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r23:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r24:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r25:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r26:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r27:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r28:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r29:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r30:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r31:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r32:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r33:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r34:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r35:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r36:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r37:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r38:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r39:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r40:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r41:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r42:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r43:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r44:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r45:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r46:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r47:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
ports: {}
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,37 @@ nets:
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
- ['ps,DRAIN', 'ns,SOURCE']
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
- ['ps,DRAIN', 'ns,SOURCE']
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
- ['ps,DRAIN', 'ns,SOURCE']
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
- ['ps,DRAIN', 'ns,SOURCE']
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
- ['ps,DRAIN', 'ns,SOURCE']
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
- ['ps,DRAIN', 'ns,SOURCE']
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
- ['ps,DRAIN', 'ns,SOURCE']
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
- ['ps,DRAIN', 'ns,SOURCE']
- ['ps,GATE', 'ns,GATE']
- ['ns,GATE', 'ps,GATE']
- ['ns,SOURCE', 'ps,DRAIN']
ports: {}
schema_version: 1
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,132 @@ routes:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r16:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r17:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r18:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r19:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r20:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r21:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r22:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r23:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r24:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r25:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r26:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r27:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r28:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r29:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r30:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r31:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r32:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r33:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r34:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r35:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r36:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r37:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r38:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r39:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r40:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r41:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r42:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r43:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
r44:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,DRAIN': 'ns,SOURCE'}
r45:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ps,GATE': 'ns,GATE'}
r46:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,GATE': 'ps,GATE'}
r47:
routing_strategy: get_bundle
settings: {cross_section: xs_metal1, separation: 5.0}
links: {'ns,SOURCE': 'ps,DRAIN'}
ports: {}
Loading

0 comments on commit fbfd0c9

Please sign in to comment.