Line 292:
Line 292:
* ''Clk'': clock
* ''Clk'': clock
* ''/Rst'': asynchronous, active-low reset
* ''/Rst'': asynchronous, active-low reset
−
* ''State'': 3-bit state value
+
* ''state_in'': 3-bit state value
−
* ''TxRx_A'': 8-bit address from transceiver
+
* ''TxRx_D'': 8-bit data from transceiver
* ''TxRx_D'': 8-bit data from transceiver
* ''TxRx_Done'': pulse from transceiver to signal transfer complete
* ''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
+
−
internal signals
−
* ''S_En'': state enable, ''S_En'' <= not ''St(2)'' and ''St(1)'' and not ''St(0)''
−
* ''Go'': when ''S_En'' goes high ''Go'' pulses for one cycle
blocks
blocks
−
* '''Fetcher'''
+
* '''Register INT0RD (0x76)''' request via <tt>reqFromAddr</tt> pulsed by the ''LoopEn'' signal from Looper (below).
−
** Reads register 0x76 (INT0RD) by sending a read request to the transceiver
−
** inputs
−
*** ''F_Go'': pulse to start request, ''F_Go'' <= ''Go'' or ''Loop''
−
** outputs
−
*** ''TxRx_Go'': ''Go'' line on transceiver
−
*** ''TxRx_R/W'': ''R/W'' line on transceiver, tied high (read)
−
*** ''TxRx_A'': ''A_in'' bus on transceiver, tied to 0x76 (0111 0110)
−
**** Note: ''D_in'' on transceiver is not used; assume this line defaults to zero
* '''Looper'''
* '''Looper'''
** Switch to determine if this state should loop on itself or continue to the next state.
** Switch to determine if this state should loop on itself or continue to the next state.
Line 318:
Line 311:
*** ''TxRx_Data'': ''D_out'' bus from transceiver
*** ''TxRx_Data'': ''D_out'' bus from transceiver
** outputs
** outputs
−
*** ''Loop'': pulse to repeat fetch cycle; ''Loop'' <= ''S_En'' and ''TxRx_Done'' and ''TxRx_Data(6)''
+
*** ''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)''
*** ''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
*** ''New_St'': new state value to load into state register; goes to 011 when ''Done'' is high