feat(tb): add KAT testbench for mlkem_top (ML-KEM-512)

- gen_vectors.py: parse kat_MLKEM_512.rsp, generate hex vectors
- tb_mlkem_top_xsim.v: force-inject d/msg/z for KAT testing
- mlkem_top_input.hex: 5 vectors (d + msg + z)
- mlkem_top_expected.hex: 5 vectors (pk + sk + ct + ss)
- xsim_run.tcl: full dependency chain compilation

Known issue: mlkem_top FSM has combinational race on rng_valid_i
- rng_valid_i driven by state_r (registered) causes rng_sync
  to miss valid_i pulse when state transitions at posedge
- Fix: change rng_valid_i to use state_next pattern
  (same as sha3_top uses state_next for kc_valid_i)
This commit is contained in:
2026-06-27 01:07:34 +08:00
parent e3e02fc7ee
commit 0e6798beb5
5 changed files with 852 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,5 @@
6dbbc4375136df3b07f7c70e639e223e177e7fd53b161b3f4d57791794f1262420a7b7e10f70496cc38220b944def699bf14d14e55cf4c90a12c1b33fc80fffff696484048ec21f96cf50a56d0759c448f3779752f0383d37449690694cf7a68
d69cfc64f84d4f33e4c54e166b7ff9283a394986a539b23987a10f39d2d9689b0121cb32acd1871135cb34e29c1a0e26ccc001b939eafaacc28f13f1938dbf916de62e3465a55c9c78a07d265be8540b3e58b0801a124d07ff12b438d5202ea0
63470357110828f25b23edc80ed280ecd398a9f53251c3332754de2af0b15e9034b961af5d6254af72c0d50e70dd9b4991150ccc09192aa46f1953d5c29a33ec1eaae6bb91b27cd748c402c4111140d5a942cf3c95ff7977f88d2ef515bb26d0
89b0c4b23019af3498a27da290892d981dd59fa08993bc05da21e1d72503664c0f4a070a0116194e267437545569d94aa5b2e4400645d5de88c504b9dbb1455eb585d4eb01085111a172a87688d0032e3381a9e9a35fdd6ef2f8aeb3b40eb5ce
8d45a2ab49d8c20d4ab5680e5c9d9d0cc9ca8228484946f9afce5b8df6f39d19b3dbb0bf61a5230dc0ab9f1d21d5c16566ff9ad805a5e1eb7b2d6913d4cd5607a9f93c7b791356b66afcceb745a548c7f6b185e4f45ec1ff1a22acdd96e7a6d8