Skip to content

Commit 2d1e5ad

Browse files
MegaBoom design bring up for ORFS (#1126)
* My - initial MegaBoom design bring-up for ORFS Signed-off-by: louiic <[email protected]> * Revert "My - initial MegaBoom design bring-up for ORFS" This reverts commit faa9f4a. My - compress verilog file Signed-off-by: louiic <[email protected]> * My - initial bring up of MegaBoom design for ORFS Signed-off-by: louiic <[email protected]> --------- Signed-off-by: louiic <[email protected]> Co-authored-by: louiic <[email protected]>
1 parent 8b4c2dc commit 2d1e5ad

File tree

6 files changed

+790
-0
lines changed

6 files changed

+790
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
export PLATFORM = asap7
2+
3+
export DESIGN_NAME = MegaBoom
4+
export DESIGN_NICKNAME = megaboom
5+
6+
export VERILOG_FILES = $(realpath ./designs/src/$(DESIGN_NICKNAME)/rocketchip.MegaBoomConfig.v.gz)
7+
export VERILOG_FILES += $(realpath ./designs/src/$(DESIGN_NICKNAME)/rocketchip.MegaBoomConfig.behav_srams.v)
8+
9+
export SDC_FILE = $(realpath ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc)
10+
export SYNTH_SDC_FILE = $(SDC_FILE)
11+
12+
export CORE_UTILIZATION = 40
13+
export CORE_ASPECT_RATIO = 1
14+
export CORE_MARGIN = 5
15+
export PLACE_DENSITY_LB_ADDON = 0.05
16+
17+
export BC_ADDITIONAL_LIBS += $(PLATFORM_DIR)/lib/fakeram_256x128.lib \
18+
$(PLATFORM_DIR)/lib/fakeram_256x64.lib \
19+
$(PLATFORM_DIR)/lib/fakeram_32x46.lib \
20+
$(PLATFORM_DIR)/lib/fakeram_512x8.lib \
21+
$(PLATFORM_DIR)/lib/fakeram_64x20.lib \
22+
$(PLATFORM_DIR)/lib/fakeram_64x22.lib
23+
24+
export ADDITIONAL_LEFS += $(PLATFORM_DIR)/lef/fakeram_256x128.lef \
25+
$(PLATFORM_DIR)/lef/fakeram_256x64.lef \
26+
$(PLATFORM_DIR)/lef/fakeram_32x46.lef \
27+
$(PLATFORM_DIR)/lef/fakeram_512x8.lef \
28+
$(PLATFORM_DIR)/lef/fakeram_64x20.lef \
29+
$(PLATFORM_DIR)/lef/fakeram_64x22.lef
30+
31+
32+
#export CACHED_NETLIST = $(realpath ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/MegaBoom.v)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
set clk_name clock
2+
set clk_port_name clock
3+
set clk_period 5000
4+
set clk_io_pct 0.2
5+
6+
set clk_port [get_ports $clk_port_name]
7+
8+
create_clock -name $clk_name -period $clk_period $clk_port
9+
10+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
11+
12+
set_input_delay [expr $clk_period * $clk_io_pct] -clock $clk_name $non_clock_inputs
13+
set_output_delay [expr $clk_period * $clk_io_pct] -clock $clk_name [all_outputs]
14+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
MegaBoom design for ORFS
2+
Derived from Ravi's megaboom branch originated from https://boom-core.org.
3+
4+
rocketchip.MegaBoomConfig.behav_srams.v - memory behavior file
5+
The memory behavior modules are modified to include optional instantiation of FakeRam.
6+
These FakeRams were generated from FakeRam2.0 and are part of ASAP7's ORFS platform.
7+
The instantiation of FakeRams are triggered by `define WITHFAKERAM. The `define declaration
8+
is contained within openROAD.h file.
9+
10+
openROAD.h - auxillary file for switches
11+
The RTL delivery includs testing harness module that instantiate Megaboom. In order to allow
12+
synthesis to synthesize the Megaboom hierachy rather than the testing harness, 'define TESTHARNESS
13+
has been commented out.
14+
15+
The testing harness is useful when used within simulation platform for testing the MegaBoom design.
16+
17+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/* This file contain switch for the following
2+
* WITHFAKERAM - skip behavior model definition for memory usage,
3+
* instead, instantiate appropriate fakeram from
4+
* the platform data
5+
* TESTHARNESS - MegaBoom netilst does contain testing mechanism
6+
* This is higher up module that instantiate MegaBoom.
7+
* This switch change the top level of the entire design.
8+
* Please change the ORFS script accordingly.
9+
*/
10+
11+
// use fakeram_* from ASAP7 platform data
12+
`define WITHFAKERAM
13+
14+
// do not enabl test harness, keep top level as MegaBoom
15+
// `define TESTHARNESS

0 commit comments

Comments
 (0)