[top] Connect RomCtrlSkipCheck
- default this value to 1 (this should be changed later)
- for synthesis, explicitly pass in 0 (this should be removed later)
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/syn/tools/dc/run-syn.tcl b/hw/syn/tools/dc/run-syn.tcl
index fd02e47..32a6d2f 100644
--- a/hw/syn/tools/dc/run-syn.tcl
+++ b/hw/syn/tools/dc/run-syn.tcl
@@ -81,7 +81,8 @@
set DEFINE "PRIM_DEFAULT_IMPL=${PRIM_DEFAULT_IMPL}+${PRIM_STD_CELL_VARIANT}"
# additional parameters
-set PARAMS ""
+set PARAMS "$::env(PARAMS)"
+
###########################
## Env var file ##
diff --git a/hw/syn/tools/dvsim/common_syn_cfg.hjson b/hw/syn/tools/dvsim/common_syn_cfg.hjson
index 823b9c6..0d0d039 100644
--- a/hw/syn/tools/dvsim/common_syn_cfg.hjson
+++ b/hw/syn/tools/dvsim/common_syn_cfg.hjson
@@ -20,6 +20,7 @@
// Default directory structure for the output
dut: "{name}"
+ params: ""
build_dir: "{scratch_path}/{build_mode}"
build_log: "{build_dir}/synthesis.log"
diff --git a/hw/syn/tools/dvsim/dc.hjson b/hw/syn/tools/dvsim/dc.hjson
index 05306fa..bc8c2d0 100644
--- a/hw/syn/tools/dvsim/dc.hjson
+++ b/hw/syn/tools/dvsim/dc.hjson
@@ -5,6 +5,7 @@
// Environment variables that are needed in the synthesis script
exports: [
{ DUT: "{dut}" },
+ { PARAMS: "{params}" },
{ CONSTRAINT: "{sdc_file}" },
{ FOUNDRY_CONSTRAINT: "{foundry_sdc_file}" },
{ BUILD_DIR: "{build_dir}" },
diff --git a/hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv b/hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv
index c3754c1..659ebfa 100644
--- a/hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv
+++ b/hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv
@@ -9,7 +9,10 @@
// -o hw/top_earlgrey/ \
// --rnd_cnst_seed 4881560218908238235
-module chip_earlgrey_asic (
+module chip_earlgrey_asic #(
+ // TODO: Remove this 0 once infra is ready
+ parameter bit RomCtrlSkipCheck = 1
+) (
// Dedicated Pads
inout POR_N, // Manual Pad
inout USB_P, // Manual Pad
@@ -1102,7 +1105,8 @@
.KmacReuseShare(0),
.SramCtrlRetAonInstrExec(0),
.SramCtrlMainInstrExec(1),
- .PinmuxAonTargetCfg(PinmuxTargetCfg)
+ .PinmuxAonTargetCfg(PinmuxTargetCfg),
+ .RomCtrlSkipCheck(RomCtrlSkipCheck)
) top_earlgrey (
.rst_ni ( aon_pok ),
// ast connections
diff --git a/hw/top_earlgrey/rtl/autogen/chip_earlgrey_nexysvideo.sv b/hw/top_earlgrey/rtl/autogen/chip_earlgrey_nexysvideo.sv
index 16c3ffb..15682f0 100644
--- a/hw/top_earlgrey/rtl/autogen/chip_earlgrey_nexysvideo.sv
+++ b/hw/top_earlgrey/rtl/autogen/chip_earlgrey_nexysvideo.sv
@@ -15,7 +15,9 @@
parameter BootRomInitFile = "boot_rom_fpga_nexysvideo.32.vmem",
// Path to a VMEM file containing the contents of the emulated OTP, which will be
// baked into the FPGA bitstream.
- parameter OtpCtrlMemInitFile = "otp_img_fpga_nexysvideo.vmem"
+ parameter OtpCtrlMemInitFile = "otp_img_fpga_nexysvideo.vmem",
+ // TODO: Remove this 0 once infra is ready
+ parameter bit RomCtrlSkipCheck = 1
) (
// Dedicated Pads
inout POR_N, // Manual Pad
diff --git a/hw/top_earlgrey/syn/chip_earlgrey_asic_syn_cfg.hjson b/hw/top_earlgrey/syn/chip_earlgrey_asic_syn_cfg.hjson
index f3909ed..f4528bd 100644
--- a/hw/top_earlgrey/syn/chip_earlgrey_asic_syn_cfg.hjson
+++ b/hw/top_earlgrey/syn/chip_earlgrey_asic_syn_cfg.hjson
@@ -24,6 +24,12 @@
name: expand_modules
value: "top_earlgrey"
}
+
+ {
+ name: params
+ value: "RomCtrlSkipCheck=>0"
+ }
+
]
// Timing constraints for this module
diff --git a/util/topgen/templates/chiplevel.sv.tpl b/util/topgen/templates/chiplevel.sv.tpl
index c7df92e..5dc9f5e 100644
--- a/util/topgen/templates/chiplevel.sv.tpl
+++ b/util/topgen/templates/chiplevel.sv.tpl
@@ -80,10 +80,15 @@
parameter BootRomInitFile = "boot_rom_fpga_${target["name"]}.32.vmem",
// Path to a VMEM file containing the contents of the emulated OTP, which will be
// baked into the FPGA bitstream.
- parameter OtpCtrlMemInitFile = "otp_img_fpga_${target["name"]}.vmem"
+ parameter OtpCtrlMemInitFile = "otp_img_fpga_${target["name"]}.vmem",
+ // TODO: Remove this 0 once infra is ready
+ parameter bit RomCtrlSkipCheck = 1
) (
% else:
-module chip_${top["name"]}_${target["name"]} (
+module chip_${top["name"]}_${target["name"]} #(
+ // TODO: Remove this 0 once infra is ready
+ parameter bit RomCtrlSkipCheck = 1
+) (
% endif
<%
@@ -956,7 +961,8 @@
.KmacReuseShare(0),
.SramCtrlRetAonInstrExec(0),
.SramCtrlMainInstrExec(1),
- .PinmuxAonTargetCfg(PinmuxTargetCfg)
+ .PinmuxAonTargetCfg(PinmuxTargetCfg),
+ .RomCtrlSkipCheck(RomCtrlSkipCheck)
) top_${top["name"]} (
.rst_ni ( aon_pok ),
// ast connections