feat(poly_mul): implement synchronous PolyMul with base-case multiply
Phase 2.2: NTT-domain polynomial pointwise multiplication. - basecase_mul.v: degree-1 base-case multiply (c0,c1) with Barrett - poly_mul_zeta_rom.v: 128-entry zeta ROM for PolyMul - poly_mul_sync.v: FSM (IDLE→LOAD 256 cycles→COMPUTE 256 cycles→DONE) Verified: 5/5 vectors bit-exact vs Python PolyMul reference
This commit is contained in:
21
test_framework/modules/poly_mul/test_plan.json
Normal file
21
test_framework/modules/poly_mul/test_plan.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"module": "poly_mul",
|
||||
"rtl_top": "sync_rtl/poly_mul/poly_mul_sync.v",
|
||||
"rtl_deps": [
|
||||
"sync_rtl/poly_mul/basecase_mul.v",
|
||||
"sync_rtl/poly_mul/poly_mul_zeta_rom.v",
|
||||
"sync_rtl/ntt/barrett_mul.v"
|
||||
],
|
||||
"tb_cpp": "sync_rtl/poly_mul/TB/tb_poly_mul.cpp",
|
||||
"simulator": "verilator",
|
||||
"timeout_s": 300,
|
||||
"cases": [
|
||||
{
|
||||
"id": "basic",
|
||||
"description": "Pointwise multiply of two random NTT-domain polynomials, vs Python basecase_mul reference",
|
||||
"params": {},
|
||||
"num_vectors": 5,
|
||||
"tolerance": "bit_exact"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user