Цифровые компоненты - часть 16
/p>
Приведем пример дешифратора 3x8 (рис. 4.33). Входные узлы обозначим IN1 (старший разряд), IN2, IN3 (младший разряд). Если все входы находятся в состоянии «0», выход OUT1=«1». Если IN1 и IN2 - в состоянии «0», a 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(...); Определение модели динамики ПЛМ
Запоминающие устройства.
Запоминающие устройства (ЗУ) подразделяются на постоянные ЗУ (ROM, Read Only Memories) и оперативные ЗУ (RAM, Random Access Read-Write Memories).
Постоянные запоминающие устройства (ПЗУ).
Существует два способа записи данных в ПЗУ для последующего моделирования:
-
обычно данные предварительно записываются в файл в формате Intel Hex и перед началом моделирования они из него считываются;
-
данные записываются непосредственно в описании ПЗУ с помощью конструкции DATA=...
ПЗУ (рис. 4.44) вводится в задание на моделирование предложением
Uxxx
ROM
(<количество адресных входов>,<количество выходов>) + <+узел источника питания> <-узел источника питания> + <вход разрешения чтения>
+ <старший разряд адреса> . . .<младший разряд адреса> + <старший разряд выхода> . . <младший разряд выхода> +,<имя модели динамики> <имя модели вход/выход> - + [FILE=<имя файла>]