Цифровые компоненты
Программируемые логические
матрицы. Программируемые логические матрицы (ПЛМ, PLA - Programmable Logic
Arrays) имеют ряд входов, которые формируют столбцы матрицы, и ряд выходов, образующих
строки. Каждый выход (строка) управляется одним логическим элементом. Совокупность
управляющих сигналов составляют программу для ПЛМ, которая определяет, какие входы
соединяются с логическими элементами. В состав примитивов ПЛМ входят только однотипные
вентили (И, ИЛИ, И-НЕ и т.п.), поэтому реальные ИС ПЛМ составляются из нескольких
примитивов в виде макромоделей.
Программа ПЛМ вводится в задание на моделирование двояко:
Однако при использовании библиотек, в которых ПЛМ оформлены в виде макромоделей,
пользователю не нужно разбираться в деталях их моделей - достаточно указать имя
модели ПЛМ, список узлов включениями с помощью опции TEXT указать имя JEDEC-файла,
содержащего описание программы ПЛМ, как показано на следующем примере:
Х1 IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 IN9 IN10 IN11 IN12 IN13 IN14
+ OUT1 OUT2 OUT3
OUT4 PAL14H4 TEXT: JEDEC_FILE = "myprog.jed"
Здесь в схему включена ПЛМ типа PAL14H4, .программируемая из файла myprog. jed.
Примитивы ПЛМ вводятся в задание на моделирование предложением:
Uххх <тип ПЛМ> (<количество
входов>,<количество выходов>)
+ <+узел источника
питания> <-узел источника питания>
+ <входной узел>*
<выходной узел>*
+ <имя модели динамики> <имя модели вход/выход>
+
[FILЕ=<имя файла>]
+ [DАТА=<флаг системы счисления> $ <данные программы>$]
+ [MNTYMXDLY= < выбор значения задержки>]
+ [IO_LEVEL=<
уровень модели интерфейса>]
Имеются ПЛМ следующих типов:
PLAND - матрица логики И; PLOR - матрица логики ИЛИ;
Рис. 4.32. Программируемая логическая матрица
PLXOR - матрица логики исключающее
ИЛИ;
PLNAND - матрица логики И-НЕ;
PLNOR - матрица логики ИЛИ-НЕ;
PLNXOR - матрица логики исключающее ИЛИ-НЕ;
PLANDC - матрица логики И,
содержащая для каждого входа столбцы прямого и дополнительного кода;
PLORC
- матрица логики ИЛИ, содержащая для каждого входа столбцы прямого и дополнительного
кода;
PLXORC - матрица логики исключающее ИЛИ, содержащая для. каждого входа столбцы
прямого и дополнительного кода;
PLNANDC - матрица логики И-НЕ, содержащая для каждого входа столбцы прямого и
дополнительного кода;
PLNORC - матрица логики ИЛИ-НЕ, содержащая для каждого входа столбцы прямого и
дополнительного кода;
PLNXORC - матрица логики исключающее ИЛИ, содержащая для каждого входа столбцы
прямого и дополнительного кода.
После ключевого слова FILE указывается имя файла в формате JEDEC, в котором
записана программа ПЛМ. Оно может быть указано как текстовая, константа (и тогда
заключается в кавычки " ") или как текстовое выражение (заключается
между вертикальными черточками | |). Если приведена опция FILE, то любые данные,
приведенные после опции DATA, игнорируются. Способ адресации, принятый в файле
JEDEC для расположения данных, определяется параметрами модели динамики.
Флаг системы счисления принимает значения:
Данные программы помещаются между знаками доллара $ и могут располагаться
как слитно, так и разделяться одним или несколькими пробелами. Поток данных начинается
с нулевого адреса, по которому программируется соединение первого входа с вентилем,
управляющим первым выходом. Наличие «0» означает, что вход не подсоединен
к вентилю, а «1» - наличие такого соединения (изначально все входы
не подсоединены ни к каким выходам). Данные по следующему адресу управляют соединением
дополнения первого входа к вентилю, управляющему первым выходом (только для ПЛМ
с прямыми и дополнительными входами), или второго входа, подключенного к вентилю,
управляющему первым выходом. Каждая дополнительная «1» или «0»
программирует соединение следующего входа или его дополнения с вентилем, управляющим
первым выходом, до тех пор, пока не переберут все входы (и их дополнения). Последующие
данные программируют соединения входов со вторым выходом и т.д. Модель динамики
ПЛМ имеет формат
.MODEL <имя модели динамики> UPLD {(параметры модели динамики)}
Параметры этой модели приведены в табл. 4.40.
Таблица 4.40. Параметры
модели динамики ПЛМ
| Идентификатор
|
Параметр |
Значение по умолчанию |
Единица измерения | ||
| TPLHMN |
Время задержки на выход при переключении 0->1, минимальное значение | 0 |
с | ||
| TPLHTY |
То же, типичное значение |
0 |
с | ||
| TPLHMX |
То же, максимальное значение |
0 |
с | ||
| TPHLMN |
Время задержки на выход при переключении 1->0, минимальное значение | 0 |
с | ||
| TPHLTY |
То же, типичное значение |
0 |
с | ||
| TPHLMX |
То же, максимальное значение |
0 |
с | ||
| OFFSET |
Адрес данных, управляющих подключением первого входа к первому выходу (в файле
JEDEC) |
0 |
- | ||
| COMPOFFSET | Адрес данных, управляющих
подключением дополнения первого входа к первому выходу (в файле JEDEC) | 1 |
- | ||
| INSCALE |
Количество адресов для программирования изменения состояния каждого входа (в файле
JEDEC) |
1 |
- | ||
| OUTSCALE | Количество адресов в файле
JEDEC для программирования изменения состояния каждого выхода (вентиля) | 2 |
- | ||
Приведем пример дешифратора 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(...); Определение модели динамики ПЛМ
Словарь основных терминов
Jumper
— перемычка
Junction — электрическое соединение
К
Keepin — область, содержащая все компоненты определенной группы, например, компоненты
определенной высоты Keepout — область, не содержащая компоненты определенной группы
L
Layout — схема размещения, компоновка (в системе OrCAD чертеж ПП) Logical mode
— рассмотрение конкретных экземпляров из наборов объектов (синоним instance)
М
Macro — макрокоманда В качестве примера рассмотрим модель
двигателя постоянного тока с пусковым трехступенчатым реостатом
Manhattan
length — расстояние по Манхеттену, равное сумме длин катетов между начальной и
конечной точкой (иногда называется расстоянием «на такси»).
Manufacturing
— оптимизация результатов трассировки проводников для улучшения внешнего вида
ПП и технологичности ее изготовления.
MCAD — Mechanical Computer Aided Design — программное обеспечение проектирования
механических устройств
Mirror — зеркальное отображение
Miter — сглаживание — замена изгиба проводника под прямым углом на два изгиба
под углом 45° или дугу
Model Editor — программа расчета параметров математических моделей по паспортным данным в формате программы PSpice
| |