sep_io

Demux SEP IO register AXI onto SPI and an error slave.

The 64-bit AXI4 slave is downsized to 32 bits and converted to AXI-Lite. The local crossbar sends only the SPI controller register extent here, and that extent goes to a single-chip-select sep_ot_spi_wrap. The error slave answers the beats of a burst that run past the extent: DECERR with read data 0xBADCAB1E on a read, and SLVERR on a write, since the AXI-Lite converter answers every write error with SLVERR. NUM_COMPONENTS sizes the IO fabric. NumSlaves is NUM_COMPONENTS + 1 for the error slave. sep_io_spi_req_o / sep_io_spi_rsp_i carry the SPI pad request/response struct, which also holds the SPI interrupt and DMA trigger.

Parameters

Table 1. Parameters
NameTypeDefaultDescription
NUM_COMPONENTSint unsigned1Number of IO fabric components; the decode serves only the SPI controller, so only 1 is supported.
NumSlavesint unsignedNUM_COMPONENTS + 1IO fabric slaves including the error slave.

Ports

Table 2. Ports
NameDirectionTypeDescription
clk_iinputlogicSystem clock.
rst_niinputlogicActive-low reset.
test_en_iinputlogicDFT test-enable (scan-enable).
sep_io_axi_req_iinputsep_pkg::sep_32_64_6_12_axi_req_tFull AXI4 slave from local crossbar (register access).
sep_io_axi_resp_ooutputsep_pkg::sep_32_64_6_12_axi_resp_tResponse to the local crossbar.
sep_io_spi_req_ooutputsep_io_pkg::sep_io_spi_req_tSPI pad outputs (clock, chip select, 4 data lanes and their output enables), plus the SPI interrupt and DMA trigger.
sep_io_spi_rsp_iinputsep_io_pkg::sep_io_spi_rsp_tSPI data-lane inputs from the pads.