817 B
817 B
修复 KeyGen 计算路径
Goal
修复 mlkem_top.v 中 KeyGen 的占位状态,实现 t_hat、pk、sk 的实际计算,使 ./run_tb.sh top 中 KeyGen 产生非零输出。
Current Issues
- KeyGen 的 t_hat 计算(poly_mul + poly_arith)是占位:
phase_done <= 1'b1 pk_o_r/sk_o_r从未被赋值(默认 0)rng_valid_i竞态(可能已跨过,仿真确认 FSM 在跑)
Fix Plan
- 实现
S_KG_TMUL_LOAD/COMP/OUT状态 → 调用 poly_mul_sync 计算 t_hat - 实现
S_KG_ADD→ 调用 poly_arith_sync - 在
S_KG_DONE中赋值pk_o_r = {t_hat polys, rho}和sk_o_r = {s_hat polys} - 验证:
./run_tb.sh topKeyGen 输出非零
Out of Scope
- Encaps/Decaps 修复
- pk/sk ByteEncode 编码(先输出 raw 12-bit coeffs)
- KAT 数值完全匹配