mirror of
https://github.com/SikongJueluo/Mini-Nav.git
synced 2026-07-12 20:15:31 +08:00
fix(pipeline): add S_WAIT_READ_RESP state to fix read-noise PRNG timing
- Emit rd_valid_o for exactly one combinational cycle before waiting for read response, ensuring the read-noise PRNG advances once per batch issue - Fix query handshake: wait for query_ready before asserting query_valid to avoid valid&&ready handshake drops on clock edges - Add dynamic timeout estimation in test utilities based on DUT parameters - Update test-top Makefile to run all noise configurations by default - Remove uv run prefix from cocotb-config Makefile invocation
This commit is contained in:
@@ -35,6 +35,7 @@ from model.ref_model import (
|
||||
from tests.top.utils import (
|
||||
collect_topk,
|
||||
dut_hash_bits,
|
||||
dut_lanes,
|
||||
dut_num_rows,
|
||||
query_once,
|
||||
query_topk_once,
|
||||
@@ -44,7 +45,6 @@ from tests.top.utils import (
|
||||
write_rows,
|
||||
)
|
||||
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# 编译冒烟测试 — 验证 cam_top 能正确 elaborate
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
@@ -343,6 +343,8 @@ async def query_scan_blocks_writes_until_result_consumed(dut):
|
||||
dut.wr_valid.value = 0
|
||||
|
||||
# Consume full serial stream so the DUT returns idle
|
||||
beats = await collect_topk(dut, timeout_cycles=2000)
|
||||
beats = await collect_topk(
|
||||
dut, timeout_cycles=max(2000, (dut_num_rows(dut) // dut_lanes(dut)) * 24 + 100)
|
||||
)
|
||||
assert len(beats) > 0
|
||||
assert beats[-1][3] == 1 # last asserted
|
||||
|
||||
Reference in New Issue
Block a user