chore: 删除无用测试文件与 ml-kem-r 痕迹

- 删除 top/TB 下已被 katK 参数化 TB 取代的增量开发 TB:
  tb_mlkem_kg_{2a,2c,2d,2e,2f,kat,katN}_xsim.v
- 删除依赖外部 ml-kem-r Rust 参考的向量生成 / 交叉校验脚本:
  gen_vectors.py / gen_encaps_vectors.py / gen_decaps_vectors.py /
  xcheck_mlkemr.py(KAT/golden 向量已提交,无需运行期依赖)
- 清理源码与文档注释中的 ml-kem-r / Rust 字样

保留的 5 个 TB(kg/enc/dec katK + hello_world + two_inst)即 run_tb.sh /
xsim_run.tcl 实际引用的全部。KeyGen KAT 与 hello_world 烟囱测试通过。
This commit is contained in:
2026-06-29 22:42:49 +08:00
parent df4d5cd572
commit 971ce97d50
15 changed files with 11 additions and 875 deletions

View File

@@ -103,7 +103,7 @@ module tb_mlkem_enc_katK_xsim;
// ---- E1: verify A_hat (slots 0..K^2-1). t_hat (byteDecode12) is re-
// verified at E6 (V uses it); TDEC is deferred to V-prep so e2 can use
// bank_t during C/N/U. A_hat equals KeyGen golden (K=2 c0). ----
// ---- E2: verify y[i], e1[i] (bank_se), e2 (bank_t slot_t) vs ml-kem-r.
// ---- E2: verify y[i], e1[i] (bank_se), e2 (bank_t slot_t) vs reference.
if (KP == 2 && casenum == 0) begin
// E1 (verify_e1) dropped: E6's TDEC overwrites bank_a (A_hat slots)
// with t_hat, so a post-run A_hat readback is invalid. A_hat is
@@ -164,7 +164,7 @@ module tb_mlkem_enc_katK_xsim;
ce = ce + 1;
end
end
if (ce == 0) $display("K=2 CASE 0 PASS (E2): e2 == ml-kem-r golden");
if (ce == 0) $display("K=2 CASE 0 PASS (E2): e2 == reference golden");
else $display("K=2 CASE 0 FAIL (E2): %0d e2 mismatches", ce);
end
endtask
@@ -184,7 +184,7 @@ module tb_mlkem_enc_katK_xsim;
ce = ce + 1;
end
end
if (ce == 0) $display("K=2 CASE 0 PASS (E3): y_hat[0..1] == ml-kem-r golden");
if (ce == 0) $display("K=2 CASE 0 PASS (E3): y_hat[0..1] == reference golden");
else $display("K=2 CASE 0 FAIL (E3): %0d coeff mismatches", ce);
end
endtask
@@ -204,7 +204,7 @@ module tb_mlkem_enc_katK_xsim;
ce = ce + 1;
end
end
if (ce == 0) $display("K=2 CASE 0 PASS (E4): u[0..1] == ml-kem-r golden");
if (ce == 0) $display("K=2 CASE 0 PASS (E4): u[0..1] == reference golden");
else $display("K=2 CASE 0 FAIL (E4): %0d coeff mismatches", ce);
end
endtask
@@ -231,7 +231,7 @@ module tb_mlkem_enc_katK_xsim;
endtask
// E6: v = INTT(sum_j t_hat[j] o y_hat[j]) + e2 + mu lives in bank_t rel slot
// UPSUM=1 -> dbg slot slot_t_rt+1 = 9 (K=2). Compare to ml-kem-r golden v.
// UPSUM=1 -> dbg slot slot_t_rt+1 = 9 (K=2). Compare to reference golden v.
reg [11:0] gv [0:255];
task verify_e6;
begin
@@ -245,7 +245,7 @@ module tb_mlkem_enc_katK_xsim;
ce = ce + 1;
end
end
if (ce == 0) $display("K=2 CASE 0 PASS (E6): v == ml-kem-r golden");
if (ce == 0) $display("K=2 CASE 0 PASS (E6): v == reference golden");
else $display("K=2 CASE 0 FAIL (E6): %0d coeff mismatches", ce);
end
endtask
@@ -259,7 +259,7 @@ module tb_mlkem_enc_katK_xsim;
be = 0;
// Dump the hardware-produced ct (read from ct_bram via dbg_ct tap),
// then compare to KAT.ct byte-exact. The $write loop prints the whole
// ciphertext on one line (byte 0 first), same format as ml-kem-r's
// ciphertext on one line (byte 0 first), same format as the reference's
// encaps_io example, so the two can be eyeballed / diffed.
$write(" ct = ");
for (i = 0; i < CTB; i = i + 1) begin