FPGA Registers
State Register
A three-bit register to store the current state.
inputs
- Clk: clock
- Rst: asynchronous, reset to zero the register (puts system into reset state)
- En: write enable
- D: three-bit data-in bus
outputs
- Q: three-bit data-out bus
MAC Address Registers
A set of 12 8-bit registers to store the board's and PC's MAC addresses (in that order). Note that all bits of the register are set high upon reset as a simple way to ensure that packets sent to the PC before its address has been learned will be interpreted as a broadcast packet.
inputs
- Clk: clock
- Rst: asynchronous reset to zero the register
- En: write enable
- A: 3-bit address
- D: 12-bit data-in bus
outputs
- Q: 16-bit data-out bus (data pre-padded with 4 zeros to facilitate packaging into 2-byte words)
Temperature Register
A 10-bit register to store the most recent temperature data. A 16-bit word is actually returned for the convenience of other modules - the 10-bit value is pre-padded with zeros.
inputs
- Clk: clock
- Rst: asynchronous reset to zero the register
- En: write enable
- D: 10-bit data-in bus
outputs
- Q: 16-bit data-out bus (data pre-padded with 6 zeros to facilitate packaging into 2-byte words)
ADC Registers
A set of eight 12-bit registers to store the most recent ADC data. Also includes a demultiplexer to select which register to write to. In practice there is a 16-bit-wide bus on output: the 12-bit data is pre-padded with zeros for the convenience of other modules.
inputs
- Clk: clock
- Rst: asynchronous reset to zero the register
- En: write enable
- A: 3-bit address
- D: 12-bit data-in bus
outputs
- Q: 16-bit data-out bus (data pre-padded with 4 zeros to facilitate packaging into 2-byte words)
DAC Registers
A set of 32 14-bit registers to store the most recent DAC data. Also includes a demultiplexer to select which register to write to. In practice there is a 16-bit-wide bus on output: the 14-bit data is pre-padded with zeros for the convenience of other modules.
inputs
- Clk: clock
- Rst: asynchronous reset to zero the register
- En: write enable
- A: 5-bit address
- D: 14-bit data-in bus
outputs
- Q: 16-bit data-out bus (data pre-padded with 2 zeros to facilitate packaging into 2-byte words)