Schematic format
PART attribute <name>
Example
U10
TIMING MODEL attribute <timing model name>
Example
D74
I/O MODEL attribute <I/O model name>
Example
IO_LS
MNTYMXDLY attribute <delay select value>
Example 1
IO_LEVEL attribute <interface subckt select value>
Example 0
POWER NODE attribute <digital power node>
Example
$G_DPWR
GROUND NODE attribute <digital ground node>
Example
$G_DGND
527
Parameter |
Description |
Units |
|
|
|
TPPCQLHMN |
Delay: min preb/clrb to q/qb low to high |
sec |
|
|
|
TPPCQLHTY |
Delay: typ preb/clrb to q/qb low to high |
sec |
|
|
|
TPPCQLHMX |
Delay: max preb/clrb to q/qb low to high |
sec |
|
|
|
TPPCQHLMN |
Delay: min preb/clrb to q/qb high to low |
sec |
|
|
|
TPPCQHLTY |
Delay: typ preb/clrb to q/qb high to low |
sec |
|
|
|
TPPCQHLMX |
Delay: max preb/clrb to q/qb high to low |
sec |
|
|
|
TWPCLMN |
Width: min preb/clrb low |
sec |
|
|
|
TWPCLTY |
Width: typ preb/clrb low |
sec |
|
|
|
TWPCLMX |
Width: max preb/clrb low |
sec |
|
|
|
TPGQLHMN |
Delay: min gate to q/qb low to high |
sec |
|
|
|
TPGQLHTY |
Delay: typ gate to q/qb low to high |
sec |
|
|
|
TPGQLHMX |
Delay: max gate to q/qb low to high |
sec |
|
|
|
TPGQHLMN |
Delay: min gate to q/qb high to low |
sec |
|
|
|
TPGQHLTY |
Delay: typ gate to q/qb high to low |
sec |
|
|
|
TPGQHLMX |
Delay: max gate to q/qb high to low |
sec |
|
|
|
Table 23-11A Gated latch timing model parameters
Model statement form
.MODEL <timing model name> UGFF ([model parameters])
Example
.MODEL SR1 UGFF (tppcqlhty=10ns tppcqlhmx=25ns tpgqlhty=12ns +twpclty=15ns tsudgty=4ns)
528 Chapter 23: Digital Devices
Parameter |
Description |
Units |
|
|
|
TPDQLHMN |
Delay: min s/r/d to q/qb low to high |
sec |
|
|
|
TPDQLHTY |
Delay: typ s/r/d to q/qb low to high |
sec |
|
|
|
TPDQLHMX |
Delay: max s/r/d to q/qb low to high |
sec |
|
|
|
TPDQHLMN |
Delay: min s/r/d to q/qb high to low |
sec |
|
|
|
TPDQHLTY |
Delay: typ s/r/d to q/qb high to low |
sec |
|
|
|
TPDQHLMX |
Delay: max s/r/d to q/qb high to low |
sec |
|
|
|
TWGHMN |
Width: min gate high |
sec |
|
|
|
TWGHTY |
Width: typ gate high |
sec |
|
|
|
TWGHMX |
Width: max gate high |
sec |
|
|
|
TSUDGMN |
Setup: min s/r/d to gate edge |
sec |
|
|
|
TSUDGTY |
Setup: typ s/r/d to gate edge |
sec |
|
|
|
TSUDGMX |
Setup: max s/r/d to gate edge |
sec |
|
|
|
TSUPCGHMN |
Setup: min preb/clrb high to gate edge |
sec |
|
|
|
TSUPCGHTY |
Setup: typ preb/clrb high to gate edge |
sec |
|
|
|
TSUPCGHMX |
Setup: max preb/clrb high to gate edge |
sec |
|
|
|
THDGMN |
Hold: min s/r/d after gate edge |
sec |
|
|
|
THDGTY |
Hold: typ s/r/d after gate edge |
sec |
|
|
|
THDGMX |
Hold: max s/r/d after gate edge |
sec |
|
|
|
Table 23-11B Gated latch timing model parameters (continued)
The parameter <no. of latches> specifies the number of latches in the array and is available only for SPICE text circuits or text subckt libraries. Schematic latches are available only as singles. The three nodes, <presetbar node>, <clearbar node>, and <gate node> are common to all latches in the array.
S |
R |
GATE |
PREB |
CLRB |
Q |
QB |
|
|
|
|
|
|
|
X |
X |
X |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
|
X |
X |
X |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
X |
X |
X |
0 |
0 |
Unstable |
Unstable |
|
|
|
|
|
|
|
X |
X |
0 |
1 |
1 |
Q' |
QB' |
|
|
|
|
|
|
|
0 |
0 |
1 |
1 |
1 |
Q' |
QB' |
|
|
|
|
|
|
|
0 |
1 |
1 |
1 |
1 |
0 |
1 |
|
|
|
|
|
|
|
1 |
0 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
1 |
1 |
1 |
1 |
1 |
Unstable |
Unstable |
|
|
|
|
|
|
|
Table 23-12 SRFF latch truth table
D |
GATE |
PREB |
CLRB |
Q |
QB |
|
|
|
|
|
|
X |
X |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
X |
X |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
X |
X |
0 |
0 |
Unstable |
Unstable |
|
|
|
|
|
|
X |
0 |
1 |
1 |
Q' |
QB' |
|
|
|
|
|
|
0 |
1 |
1 |
1 |
0 |
1 |
|
|
|
|
|
|
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
Table 23-13 DLTCH latch truth table
530 Chapter 23: Digital Devices
Pullup and pulldown
These devices provide a constant output level at a user-specified strength. The outputs are as follows:
Device |
Level |
Strength |
Pullup |
1 |
DRVH (from the I/O model) |
Pulldn |
0 |
DRVL (from the I/O model) |
These devices provide a strong '1' to pull up or a strong '0' to pull down a group of open-collector devices whose outputs are wired together.
SPICE format
U<name> <resistor type>(<number of resistors>) +<digital power node> <digital ground node> +<output node>*
+<I/O model name>
+[IO_LEVEL=<interface subckt select value>]
<resistor type> is one of the following:
PULLUP |
array of digital pullup resistors |
PULLDN |
array of digital pulldown resistors |
<number of resistors> specifies the number of resistors in the array.
Note that these devices are digital devices, not analog devices. Their sole purpose is to provide a strong constant level to a set of open-collector digital devices whose outputs are wired together. Open-collector devices are simply digital devices with a very large value of DRVH in their I/O model.
PULLUP and PULLDN devices do not use timing models since there is no delay associated with them. They do, however, need I/O models, since they are digital devices.
Example
U1 PULLUP(8) +$G_DPWR $G_DGND +A1 A2 A3 A4 A5 A6 A7 A8 + IO_STD
Schematic format
PART attribute <name>
Example
U1
I/O MODEL attribute <I/O model name>
Example
IO_ALS
IO_LEVEL attribute <interface subckt select value>
Example 1
POWER NODE attribute <digital power node>
Example
$G_DPWR
GROUND NODE attribute <digital ground node>
Example
$G_DGND
532 Chapter 23: Digital Devices
Delay line
This device provides a constant delay according to the timing model parameters. Unlike the other digital devices, there is no inertial cancellation of narrow pulse widths through delay lines.
SPICE format
U<name> DLYLINE
+<digital power node> <digital ground node> +<input node> <output node>
+<timing model name> <I/O model name> +[MNTYMXDLY=<delay select value>] +[IO_LEVEL=<interface subckt select value>]
Example
U1 DLYLINE +$G_DPWR $G_DGND +IN OUT
+ DMOD IO1
Schematic format
PART attribute <name>
Example
U1
TIMING MODEL attribute <timing model name>
Example
DELAY1
I/O MODEL attribute <I/O model name>
Example
IO_STD
MNTYMXDLY attribute <delay select value>
Example 2
IO_LEVEL attribute <interface subckt select value>
Example 1
POWER NODE attribute <digital power node>
Example
$G_DPWR
GROUND NODE attribute <digital ground node>
Example
$G_DGND
|
Parameter |
Description |
Units |
|
|
|
|
|
DLYMN |
Delay: min |
sec |
|
|
|
|
|
DLYTY |
Delay: typical |
sec |
|
|
|
|
|
DLYMX |
Delay: max |
sec |
|
|
|
|
Table 23-14 Delay line timing model parameters
534 Chapter 23: Digital Devices
Programmable logic arrays
The programmable logic array is designed to allow modeling of a wide variety of programmable logic devices. The device is constructed of a user-specified number of inputs, visualized as columns, and a user-specified number of outputs, which form the rows. Each output (row) is a gate, whose inputs are selected from the inputs (columns). The device is programmed by choosing the inputs to be a part of the gate. The type of gate is determined by the PLA type. A PLNAND provides NAND gates, a PLOR provides OR gates, and so on. The PLA device provides a programmable core for modeling commercial PLA parts.
There are two ways to program the PLA. The normal way is to provide the data in a JEDEC format file. These files are normally created as the primary output of a PLA design program. The second method is to include the data directly in the SPICE command line or, for schematics, in the DATA attribute.
SPICE format
U<name> <pld type>(<no. of inputs>,<no. of outputs>) +<digital power node> <digital ground node>
+<input node>* <output node>* +<timing model name> <I/O model name>
+[FILE=<"file name constant" | |file name expression|>] +[DATA=<data constant> | <radix flag>$<program data>$] +[MNTYMXDLY=<delay select value>] +[IO_LEVEL=<interface subckt select value>]
Schematic format
PART attribute <name>
Example
U10
TIMING MODEL attribute <timing model name>
Example
PL_04
I/O MODEL attribute <I/O model name>
Example
IO_ACT
FILE attribute
<"file name constant" | |file name expression|>
Examples |
|
"JED_FILE" |
;a file name constant enclosed in "". |
|FILEVAR| |
;a file name expression enclosed in ||. |
DATA attribute
<data constant> | <radix flag>$<program data>$
Examples
data_table ; data_table is defined elsewhere with a .define statement. b$010101 ; multiline program data
+101011
+011001$
MNTYMXDLY attribute <delay select value>
Example 1
IO_LEVEL attribute <interface subckt select value>
Example 0
POWER NODE attribute <digital power node>
Example
$G_DPWR
GROUND NODE attribute <digital ground node>
Example
$G_DGND
536 Chapter 23: Digital Devices