Цифровые компоненты
Приведем пример дешифратора 3x8 (рис. 4.33). Входные узлы обозначим IN1 (старший разряд), IN2, IN3 (младший разряд). Если все входы находятся в состоянии "0", выход OUT1="1". Если IN1 и IN2 – в состоянии "0", а IN3 – в состоянии "1", OUT2="1" и т.д. Данные программы для удобства чтения записаны в виде массива. В комментариях сверху от программы указаны имена входных узлов, находящихся в состоянии "1" – true (Т) и "0" – false (F, дополнительный код); в комментариях в конце строк указаны имена выходных узлов, управляемых вентилем.
Рис. 4.33. Дешифратор 3x8, реализованный на ПЛМ
UDECODE PLANDC(
3.8
);
3
входа,
8
выходов
+
$G_DPWR $G_DGND; Узлы источника питания и
"земли"
+
IN1 IN2 IN3; Входы
+
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8; Выходы
+
PLD_MDL; Имя модели динамики ПЛМ
+
IO_STD; Имя модели вход
/
выход ПЛМ
+
DATA
=
B$; Данные программы ПЛМ
*
IN1 IN2IN3
*
TF TF TF
+
01
01
01
; OUT1
+
01
01
10
; OUT2
+
01
1001
; OUT3
+
01
1010
; OUT4
+
1001
01
; OUT5
+
1001
10
; OUT6
+
101001
; OUT7
+
10
10
10
$; OUT8
.MODEL PLD_MDL UPLD(...); Определение модели динамики ПЛМ