[rom_ctrl] Instantiate scrambling primitives for rom_ctrl Also update SW build scripts so that we install the scrambled binaries to build-bin as well and update all the documentation examples to show how to use the new filename. Note that we don't update top_englishbreakfast to match: that doesn't have a rom_ctrl, so shouldn't take a scrambled ROM image. Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv index 7e7698f..7aac243 100644 --- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv +++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -2274,7 +2274,9 @@ rom_ctrl #( .AlertAsyncOn(alert_handler_reg_pkg::AsyncOn[30:30]), - .BootRomInitFile(RomCtrlBootRomInitFile) + .BootRomInitFile(RomCtrlBootRomInitFile), + .RndCnstScrNonce(RndCnstRomCtrlScrNonce), + .RndCnstScrKey(RndCnstRomCtrlScrKey) ) u_rom_ctrl ( // [30]: fatal .alert_tx_o ( alert_tx[30:30] ),
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey_rnd_cnst_pkg.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey_rnd_cnst_pkg.sv index 12dbfc5..01fb60b 100644 --- a/hw/top_earlgrey/rtl/autogen/top_earlgrey_rnd_cnst_pkg.sv +++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey_rnd_cnst_pkg.sv
@@ -228,4 +228,17 @@ 256'hA46ED80E5942BC02513FBDFD5A98A66805BC17DDED6CCD3271A3E37A08C92847 }; + //////////////////////////////////////////// + // rom_ctrl + //////////////////////////////////////////// + // Fixed nonce used for address / data scrambling + parameter bit [63:0] RndCnstRomCtrlScrNonce = { + 64'hFC00DE9D9734C3FE + }; + + // Randomised constant used as a scrambling key for ROM data + parameter bit [127:0] RndCnstRomCtrlScrKey = { + 128'h23C074E020FD502869582E71443C8BE0 + }; + endpackage : top_earlgrey_rnd_cnst_pkg