FPGA Idler

From UConn PAN
Revision as of 18:58, 16 May 2008 by Senderovich (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

(010) Idle

Block 010 continuously polls the interrupt registers on the CP2200/1 until the Receive FIFO Empty flag comes back as a zero. On this condition it transitions to state 011.

inputs

  • Clk: clock
  • /Rst: asynchronous, active-low reset
  • state_in: 3-bit state value
  • TxRx_D: 8-bit data from transceiver
  • TxRx_Done: pulse from transceiver to signal transfer complete
  • TxRx_Go: transceiver go line
  • TxRx_R/W: read/write flag for transceiver
  • TxRx_Aout: register address bus for transceiver


blocks

  • Request INT0RD (0x76) register via reqFromAddr pulsed by the LoopEn signal from Looper (below).
  • Looper
    • Switch to determine if this state should loop on itself or continue to the next state.
    • inputs
      • S_En: state enable
      • TxRx_Done: Done pulse from transceiver
      • TxRx_Data: D_out bus from transceiver
    • outputs
      • LoopEn: pulse to repeat fetch cycle; Loop <= S_En and TxRx_Done and TxRx_Data(6)
      • Done: pulse to finish state; connects to state counter as an enable; Done <= S_En and TxRx_Done and not TxRx_Data(6)
      • New_St: new state value to load into state register; goes to 011 when Done is high