Читайте также: |
|
Массив примитивов - это примитив, который представляет несколько идентичных примитивов. Вы можете использовать примитивные массивы для создания более компактных GDF или OrCAD Schematic файлов путем ввода единственного примитива, который экстрактор списков связей компилятора переведет в несколько примитивов.
Вы можете создать примитивный массив двумя способами:
· Если все порты символа (pinstub) примитива соединяются с шинами, состоящими из n членов, примитив переводится в массив n индивидуальных примитивов. Каждый индивидуальный узел шины соединяется с соответствующим портом символа каждого индивидуального примитива в массиве. Например
Рис. 1. Массив примитивов (вариант 1)
В этом примере примитивный массив создается при соединении трех шин A[0..2], B[0..2], и C[0..2] с двумя выводами INPUT, выводом OUTPUT и вентилем AND2.
Во время обработки компилятор переводит этот примитивный массив в 6 выводов INPUT, 3 вывода OUTPUT и 3 вентиля AND2 следующим образом:
Один AND2 вентиль соединяется с узлами A0, B0, и C0.
Один AND2 вентиль соединяется с узлами A1, B1, и C1.
Один AND2 вентиль соединяется с узлами A2, B2, и C2.
Входные выводы A0, A1, и A2 соединяются с узлами A0, A1, и A2, соответственно.
Входные выводы В0, В1, и В2 соединяются с узлами В0, В1, и В2, соответственно.
Выходные выводы С0, С1, и С2 соединяются с узлами С0, С1, и С2, соответственно.
Примитивы выводов INPUT, INPUTC, OUTPUT, OUTPUTC, BIDIR, или BIDIRC, которым даны шинные имена переводятся в массив примитивов. Вы не можете использовать перечислимое имя шины для обозначения примитива вывода.
· Если некоторые порты символа примитива соединяются с шинами с n членами, а некоторые с одиночными узлами, примитив переводится в массив n примитивов. В этом случае каждый индивидуальный узел шины соединяется с соответствующим портов символа каждого примитива в массиве, а каждый узел, который не является частью шины, соединяется с тем же самым портом символа каждого примитива. Например
Рис. 2. Массив примитивов (вариант 2)
Для создания массива примитивов необходимо обозначить все используемые узлы и шины, за исключением тех случаев, где имена узлов и шин не обязательны:
· Одиночный узел, который соединяется с примитивным массивом.
· Шинный проводник, который соединяется с примитивным массивом, если не меньше одного сегмента сети, которая содержит этот проводник, явно обозначено перед любыми точками соединения или, если сеть соединяется с выводом с шинным именем. Например,
Рис. 3. Массив примитивов (вариант 3)
Вы не можете вводить присваивания для проб и ресурсов символов примитивов, которые используются для создания примитивных массивов. Обратитесь в раздел Принципы работы с присваиваниями.
Проба - уникальное имя, связанное с любым узлом, например, вход или выход примитива, мегафункции или макрофункции, которое можно использовать вместо полного иерархического имени узла в любом месте MAX+PLUS II. Таким образом пробное имя обеспечивает быструю идентификацию узла.
Примитивы буферов
CARRY OPNDRN
CASCADE SOFT
EXP TRI
GLOBAL (SCLK) WIRE (только GDF)
LCELL (MCELL)
Примитивы триггеров и защелок
DFF SRFF
DFFE SRFFE
JKFF TFF
JKFFE TFFE
LATCH
Примитивы/Порты входов и выходов
BIDIR или INOUT BIDIRC (только GDF)
INPUT или IN INPUTC (только GDF)
OUTPUT или OUT OUTPUTC(толькоGDF)
Логические примитивы
AND NOR
BAND (только GDF) NOT
BNAND (только GDF) OR
BNOR (только GDF) VCC (только GDF)
BOR (только GDF) XNOR
GND (только GDF) XOR
NAND
Другие примитивы (только GDF)
CONSTANT
PARAM
Title Block
Прототипы функций для примитивов в TDF файлах не нужны. Однако Вы можете переопределить порядок вызова входов примитива, вводя оператор Function Prototype в Ваш TDF.
Дата добавления: 2015-08-21; просмотров: 112 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Арифметические операторы | | | Мегафункции и библиотеки параметризуемых модулей |