![]()
SIMPLIS Parts
|
The Digital Lookup Table with Don't Care Input Definitions models combinatorial logic defined with a truth table. The truth table maps logical combinations of input states to output states. Unlike the Digital Lookup Table, this device allows the input space to include don't care inputs. A default output state determines the output if the input state is not defined in the table.
The digital lookup table with don't care input definitions is even more powerful than the digital lookup table, especially for defining state machines or complex logic. Using the lookup table with don't care input definitions, you can easily implement, test, and revise extremely complex logic, all without changing the schematic view of the design.
If you do not require input definitions which include don't care states, see Digital Lookup Table. The points definition of the digital lookup table is more flexible and it is slightly easier to configure.
In this Topic Hide
Model Name: |
Digital Lookup Table with Don't Care Input Definitions |
|
Simulator: |
This device is compatible with the SIMPLIS simulator. |
|
Parts Selector |
Digital Functions | Functions |
|
Symbol Library: |
None - the symbol is automatically generated when placed or edited. |
|
Model File: |
None - the device model is generated before simulation. |
|
Subcircuit Name: |
|
|
Symbol: |
||
Multiple Selections: |
Only one device at a time can be edited. |
To configure the digital lookup table with don't care input definitions, follow these steps:
Label | Parameter Description |
Output Delay |
Delay from when the input state changes until the output changes |
Number of Input Bits |
Number of input bits for the digital lookup table |
Number of Output Bits |
Number of output bits for the digital lookup table |
Redefine Table? |
Determines whether the lookup table 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 in decimal |
Ground Ref |
Determines whether or not a device has a ground reference pin. |
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 from the Edit Digital Lookup Table with Don't Care Input Definitions dialog box:
Label | Parameter Description | |||||||
Input Resistance |
Input resistance of each input pin |
|||||||
Threshold Hysteresis |
The Threshold (T) and Hysteresis (H) of the Schmitt trigger input buffer on each Lookup Table input. To determine the low-to-high threshold (TH) and the high-to-low threshold (TL), substitute Threshold (T) and Hysteresis (H) in each of the following formulas :
|
|||||||
Output Resistance |
||||||||
Output High Voltage |
||||||||
Output Low Voltage |
You define the digital lookup table with don't care input definitions with an ASCII text file. Unlike the Digital Lookup Table, this device requires a single column to define each input and output bit. The points definition file is otherwise similar to the definition of a regular digital lookup table.
The input file is whitespace delimited, with spaces or tabs, or a combination of the two. Each line in the definition file defines the input states which correspond to a set of output states. The delimited line has three components - the input definitions, the delimiter (space or tab) which separates the input definitions from the output definitions, and the output definitions.
A points definition file example can be downloaded here: state_machine_lookup_table. This file is also included in the following zip archive: simplis_042_lut_dont_care_example.zip.
Each line starts with the input definitions, starting with the most significant bit (MSB). Each bit in the input space is defined with one of three characters:
Input-to-Output Delimiter
The pipe character | must occur on every line after the input definitions and before the output definitions. As with all entries on the line, the pipe character should be separated by a space or tab character.
After the input bits and the pipe delimiter, the outputs are defined starting with the MSB. Each output bit is defined with one of three characters:
The test circuit used to generate the waveform examples in the next section can be downloaded here: simplis_042_lut_dont_care_example.zip.
This example uses a digital lookup table with don't care input definitions and a digital register to implement a simple state machine. The state machine has four states (S00 through S03), four inputs (A, B, C, and D) and four state indication outputs. The definition of the state machine is described graphically in the following state transition diagram.
State Diagram |
Lookup Table Definition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
In this example, the initial state is S00. The state machine transitions to the next state only on a rising clock edge when the A input is high. These conditions are met at time=0.5us. Shortly after the state machine moves to the S01 state, the A, C, and D inputs transition high for a clock cycle to test that the machine will not change state erroneously. The cycle repeats every 1us with the state machine transitioning through all four states.
The digital lookup table model is generated by a template script when the simulation is executed. For this reason, there is no fixed model which can be inserted into a netlist. The template script for this device is simplis_make_signal_source_model.sxscr, which you, as a licensed user, can download in a zip archive of all built-in scripts.
To download this zip file, follow these steps:
Note: You will be prompted to log in with the user name and password given to you when you registered.
*** 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 ***
*** 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 ***