Difference between revisions of "FPGA Reset"
Senderovich (talk | contribs) m |
Senderovich (talk | contribs) m |
||
Line 44: | Line 44: | ||
* ''TxRx_Aout'': [out] EC control register address (8-bit) | * ''TxRx_Aout'': [out] EC control register address (8-bit) | ||
* ''TxRx_Dout'': [out] EC control register write value | * ''TxRx_Dout'': [out] EC control register write value | ||
− | * ''TxRx_RiW'': [out] | + | * ''TxRx_RiW'': [out] active-high read, active-low write flag |
* ''TxRx_Din'': [in] EC control register return value | * ''TxRx_Din'': [in] EC control register return value | ||
* ''TxRx_Done'': [in] "Done" signal from [[FPGA_Transceiver|Transceiver]]. | * ''TxRx_Done'': [in] "Done" signal from [[FPGA_Transceiver|Transceiver]]. | ||
* ''dbShort'': [in] debug signal to bypass EC reset waiting periods | * ''dbShort'': [in] debug signal to bypass EC reset waiting periods |
Revision as of 20:37, 30 May 2008
(00X) Reset Modules
The reset modules Reset_hard (000) and Reset_soft (001) coordinate various stages of the board reset. The former, analogous to the cold boot of a computer, performs the basic initial reset steps dealing mainly with the startup and configuration of the Ethernet Controller chip (EC). The latter module is a more customized second stage of full reset or just a soft reset that concerns the sensor and DAC chips. It also records the MAC address of the tagger-controlling PC for further communication. (This cannot be handled in the Reset_hard stage as all registers on the EC and FPGA are cleared and the PC's MAC address stamped on the hard reset packet (R-packet) cannot be saved)
The control packets type bytes leading to states 00X pertaining to these reset modules are:
Packet Type Byte | Effect on the FPGA | |||
---|---|---|---|---|
Type | Hex | Bin | State | Description |
R | 0x52 | 0101 0010 | 000 | "Reset_hard" instruction |
"R'" | 0xD2 | 1101 0010 | 001 | Essentially an 'R' byte with '1' in the MSB instructing the FPGA to enter a reset cycle of the soft kind. |
Programming Details
Ports
- Clk: [in] clock
Reset Signals
- Rst: [in] asynchronous reset
- Eth_iRst: [inout] EC active-low reset pin
- Eth_iINT: [in] EC active-low interrupt signal
State Register Control Lines
- state_En: [out] state register enable (write) signal
- state_D: [out] (3-bit) state register input
- state_Q: [in] (3-bit) state register output
MAC Address Register Control Lines
- MACregs_En: [out] register enable (write) signal
- MACregs_A: [out] byte address (4-bit)
- MACregs_D: [out] 8-bit input value
Transceiver Control Lines
- TxRx_Go: [out] "Go" signal to read/write an EC control register byte
- TxRx_Aout: [out] EC control register address (8-bit)
- TxRx_Dout: [out] EC control register write value
- TxRx_RiW: [out] active-high read, active-low write flag
- TxRx_Din: [in] EC control register return value
- TxRx_Done: [in] "Done" signal from Transceiver.
- dbShort: [in] debug signal to bypass EC reset waiting periods