-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Øyvind Harboe <[email protected]>
- Loading branch information
Showing
13 changed files
with
3,318 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
build/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
load("//:openroad.bzl", "orfs_flow") | ||
|
||
FAST_SETTINGS = { | ||
"REMOVE_ABC_BUFFERS": "1", | ||
"SKIP_REPORT_METRICS": "1", | ||
"SKIP_CTS_REPAIR_TIMING": "1", | ||
"SKIP_INCREMENTAL_REPAIR": "1", | ||
} | ||
|
||
orfs_flow( | ||
name = "sdq_17x64", | ||
abstract_stage = "grt", | ||
mock_area = 0.95, | ||
args = FAST_SETTINGS | { | ||
"SDC_FILE": "$(location //sram:fakeram/constraints-sram.sdc)", | ||
"CORE_UTILIZATION": "20", | ||
"CORE_MARGIN": "2", | ||
"MACRO_PLACE_HALO": "30 30", | ||
"PLACE_DENSITY": "0.25", | ||
}, | ||
stage_sources = { | ||
"synth": ["//sram:fakeram/constraints-sram.sdc"], | ||
}, | ||
verilog_files = ["//sram:fakeram/sdq_17x64.sv"], | ||
) | ||
|
||
orfs_flow( | ||
name = "top", | ||
abstract_stage = "grt", | ||
macros = ["//sram:sdq_17x64_generate_abstract"], | ||
args = FAST_SETTINGS | { | ||
"SDC_FILE": "$(location //sram:fakeram/constraints-sram.sdc)", | ||
"DIE_AREA": "0 0 100 100", | ||
"CORE_AREA": "2 2 98 98", | ||
"RTLMP_FLOW": "True", | ||
"CORE_MARGIN": "2", | ||
"MACRO_PLACE_HALO": "2 2", | ||
}, | ||
stage_sources = { | ||
"synth": ["//sram:fakeram/constraints-sram.sdc"], | ||
}, | ||
verilog_files = ["//sram:fakeram/top.v"], | ||
) | ||
|
||
# buildifier: disable=duplicated-name | ||
orfs_flow( | ||
name = "top", | ||
variant="fakeram", | ||
abstract_stage = "grt", | ||
args = FAST_SETTINGS | { | ||
"SDC_FILE": "$(location //sram:fakeram/constraints-sram.sdc)", | ||
"DIE_AREA": "0 0 30 30", | ||
"CORE_AREA": "2 2 28 28", | ||
"RTLMP_FLOW": "True", | ||
"CORE_MARGIN": "2", | ||
"MACRO_PLACE_HALO": "2 2", | ||
"ADDITIONAL_LEFS": "$(location //sram:fakeram/sdq_17x64.lef)", | ||
"ADDITIONAL_LIBS": "$(location //sram:fakeram/sdq_17x64.lib)", | ||
}, | ||
sources = { | ||
"ADDITIONAL_LEFS" : ["//sram:fakeram/sdq_17x64.lef"], | ||
"ADDITIONAL_LIBS" : ["//sram:fakeram/sdq_17x64.lib"], | ||
"SDC_FILE": ["//sram:fakeram/constraints-sram.sdc"], | ||
}, | ||
verilog_files = ["//sram:fakeram/top.v"], | ||
) | ||
|
||
# buildifier: disable=duplicated-name | ||
orfs_flow( | ||
name = "sdq_17x64", | ||
variant = "megaboom", | ||
abstract_stage = "grt", | ||
mock_area = 0.95, | ||
args = FAST_SETTINGS | { | ||
"SDC_FILE": "$(location //sram:megaboom/constraints-sram.sdc)", | ||
"CORE_UTILIZATION": "20", | ||
"CORE_MARGIN": "2", | ||
"MACRO_PLACE_HALO": "30 30", | ||
"PLACE_DENSITY": "0.25", | ||
}, | ||
stage_sources = { | ||
"synth": ["//sram:megaboom/constraints-sram.sdc"], | ||
}, | ||
verilog_files = ["//sram:megaboom/sdq_17x64.sv"], | ||
) | ||
|
||
# buildifier: disable=duplicated-name | ||
orfs_flow( | ||
name = "top", | ||
abstract_stage = "grt", | ||
variant = "megaboom", | ||
macros = ["//sram:sdq_17x64_megaboom_generate_abstract"], | ||
args = FAST_SETTINGS | { | ||
"SDC_FILE": "$(location //sram:megaboom/constraints-top.sdc)", | ||
"DIE_AREA": "0 0 100 100", | ||
"CORE_AREA": "2 2 98 98", | ||
"RTLMP_FLOW": "True", | ||
"CORE_MARGIN": "2", | ||
"MACRO_PLACE_HALO": "2 2", | ||
}, | ||
stage_sources = { | ||
"synth": ["//sram:megaboom/constraints-top.sdc"], | ||
}, | ||
verilog_files = ["//sram:megaboom/top.v"], | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
fakeram vs. mock SRAM | ||
===================== | ||
|
||
fakeram is a .lib, .lef and .v file generated by the fakeram tool. | ||
|
||
mocked SRAM takes as input the design's behavioral model Verilog file and is used to generate a .lef and .lib file. | ||
|
||
Mock SRAM based on fakeram's behavioral .v file | ||
----------------------------------------------- | ||
|
||
The .v file generated by fakeram does not build with yosys unmodified. The fakeram/sdq_17x64.sv has been manually pruned until it passed yosys. | ||
|
||
bazel run //sram:top_grt `pwd`/build | ||
build/make gui_grt | ||
|
||
fakeram | ||
------- | ||
|
||
There is a problem with this setup: there is no clock visible in the OpenROAD GUI. A problem with the fakeram .lib file? | ||
|
||
bazel run //sram:top_fakeram_grt `pwd`/build | ||
build/make gui_grt | ||
|
||
|
||
MegaBoom mock SRAM | ||
------------------ | ||
|
||
A mock SRAM based on the MegaBoom behavioral Verilog. | ||
|
||
bazel run //sram:top_megaboom_grt `pwd`/build | ||
build/make gui_grt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
set clk_name clk | ||
set clk_port_name clk | ||
set clk_period 400 | ||
|
||
if { [llength [all_registers]] > 0} { | ||
source $env(PLATFORM_DIR)/constraints.sdc | ||
} else { | ||
puts "The design is gutted when mocking floorplan" | ||
} |
Oops, something went wrong.