The Digital Lookup Table models combinatorial logic defined with a truth table. The truth table maps logical combinations of input states to output states. A default output state determines the output if the input state is not defined in the table.
The Digital Lookup Table is one of the most powerful and, at the same time, one of the most overlooked of the SIMPLIS digital devices. Using a Digital Lookup Table, you can easily implement, test, and revise extremely complex logic, all without changing the schematic view of the design.
This Lookup Table requires that all input signal combinations be defined for each state. If you need to define one or more input states with a don't care input, see Digital Lookup Table with Don't Care in Input Definitions.
In this topic:
Model Name: | Digital Lookup Table | |||
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 Digital Lookup Table, follow these steps:
Label | Parameter Description |
Propagation Delay | Delay from when the input state changes until the output changes |
Number of Bits A | Number of input bits to first multiplier input, the number of output bits will be Number of Bits A * Number of Bits B |
Number of Bits B | Number of input bits to second multiplier input, the number of output bits will be Number of Bits A * Number of Bits B |
Redefine Source? | Determines whether the
source is to be redefined after the dialog is closed.
|
Default Value | Default value of lookup table output if the input value is not found in the lookup table. |
Initial Condition | Initial condition of the Lookup Table output at time=0 |
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. |
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 Lookup Table 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 Lookup Table output pin | |||||||
Output High Voltage | Output high voltage for each Lookup Table output pin | |||||||
Output Low Voltage | Output low voltage for each Lookup Table output pin |
The Digital Lookup Table can be defined with a dialog or with a points file.
Using the dialog method, you can define up to 255 logical input states. The points definition is saved as a property on the Digital Lookup Table symbol.
This method is often used for smaller table definitions, such as the 10-input AND and
OR gates in this example. The input and output states are defined as the decimal
equivalent of the input and output pins. For example, the 10-input AND gate in this
example decodes 1023 (all 1's) and outputs a decimal 1, representing a logic low on
the NAND output and a logic high on the AND output.
Using the file method, you can define the complete input space of 2Number of Input Bits. The points definition with this method is saved as a plain ASCII text file; before the simulation starts, the points file is read and used to configure the Lookup Table.
This method is often used for large or complicated table definitions although, as this example shows, a file method can be used for tables as small as a single input state definition. The following 10-input AND/NAND gate example demonstrates the file format, which uses tabs and spaces to delimit columns in the points definition file.
A points definition file example can be downloaded here: simplis_041_and_nand_points.txt. This file is also included in the following zip archive: simplis_041_digitallookuptable_file_example.zip.
The test circuit used to generate the waveform examples in the next section can be downloaded here: simplis_041_digitallookuptable_example.sxsch.
The same test circuit with Lookup Tables defined using the file method can be downloaded here: simplis_041_digitallookuptable_file_example.zip. In order to simulate this design, you need to unzip the archive to your local drive, and then open the schematic file in SIMetrix/SIMPLIS.
The Digital Lookup Table examples use two Lookup Tables:
The AND/NAND logic gate is implemented with Lookup Table, U_AND; the OR/NOR gate is implemented with U_OR. The parameters for each Lookup Table are as follows:
In the following example, the initial condition of the counter is set to 1021 decimal, which allows the counter to reach the maximum count during a short simulation run. As the counter counts up, the AND/NAND gates transition at 1023, and the OR/NOR gates transition at 0 decimal.
Because the Digital Lookup Table 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_signal_source_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 | |||||||
DEFAULT | Default Value | Number | none | Default value of lookup table output if the input value is not found in the lookup table. | ||||||||
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. | |||||||
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 Lookup Table output at time=0 | |||||||
NUMBITS_A | Number of Bits A | Integer | none | Number of input bits to first multiplier input, the number of output bits will be Number of Bits A * Number of Bits B | ||||||||
NUMBITS_B | Number of Bits B | Integer | none | Number of input bits to second multiplier input, the number of output bits will be Number of Bits A * Number of Bits B | ||||||||
OUT_DELAY | Propagation Delay | Number | 1f to 1024 | s | Delay from when the input state changes until the output changes | |||||||
REDEFINE_SOURCE | Redefine Source? | Boolean | none | Determines whether the source
is to be redefined after the dialog is closed.
|
||||||||
RIN | Input Resistance | Number | min: 100 | Ω | Input resistance of each Lookup Table input pin | |||||||
ROUT | Output Resistance | Number | min: 1m | Ω | Output resistance of each Lookup Table output pin | |||||||
SOURCE_DEF | Source Definition Method | String |
|
none | Determines whether the definition of the digital signal source comes from a dialog or an external file. If Redefine Source? is checked, you will be prompted to edit the digital signal source definition with a dialog or to choose a new definition file, depending on the value of Source Definition Method after this dialog is closed. | |||||||
VOH | Output High Voltage | Number | any | V | Output high voltage for each Lookup Table output pin | |||||||
VOL | Output Low Voltage | Number | any | V | Output low voltage for each Lookup Table output pin |
If you examine the file example, it contains 6 lines: 4 are comments, one is an input definition, and the last one is an empty line. This empty line MUST be present at the end of each definition files. If the line is not present, the following error occurs:
*** ERRORS REPORTED BY SIMPLIS *** **************************************** <<<<<<<< Error Message ID: 1179 >>>>>>>> points file AND_NA~1.TXT No data point has been defined in this file. This model requires 1 data points to be defined. *** END SIMPLIS ERROR REPORT ***
Error : The file 'and_nand_points.txt' contained some non-ascii characters File read has been aborted *** ERRORS REPORTED BY SIMPLIS *** **************************************** <<<<<<<< Error Message ID: 1057 >>>>>>>> input file file_path\SIMPLIS_Data/simplis_041_digitallookuptable_file_example.deck, line 76: + VOL=0 VOH=5 DEFAULT=2 OUT_DELAY=1e-011 NPTS=0 NUMBITS_OUT=2 NUMBITS_IN=10 FILE=AND_NA~1.TXT A positive integer to represent the value for `NPTS' is expected at the location where `0' occupies. *** END SIMPLIS ERROR REPORT ***
If you have a comment in a point-definition line, the following error occurs:
*** ERRORS REPORTED BY SIMPLIS *** **************************************** <<<<<<<< Error Message ID: 1179 >>>>>>>> points file AND_NA~1.TXT, line 5 1023 0 1 *** illegal comment ^ Unexpected entry `***' when end of line is expected while reading point #1. *** END SIMPLIS ERROR REPORT ***