wiki:OFDM/MIMO/Docs/ModelPorts

Version 9 (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

These ports are provided for real-time debugging of the PHY. The multi-bit ports are intended for use with a WARP analog board. Single-bit ports are usually routed to the 16-bit digital debug header on the WARP FPGA board for observation on an oscilloscope. Some version of the OFDM core will include additional debug ports which may be removed later, depending on our requirements during development.

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