Цифровые компоненты
Приведем пример дешифратора 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(...); Определение модели динамики ПЛМ