The old script referenced 5 non-existent files (keccak_arbiter,
sha3_chain_top_shared, tb_mlkem_top_xsim, tb_kg/en/de) and stale
vectors, so read_verilog/elaborate failed outright.
Rewrite to mirror the verified XSIM flow (sync_rtl/top/TB/xsim_run.tcl):
- load exactly the 14 sources mlkem_top depends on
- sim top = tb_mlkem_kg_katK_xsim, runtime K via generic KP, case via
-testplusarg CASE
- copy KAT vectors into the xsim working dir via xsim.compile.tcl.pre
(the only hook in 2019.2 that runs before $readmemh; an appended
-tclbatch runs after Vivado's own 'run all', too late)
- drop duplicate --relax (XSim adds it; passing again is an error)
Verified through the actual Vivado batch project flow:
K=2 CASE 0 -> PASS (21403 cyc), K=4 CASE 2 -> PASS (54059 cyc),
0 file-not-found warnings. gitignore the generated vivado_prj/.
Also rewrite README.md in Chinese documenting the mlkem_top workflow
and test flow.
39 lines
556 B
Plaintext
39 lines
556 B
Plaintext
# Verilator build artifacts
|
|
obj_dir/
|
|
*/obj_dir/
|
|
|
|
# Python cache
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# Test framework outputs
|
|
test_framework/reports/report_*.html
|
|
test_framework/modules/*/vectors/*.hex
|
|
|
|
# XSIM testbench result dumps (regenerated by simulation)
|
|
sync_rtl/**/TB/vectors/*_result.hex
|
|
|
|
# Vivado XSIM simulation artifacts
|
|
xsim.dir/
|
|
*.jou
|
|
*.log
|
|
*.pb
|
|
*.wdb
|
|
*.backup.jou
|
|
*.backup.log
|
|
.Xil/
|
|
webtalk*.jou
|
|
webtalk*.log
|
|
xelab.pb
|
|
xvlog.pb
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Session runtime continuation cache
|
|
.omo/
|
|
|
|
# Generated Vivado project (create_project.tcl)
|
|
vivado_prj/
|