diff --git a/run_enc.sh b/run_enc.sh index 42e6225..0f5c40a 100755 --- a/run_enc.sh +++ b/run_enc.sh @@ -21,27 +21,15 @@ export LD_PRELOAD="${LD_PRELOAD}${LD_PRELOAD:+:}/usr/lib64/libtinfo.so.5" cd "$SCRIPT_DIR" rm -rf xsim.dir .Xil -# Compile every xvlog RTL line from the KeyGen tcl (same datapath), verbatim. +# Compile every xvlog RTL line from the KeyGen tcl (same datapath, now incl. +# pipeline_reg + comp_decomp_sync + mlkem_top), skipping only the KeyGen TB. TCL="sync_rtl/top/TB/xsim_run.tcl" while read -r cmd; do [[ "$cmd" == *tb_mlkem_kg_katK* ]] && continue # skip the KeyGen TB - [[ "$cmd" == *mlkem_top.v* ]] && continue # defer top until comp_decomp compiled echo " $cmd" eval "$cmd" || { echo "COMPILE FAILED: $cmd"; exit 1; } done < <(grep -E '^xvlog ' "$TCL") -# Encaps-only leaf: comp_decomp_sync (compress) + its pipeline_reg dep. -for f in sync_rtl/common/pipeline_reg.v sync_rtl/comp_decomp/comp_decomp_sync.v; do - [[ -f "$f" ]] || continue - echo " xvlog -sv --relax -i . $f" - xvlog -sv --relax -i . "$f" || { echo "COMPILE FAILED: $f"; exit 1; } -done - -# Now compile the top (depends on comp_decomp_sync). -echo " xvlog -sv --relax -i . sync_rtl/top/mlkem_top.v" -xvlog -sv --relax -i . sync_rtl/top/mlkem_top.v \ - || { echo "TOP COMPILE FAILED"; exit 1; } - # Compile the encaps TB echo " xvlog -sv --relax sync_rtl/top/TB/tb_mlkem_enc_katK_xsim.v" xvlog -sv --relax sync_rtl/top/TB/tb_mlkem_enc_katK_xsim.v \ diff --git a/sync_rtl/top/TB/xsim_run.tcl b/sync_rtl/top/TB/xsim_run.tcl index d426b1c..1dc3572 100644 --- a/sync_rtl/top/TB/xsim_run.tcl +++ b/sync_rtl/top/TB/xsim_run.tcl @@ -20,6 +20,8 @@ xvlog -sv --relax -i . sync_rtl/poly_mul/basecase_mul.v xvlog -sv --relax -i . sync_rtl/poly_mul/poly_mul_zeta_rom.v xvlog -sv --relax -i . sync_rtl/poly_mul/poly_mul_sync.v xvlog -sv --relax -i . sync_rtl/storage/sd_bram.v +xvlog -sv --relax -i . sync_rtl/common/pipeline_reg.v +xvlog -sv --relax -i . sync_rtl/comp_decomp/comp_decomp_sync.v xvlog -sv --relax -i . sync_rtl/top/mlkem_top.v # ---- Step 2: compile parametric KAT testbench ----