File tree Expand file tree Collapse file tree 6 files changed +790
-0
lines changed
Expand file tree Collapse file tree 6 files changed +790
-0
lines changed Original file line number Diff line number Diff line change 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)
Original file line number Diff line number Diff line change 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+
Original file line number Diff line number Diff line change 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+
Original file line number Diff line number Diff line change 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
You can’t perform that action at this time.
0 commit comments