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
22 lines
556 B
JSON
22 lines
556 B
JSON
{
|
|
"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"
|
|
}
|
|
]
|
|
}
|