Digital Source
The digital source provides for straightforward descriptions of digital
signal vectors in a tabular format. The model reads input from the source
text and, at the times specified, generates the inputs along with the
strengths listed.
The format of the input file is as shown below.
Note that comment lines are delineated through the use of a single "*"
character in the first column of a line.
* T c n n n . . .
* i l o o o . . .
* m o d d d . . .
* e c e e e . . .
* k a b c . . .
0.0000 0 0 0 0 . . .
1.234e-9 0 1 1 0 . . .
1.376e-9 0 0 1 0 . . .
2.5e-7 1 0 1 Z . . .
2.5006e-7 1 1 1 Z . . .
5.0e-7 0 1 1 Z . . .
Note that in the example shown, whitespace (any combination of blanks, tabs,
commas) is used to separate the time and state tokens. The order of the
input columns is important; the first column is always interpreted to mean
"time". The second through the N'th columns map to the output nodes. A non-commented line which does not contain enough
tokens to completely define all outputs for the digital_source will cause an
error. Also, time values must increase monotonically or an error will result
in reading the source text.
Errors will also occur if a line exists
in source text which is neither a comment nor vector line. The only
exception to this is in the case of a line that is completely blank; this is
treated as a comment.
Time
The time may be specified in either seconds or clock cycles. Clock cycles are specified by using the '#' prefix (such as #5 specifies 5 clock cycles). The actual time is calculated by multiplying the number of clocks by TIMESTEP value. The TIMESTEP command defines the number of seconds per clock cycle.
Absolute time values must be in ascending order. The time may also be declared relative to the previous time value by placing a '+' character in front of the time, such as +10ns or +#5.
Loops
The REPEAT command specifies the beginning of a loop. All stimulus commands between the REPEAT line and the ENDREPEAT line will be looped the amount of times specified. REPEAT FOREVER creates an infinite loop. All absolute times within the loop are considered relative to the beginning of the loop.
*TIME D0 D1
0s 0 1
*
REPEAT FOREVER
REPEAT 5
1us 1 0
2us 0 1
ENDREPEAT
*
REPEAT 2
5us 1 0
10us 0 1
ENDREPEAT
*
TIMESTEP 1us
+#1 1 0
+#9 0 1
ENDREPEAT
Output Values
Value | State |
---|---|
0, L | Low |
1, H | High |
U, X | Unknown |
Z | Hi-Z |
Parameters
Parameter | Description | Units | Default |
---|---|---|---|
SOURCE | Source text. | ||
OUT_MODE | Outputs mode. | OUT | |
IOMODEL | The name of an I/O model, which describes the device’s loading and driving characteristics. | DGTDEFIOMODEL | |
POWER_NODE | Digital power node name. Is the node used by the interface subcircuits which connect analog nodes to digital nodes. | $G_DPWR | |
GROUND_NODE | Digital ground node name. Is the node used by the interface subcircuits which connect analog nodes to digital nodes. | $G_DGND |
Error Messages
- D_S0URCE: source text was not read successfully.
-
This message occurs whenever the model has experienced any difficulty in reading source text. This will occur with any of the following problems:
- Width of a vector line of the source file is incorrect.
- A Timepoint value is duplicated or is otherwise not monotonically increasing.
- One of the output values was not a valid State value.