wiki:OFDM/MIMO/Docs/ModelPorts

Version 7 (modified by murphpo, 16 years ago) (diff)

--

MIMO OFDM | Documentation? | OFDM Model Top-level Ports

Clocks

The entire MIMO OFDM model is driven by a single clock and has one top-level clock enable. The clock signal connected to opb_clk must be the same clock which drives the ADC/DACs on the radio daughtercards and the converter_clock_in port on the corresponding radio_bridge cores.

PortDefaultDirectionWidth
opb_clksys_clk_sInput1
cenet_vccInput1

OPB Interface Ports

The model includes a standard OPB slave interface. This interface is used to connect the OFDM core to an embedded PowerPC or Microblaze processor in the FPGA. This interface must be connected to a processor in order to use the OFDM core in hardware.

PortDefaultDirectionWidth
opb_abusOPB_ABusInput32
opb_beOPB_BEInput4
opb_dbusOPB_DBusInput32
opb_rnwOPB_RNWInput1
opb_rstOPB_RstInput1
opb_selectOPB_selectInput1
opb_seqaddrOPB_seqAddrInput1
sgp_dbusSl_DBusOutput32
sgp_errackSl_errAckOutput1
sgp_retrySl_retryOutput1
sgp_toutsupSl_toutSupOutput1
sgp_xferackSl_xferAckOutput1

BRAM Interface Ports

The model includes a BRAM initiator interface, used to access the shared PLB_BRAM packet buffer. The packet buffer is not included in the OFDM design; it must be instantiated in the EDK project and connected to the OFDM core via these ports.

PortDefaultDirectionWidth
bram_addrBRAM_AddrOutput32
bram_datainBRAM_DinInput64
bram_doutBRAM_DoutOutput64
bram_resetBRAM_RstOutput1
bram_wenBRAM_WENOutput8

OFDM Core

The OFDM core uses dedicated top-level ports to interface with other peripheral cores. Some of these signals are connected to radio bridges, which route the signals off-chip to radio daughtercards. The rest connect to other custom cores for radio-specific PHY functions like AGC and packet detection.

PortDefaultDirectionWidthNotes
rx_anta_adci_dv4Input14I channel ADC input from antenna A; data must be donwsampled to 1/4 the master clock
rx_anta_adcq_dv4Input14Q channel ADC input from antenna A; data must be donwsampled to 1/4 the master clock
rx_antb_adci_dv4Input14I channel ADC input from antenna B; data must be donwsampled to 1/4 the master clock
rx_antb_adcq_dv4Input14Q channel ADC input from antenna B; data must be donwsampled to 1/4 the master clock
rx_extpktdet Input1External packet detection input; high input indicates a probable arriving packet
rx_int_badpktOutput1Interrupt output signaling a received packet failed CRC
rx_int_goodpktOutput1Interrupt output signaling a received packet passed CRC and is ready for higher-layer processing
rx_int_goodheaderOutput1Interrupt output signaling a received packet's header was error-free; only asserts for packets with a payload beyond the header
rx_pktdetreset Output1Active-high output indicating that packet detection events should be ignored while the PHY is busy
rx_reset Input1Active-high global reset input; clears all internal state in the receiver model; does not clear register values
rx_anta_agc_doneInput1Status signal from AGC core for antenna A; asserts high when AGC has settled
rx_anta_gainbbInput5Baseband gain value in [0...63] chosen by AGC on antenna A. Only valid after rx_antb_agc_done asserts
rx_anta_gainrfInput2RF gain value in [1,2,3] chosen by AGC on antenna A. Only valid after rx_antb_agc_done asserts
rx_antb_agc_doneInput1Status signal from AGC core for antenna A; asserts high when AGC has settled
rx_antb_gainbbInput5Baseband gain value in [0...63] chosen by AGC on antenna B. Only valid after rx_antb_agc_done asserts
rx_antb_gainrfInput2RF gain value in [1,2,3] chosen by AGC on antenna B. Only valid after rx_antb_agc_done asserts
tx_anta_dac_iOutput16I channel DAC output for antenna A; output runs at same rate as master clock
tx_anta_dac_qOutput16Q channel DAC output for antenna A; output runs at same rate as master clock
tx_antb_dac_iOutput16I channel DAC output for antenna B; output runs at same rate as master clock
tx_antb_dac_qOutput16Q channel DAC output for antenna B; output runs at same rate as master clock
tx_resetInput1Active-high global reset input; clears all internal state in the transmitter model; does not clear register values
tx_starttransmit Input1Active-high trigger to begin transmission of a packet; usually tied to one of the radio controller's TxStart outputs

Debugging Ports

PortDefaultDirectionWidthNotes
debug_chipscopetrig Input1External active-high trigger for ChipScope ILA core in the receiver
rx_debug_eq_iOuput14I channel of equalized symbols; usually tied to an analog daughtercard for real-time debugging
rx_debug_eq_qOuput14Q channel of equalized symbols; usually tied to an analog daughtercard for real-time debugging
rx_debug_payload Output1Copy of receiver's Payload signal; indicates receiver is currently processing a packet
rx_debug_pktdone Output1Copy of receiver's PktDone signal; indicates receiver has finished processing a packet
tx_debug_pktrunning Output1Copy of transmitter's PktRunning signal; indicates transmitter is actively transmitting a packet