log_engine

DMA buffered log bytes to a UART under AXI-Lite CSR control.

The log region is split into NumLogEntries equal slots. Each non-zero LOG_CTRL LOG_LEN requests a transfer from its slot; an arbiter tree serves one entry at a time, and LOG_LEN clears when that transfer completes. log_fetch_axil reads log words from the slot; log_write_axil writes them to LOG_WRITE_ADDR. uart_tx_ready_i paces the writes; irq_o signals fetch or write errors; FIFO_DEPTH sizes the read-data FIFO.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
FIFO_DEPTHint unsigned4Entries in the read-data FIFO between log fetch and UART write.

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock, rising-edge triggered.
rst_niinputlogicActive-low reset. Assert asynchronously; deassert synchronously to clk_i. Resets the registers, state machines, counters and the FIFO.
csr_axil_req_iinputcsr_axil_req_tCsr AXI-Lite req (AXI4-Lite Register Interface).
csr_axil_resp_ooutputcsr_axil_resp_tCsr AXI-Lite resp.
log_fetch_axil_req_ooutputlog_fetch_axil_req_tLog fetch AXI-Lite req (AXI4-Lite Log Fetch Interface).
log_fetch_axil_resp_iinputlog_fetch_axil_resp_tLog fetch AXI-Lite resp.
log_write_axil_req_ooutputlog_write_axil_req_tLog write AXI-Lite req (AXI4-Lite Log Write Interface).
log_write_axil_resp_iinputlog_write_axil_resp_tLog write AXI-Lite resp.
uart_tx_ready_iinputlogicUart tx ready, active-high (DMA Interface). The engine writes a log word only while it is high, so the UART TX FIFO never overflows.
irq_ooutputlogicInterrupt request, active-high. High while any INTR_STATUS bit enabled in INTR_ENABLE is set.