diff --git a/create_project.tcl b/create_project.tcl index 96716bc..b07253e 100644 --- a/create_project.tcl +++ b/create_project.tcl @@ -2,7 +2,7 @@ # 顶层 mlkem_top 及其全部叶子算子与参数化 KAT testbench。 # # 与已验证的 XSIM 流程(sync_rtl/top/TB/xsim_run.tcl)保持一致: -# - 仅加载 mlkem_top 实际依赖的 14 个源文件 +# - 加载 mlkem_top 实际依赖的全部 RTL 源文件(含 sd_bram 存储) # - 顶层仿真模块 = tb_mlkem_kg_katK_xsim # - 运行时安全等级由 generic KP(2/3/4)选择,用例号由 +CASE 选择 # @@ -30,7 +30,7 @@ create_project -force ${PROJECT_NAME} ${PROJECT_DIR}/vivado_prj set_property target_simulator XSim [current_project] # =================================================================== -# RTL 源文件 —— 与 xsim_run.tcl 完全一致的 14 个文件 +# RTL 源文件 —— 与 xsim_run.tcl 完全一致 # =================================================================== # ── SHA3 / Keccak ── @@ -53,6 +53,9 @@ read_verilog -sv ${PROJECT_DIR}/sync_rtl/poly_mul/basecase_mul.v read_verilog -sv ${PROJECT_DIR}/sync_rtl/poly_mul/poly_mul_zeta_rom.v read_verilog -sv ${PROJECT_DIR}/sync_rtl/poly_mul/poly_mul_sync.v +# ── 存储(ek/dk 字节缓冲,registered-read BRAM)── +read_verilog -sv ${PROJECT_DIR}/sync_rtl/storage/sd_bram.v + # ── 顶层 KeyGen 集成 ── read_verilog -sv ${PROJECT_DIR}/sync_rtl/top/mlkem_top.v @@ -107,7 +110,13 @@ set_property -name {xsim.simulate.xsim.more_options} \ puts "========================================" puts " Project created: ${PROJECT_DIR}/vivado_prj/${PROJECT_NAME}.xpr" puts " 仿真配置: ML-KEM K=${SIM_KP}, KAT CASE=${SIM_CASE}" -puts " 运行仿真: launch_simulation; run all" +puts "" +puts " 运行仿真(runtime=all,会自动跑到 TB 的 \$finish):" +puts " - GUI: 打开工程后点 Run Simulation,或 Tcl Console: launch_simulation" +puts " - batch: vivado -mode batch -source create_project.tcl 后," +puts " 另开: open_project vivado_prj/mlkem.xpr; launch_simulation" +puts " (勿在 launch_simulation 后再手动 run all —— 仿真已到 \$finish," +puts " 再 run 会触发 TB 的 120ms 看门狗误报 timeout)" puts " 期望输出: K=${SIM_KP} CASE ${SIM_CASE} PASS: ek==pk, dk==sk" puts "" puts " 切换配置(如 K=4):编辑脚本顶部 SIM_KP/SIM_CASE 重跑本脚本,"