spi_master
SIZES (8, 16 default)
SIZES_LOG2 1
DIVISORS_LOG2 3
DIVISORS (2, 4, 8, 16, 32, 64, 128, 256)
CSN_PULSE_CYCLES (1 - divided clock cycle)
INOUTS
sck, miso, mosi
STATE
busy
err_lost_rx_data
clear_err_lost_rx_data
DATA
tx_en ( enable transmission. If disabled, mosi will be 'z', so miso and mosi can be connected )
tx_valid ( the data on tx_data are valid )
tx_ready ( ready to receive data. Receiving as soon as tx_valid is 1, the next edge will not be ready anymore)
tx_data ( the data to transmit )
rx_en ( reception can be disabled when you want to ignore the data )
rx_valid ( the data on rx_data are valid )
rx_confirm ( taking data from rx_data )
rx_data ( the data to receive. If data aren't received during next word, the communication is stalled! )
rx_block_on_full ( should rx block communication on full? if not, data can be lost if they are not read in time )
CONFIGURATION
en
clock_polarity
clock_phase
size_sel
div_sel
pulse_csn
STRUCTURE
tx: piso_register
rx: sipo_register
ctrl: spi_master_ctrl
clk_gen: spi_clkgen
spi_slave
tx: piso_register
rx: sipo_register
ctrl: spi_slave_ctrl
spi_dual
tx: piso_register
rx: sipo_register
master_ctrl: spi_master_ctrl
slave_ctrl: spi_slave_ctrl
clk_gen: spi_clkgen