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 |