cocotb_benches.dau_scratchpad_tb ================================ .. py:module:: cocotb_benches.dau_scratchpad_tb Attributes ---------- .. autoapisummary:: cocotb_benches.dau_scratchpad_tb.CAPACITY cocotb_benches.dau_scratchpad_tb._ROWS Functions --------- .. autoapisummary:: cocotb_benches.dau_scratchpad_tb.scratchpad_matches_golden cocotb_benches.dau_scratchpad_tb.scratchpad_overflow_closes_out_and_preserves_prefix cocotb_benches.dau_scratchpad_tb.scratchpad_negative_address_is_never_in_grant cocotb_benches.dau_scratchpad_tb.scratchpad_bad_grant_is_refused cocotb_benches.dau_scratchpad_tb.scratchpad_is_patient cocotb_benches.dau_scratchpad_tb.scratchpad_torn_row_reports_stream_error cocotb_benches.dau_scratchpad_tb._start cocotb_benches.dau_scratchpad_tb._run cocotb_benches.dau_scratchpad_tb._send_rows cocotb_benches.dau_scratchpad_tb._collect_output cocotb_benches.dau_scratchpad_tb._accept_status cocotb_benches.dau_scratchpad_tb._signed32 Module Contents --------------- .. py:data:: CAPACITY .. py:data:: _ROWS .. py:function:: scratchpad_matches_golden(dut) :async: .. py:function:: scratchpad_overflow_closes_out_and_preserves_prefix(dut) :async: .. py:function:: scratchpad_negative_address_is_never_in_grant(dut) :async: .. py:function:: scratchpad_bad_grant_is_refused(dut) :async: .. py:function:: scratchpad_is_patient(dut) :async: The binding LID requirement (STORAGE_AND_NOC.md backpressure rule 1): random relay-station delays on every channel change NOTHING about the emitted sequence. .. py:function:: scratchpad_torn_row_reports_stream_error(dut) :async: .. py:function:: _start(dut) -> None :async: .. py:function:: _run(dut, rows, *, granted_words, delay_seed=None) :async: .. py:function:: _send_rows(dut, rows, *, gap=None) -> None :async: .. py:function:: _collect_output(dut, *, stall=None) :async: .. py:function:: _accept_status(dut) :async: .. py:function:: _signed32(value: int) -> int