Changes

Jump to navigation Jump to search
m
no edit summary
Line 56: Line 56:  
=== Non-State Components ===
 
=== Non-State Components ===
   −
* '''transceiver'''
+
==== transceiver ====
** This block provides a level of abstraction between the precise CP2200/1 interface and a generalized interface seen by the internal blocks of the FPGA.  It takes information on the next transfer to carry out and returns information on the last transfer completed.  It has a pulse signal to begin a transfer and a pulse signal to notify of a completed transfer.  This eliminates a need for the internal workings of the FPGA to be aware of the timing of the interface; it simply begins a transfer and waits for notification of the transfer's completion.  The transceiver is intended to function on the Multiplexed Intel bus format to communicate with the CP2200/1.
+
 
** inputs
+
This block provides a level of abstraction between the precise CP2200/1 interface and a generalized interface seen by the internal blocks of the FPGA.  It takes information on the next transfer to carry out and returns information on the last transfer completed.  It has a pulse signal to begin a transfer and a pulse signal to notify of a completed transfer.  This eliminates a need for the internal workings of the FPGA to be aware of the timing of the interface; it simply begins a transfer and waits for notification of the transfer's completion.  The transceiver is intended to function on the Multiplexed Intel bus format to communicate with the CP2200/1.
*** ''CLK'': clock
+
 
*** ''/Rst'': asynchronous, active-low reset
+
inputs
*** ''Go'': pulse to begin a transmission
+
* ''CLK'': clock
*** ''R/W_in'': read/write toggle: active-high read, active-low write
+
* ''/Rst'': asynchronous, active-low reset
*** ''A_in'': 8-bit bus for address to read to/write from
+
* ''Go'': pulse to begin a transmission
*** ''D_in'': 8-bit bus for data to write; ignored during a read
+
* ''R/W_in'': read/write toggle: active-high read, active-low write
** outputs to internals
+
* ''A_in'': 8-bit bus for address to read to/write from
*** ''Done'': pulse to signal completion of a transmission
+
* ''D_in'': 8-bit bus for data to write; ignored during a read
*** ''R/W_out'': read/write flag: active-high read, active-low write
+
 
*** ''A_out'': 8-bit bus for address of last read/write
+
outputs to internals
*** ''D_out'': 8-bit bus for data of last read; internal systems should ignore for a write
+
* ''Done'': pulse to signal completion of a transmission
** outputs to CP2200/1
+
* ''R/W_out'': read/write flag: active-high read, active-low write
*** ''/CS'': active-low chip select
+
* ''A_out'': 8-bit bus for address of last read/write
*** ''MotEn'': Motorola/Intel format toggle: active-high Motorola, active-low Intel
+
* ''D_out'': 8-bit bus for data of last read; internal systems should ignore for a write
*** ''MuxEn'': Multiplexed flag; not used for CP2201
+
 
*** ''ALE'': ALE strobe
+
* outputs to CP2200/1
*** ''/Wr'': Active-low write flag
+
* ''/CS'': active-low chip select
*** ''/Rd'': Active-low read flag
+
* ''MotEn'': Motorola/Intel format toggle: active-high Motorola, active-low Intel
** inouts
+
* ''MuxEn'': Multiplexed flag; not used for CP2201
*** ''AD'': 8-bit address and data bus
+
* ''ALE'': ALE strobe
* '''state register'''
+
* ''/Wr'': Active-low write flag
** A three-bit register to store the current state.
+
* ''/Rd'': Active-low read flag
** inputs
+
 
*** ''Clk'': clock
+
inouts
*** ''/Rst'': asynchronous, active-low reset to zero the register (puts system into reset state)
+
* ''AD'': 8-bit address and data bus
*** ''En'': write enable
+
 
*** ''D'': three-bit data-in bus
+
==== State Register ====
** outputs
+
A three-bit register to store the current state.
*** ''Q'': three-bit data-out bus
+
inputs
* '''temperature register'''
+
* ''Clk'': clock
** A 16-bit register to store the most recent temperature data.
+
* ''/Rst'': asynchronous, active-low reset to zero the register (puts system into reset state)
** inputs
+
* ''En'': write enable
*** ''Clk'': clock
+
* ''D'': three-bit data-in bus
*** ''/Rst'': asynchronous, active-low reset to zero the register (puts system into reset state)
+
 
*** ''En'': write enable
+
outputs
*** ''D'': ten-bit data-in bus
+
* ''Q'': three-bit data-out bus
** outputs
+
 
*** ''Q'': ten-bit data-out bus
+
==== temperature register ====
* '''ADC registers'''
+
A 16-bit register to store the most recent temperature data.
** A set of eight 16-bit registers to store the most recent ADC data.  Also includes a demultiplexer to select which register to write to.
+
inputs
** inputs
+
* ''Clk'': clock
*** ''Clk'': clock
+
* ''/Rst'': asynchronous, active-low reset to zero the register (puts system into reset state)
*** ''/Rst'': asynchronous, active-low reset to zero the register (puts system into reset state)
+
* ''En'': write enable
*** ''En'': write enable
+
* ''D'': ten-bit data-in bus
*** ''S'': 3-bit select bus
+
 
*** ''D'': 12-bit data-in bus
+
outputs
** outputs
+
* ''Q'': ten-bit data-out bus
*** ''Q'': 12-bit data-out bus; outputs data of register chosen by S bus
+
 
* '''DAC registers'''
+
==== ADC registers ====
** A set of 32/24/16 16-bit registers to store the most recent DAC data.  Also includes a demultiplexer to select which register to write to.
+
A set of eight 16-bit registers to store the most recent ADC data.  Also includes a demultiplexer to select which register to write to.
** inputs
+
inputs
*** ''Clk'': clock
+
* ''Clk'': clock
*** ''/Rst'': asynchronous, active-low reset to zero the register (puts system into reset state)
+
* ''/Rst'': asynchronous, active-low reset to zero the register (puts system into reset state)
*** ''En'': write enable
+
* ''En'': write enable
*** ''S'': 5/5/4-bit select bus
+
* ''S'': 3-bit select bus
*** ''D'': 14-bit data-in bus
+
* ''D'': 12-bit data-in bus
** outputs
+
 
*** ''Q'': 14-bit data-out bus; outputs data of register chosen by S bus
+
outputs
 +
* ''Q'': 12-bit data-out bus; outputs data of register chosen by S bus
 +
 
 +
==== DAC registers ====
 +
A set of 32/24/16 16-bit registers to store the most recent DAC data.  Also includes a demultiplexer to select which register to write to.
 +
inputs
 +
* ''Clk'': clock
 +
* ''/Rst'': asynchronous, active-low reset to zero the register (puts system into reset state)
 +
* ''En'': write enable
 +
* ''S'': 5/5/4-bit select bus
 +
* ''D'': 14-bit data-in bus
 +
 
 +
outputs
 +
* ''Q'': 14-bit data-out bus; outputs data of register chosen by S bus
 +
 
 +
==== Reusable Components ====
 +
 
 +
===== Components Interface with Transceiver =====
 +
 
 +
 
 +
===== Miscellaneous Components =====
    
=== (000) Reset Cycle ===
 
=== (000) Reset Cycle ===
1,004

edits

Navigation menu