The Data Register models a clocked data register with a load (enable) input. The clock edge for the register can be set with the Trigger Condition parameter to be a rising edge (0_TO_1) or a falling edge (1_TO_0). The set/reset events can be configured to be asynchronous or synchronous to the clock with the Set/Reset Type parameter. The active logic levels of the inputs can be configured with the Set/Reset Level and Load Level parameters.
For the Data Register with both asynchronous and synchronous set and reset inputs, see Data Register with both Sync and Async Set/Reset.
In this topic:
Model Name: | Data Register | |||
Simulator: | This device is compatible with the SIMPLIS simulator. | |||
Parts Selector Menu Location: | ||||
Symbol Library: | None - the symbol is automatically generated when placed or edited. | |||
Model Library: | None - the model is automatically generated when the simulation is run. | |||
Subcircuit Names: |
|
|||
Symbol: |
|
|||
Multiple Selections: | Only one device at a time can be edited. |
To configure the Data Register, follow these steps:
Label | Parameter Description |
Clock to Output Delay | Delay from the triggering clock event until the Register outputs change |
Number of Bits | Number of input bits to the Register |
Trigger Condition | Determines the
triggering condition of the Register clock pin:
|
Ground Ref | Determines whether or not a device has a ground reference pin. Any digital component that has an input or output pin connected to an analog circuit node must have its Ground Ref pin connected to an analog node. This is usually the ground on the schematic. |
Minimum Clk Width | Minimum valid clock width. Clock widths less than this parameter will not trigger the Register. |
Setup Time | Minimum time before the triggering clock event that the input signals must remain steady so that a valid change in each input state is recognized. |
Hold Time | Minimum time after the triggering clock event that the input signals must remain steady so that a valid change in each input state is recognized. |
Initial Condition | Initial condition of the Register output at time=0 |
Load/Shift Level | Determines the logic
level of the shift register load/shift ( LD/SH ) pin:
|
To define the parameters for the Set/Reset, follow these steps:
Label | Parameter Description | ||||||
Set/Reset Delay | Delay from when the SET or RST pin goes active until the Q output is actually set or reset. | ||||||
Set/Reset Level | Determines the
Set/Reset level of a device:
|
||||||
Set/Reset Type | Determines whether or
not output events are synchronized with a clock event:
|
||||||
Set To | Determines the value of the counter output when the SET pin goes active. To set to the maximum count value, assign a value of -1. | ||||||
Reset To | Determines the value of the counter output when the RST pin goes active. To reset to 0, assign a assign value of -1 or 0. |
To define the parameters for the interface between this digital component and each analog component connected directly to an input or output pin, follow these steps:
Label | Parameter Description | |||||||
Input Resistance | Input resistance of each Register input pin | |||||||
Hysteresis, Threshold | Hysteresis and
Threshold of the inputs. The hysteretic-window width, HYSTWD
is centered around Threshold (TH) voltage. To
determine the actual threshold ( TL , THI ),
substitute Threshold (TH) and Hysteresis
(HYSTWD) in each of the following formulas:
|
|||||||
Output Resistance | Output resistance of each Register output pin | |||||||
Output High Voltage | Output high voltage for each Register output pin | |||||||
Output Low Voltage | Output high voltage for each Register output pin |
The truth tables below show the logic behavior with asynchronous and synchronous set/reset.
The following truth table assumes these parameter values:
Inputs | Output | Action | |||
LOAD | ASET | ARST | CLK | Q | |
0 | 0 | 0 | Last Q | Retain state | |
1 | 0 | 0 | Data input | Load data | |
0 or 1 | 1 | 0 | 0 or 1 | Asynchronous Set To value | Asynchronous set |
0 or 1 | 0 | 1 | 0 or 1 | Asynchronous Reset To value | Asynchronous reset |
0 or 1 | 1 | 1 | 0 or 1 | Last Q | Illegal concurrent ASET and ARST |
The following truth table assumes these parameter values:
Inputs | Output | Action | |||
LOAD | SET | RST | CLK | Q | |
0 | 0 | 0 | Last Q | Retain state | |
1 | 0 | 0 | Data input | Load data | |
0 or 1 | 1 | 0 | Synchronous Set To value | Synchronous set | |
0 or 1 | 0 | 1 | Synchronous Reset To value | Synchronous reset | |
0 or 1 | 1 | 1 | Last Q | Illegal concurrent SET and RST |
The test circuit used to generate the waveform examples in the next section can be downloaded here: simplis_050_dataregistersoas_example.zip.
To simulate this design, follow these steps:
This example of the Data Register uses two Digital Signal Source to generate the input pulses to the Data Register. The input source waveforms are defined in a text file with each state transition defined on a single line. These two sources excite every state transition in the Truth Table section for asynchronous set/reset.
In the circuit example, the initial condition of the Data Register is set to 15 decimal. The behavior of the register in response to the inputs on a rising clock edge is described in the following table.
Time | Event | Q Output |
100n | Load | 4 |
200n | Retain state | 4 |
300n | Load | 8 |
400n | Retain state | 8 |
600n | Load | 5 |
The asynchronous set and reset inputs are asserted according to this table:
Time | Event | Q Output |
420n | Asynchronous set | 11 |
470n | Asynchronous reset | 1 |
675n | Illegal concurrent ASET and ARST | 5 |
The waveforms for the Data Register show each state change.
Because the Data Register model is generated by a template script when the simulation is executed, a hand-coded model cannot be inserted into a netlist. The template script for this device is simplis_make_register_model.sxscr, which licensed users can download as part of a zip archive of all built-in scripts.
To download the zip archive, follow these steps:
The following parameter table defines the parameters used in this model.
Parameter Name | Label | Data Type | Range | Units | Parameter Description | |||||||
CLK_TO_OUT_DELAY | Clock to Output Delay | Number | 1f to 1024 | s | Delay from the triggering clock event until the Register outputs change | |||||||
GNDREF | Ground Ref | String |
|
none | Determines whether or not a device has a ground reference pin. Any digital component that has an input or output pin connected to an analog circuit node must have its Ground Ref pin connected to an analog node. This is usually the ground on the schematic. | |||||||
HOLD_TIME | Hold Time | Number | 1f to 1024 | s | Minimum time after the triggering clock event that the input signals must remain steady so that a valid change in each input state is recognized. | |||||||
HYSTWD, TH |
Hysteresis, Threshold |
Number | min: 1f | V | Hysteresis and Threshold of
the inputs. The hysteretic-window width, HYSTWD is centered around
Threshold (TH) voltage. To determine the actual threshold (
TL , THI ), substitute Threshold (TH) and
Hysteresis (HYSTWD) in each of the following formulas:
|
|||||||
IC | Initial Condition | Number |
|
none | Initial condition of the Register output at time=0 | |||||||
LOAD_LEVEL | Load/Shift Level | Integer | none | Determines the logic level of
the shift register load/shift ( LD/SH ) pin:
|
||||||||
MIN_CLK | Minimum Clk Width | Number | 1f to 1024 | s | Minimum valid clock width. Clock widths less than this parameter will not trigger the Register. | |||||||
NUMBITS | Number of Bits | Integer | none | Number of input bits to the Register | ||||||||
RESET_TO | Reset To | Number | none | Determines the value of the counter output when the RST pin goes active. To reset to 0, assign a assign value of -1 or 0. | ||||||||
RIN | Input Resistance | Number | min: 100 | Ω | Input resistance of each Register input pin | |||||||
ROUT | Output Resistance | Number | min: 1m | Ω | Output resistance of each Register output pin | |||||||
SETUP_TIME | Setup Time | Number | 1f to 1024 | s | Minimum time before the triggering clock event that the input signals must remain steady so that a valid change in each input state is recognized. | |||||||
SET_RESET_DELAY | Set/Reset Delay | Number | 1f to 1024 | s | Delay from when the SET or RST pin goes active until the Q output is actually set or reset. | |||||||
SET_RESET_LEVEL | Set/Reset Level | Number |
|
none | Determines the Set/Reset
level of a device:
|
|||||||
SET_RESET_TYPE | Set/Reset Type | String |
|
none | Determines whether or not
output events are synchronized with a clock event:
|
|||||||
SET_TO | Set To | Number | none | Determines the value of the counter output when the SET pin goes active. To set to the maximum count value, assign a value of -1. | ||||||||
TRIG_COND | Trigger Condition | String |
|
none | Determines the triggering
condition of the Register clock pin:
|
|||||||
VOH | Output High Voltage | Number | any | V | Output high voltage for each Register output pin | |||||||
VOL | Output Low Voltage | Number | any | V | Output high voltage for each Register output pin |