smc_data_accelerator_wrap

Wrap the SMC DMA and zeroer with address-based demux and mux.

Adapts accelerator control and master data ports to the SMC fabric. Exposes status and clock-gater activity indicators alongside clock-gating control. The control demux decodes the DMA and zeroer windows from smc_top_addrmap_pkg and sends any other address to the DMA; the master mux prepends a source bit to the transfer IDs.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
DMA_BUFFER_DEPTHint unsigned16DMA buffer depth in beats.

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputlogicSMC core clock.
rst_niinputlogicPrimary reset, active-low, synchronized to the SMC core clock.
test_en_iinputlogicScan test mode enable, active-high; forwarded to the DMA, the zeroer, and the AXI demux and mux.
dma_cg_en_iinputlogicEnables idle clock gating of the DMA front end when high; while low its clock runs continuously.
zeroer_cg_en_iinputlogicEnables idle clock gating of the zeroer datapath when high; while low its clock runs continuously.
cg_hysteresis_iinputlogic [smc_pkg::CgHysteresisW-1:0]Idle SMC core clock cycles the DMA and zeroer clock gates wait after going idle before stopping their clocks.
ctrl_axi_req_iinputsmc_pkg::smc_local_32_64_8_12_axi_req_tControl request from the local crossbar for the DMA and zeroer register windows.
ctrl_axi_resp_ooutputsmc_pkg::smc_local_32_64_8_12_axi_resp_tControl response to the local crossbar.
mst_axi_req_ooutputsmc_pkg::smc_input_fabric_56_64_4_12_axi_req_tTransfer request from the DMA or zeroer into the input fabric.
mst_axi_resp_iinputsmc_pkg::smc_input_fabric_56_64_4_12_axi_resp_tTransfer response from the input fabric.
dma_busy_ooutputlogicHigh while the DMA front end or back end has a transfer in flight.
dma_intp_ooutputlogicDMA completion interrupt, a one-cycle pulse when dma_busy_o falls.
zeroer_busy_ooutputlogicHigh while the zeroer has work in flight.
zeroer_intp_ooutputlogicZeroer completion interrupt, a one-cycle pulse when zeroer_busy_o falls while its interrupt is enabled; held low when the zeroer enters its error state.
dma_frontend_clk_active_ooutputlogicHigh while the DMA front-end gated clock is running.
dma_frontend_bus_active_ooutputlogicHigh while the DMA control port has an AXI transaction outstanding.
zeroer_clk_active_ooutputlogicHigh while the zeroer datapath gated clock is running.
zeroer_bus_active_ooutputlogicHigh while the zeroer control bus has traffic.