Система схемотехнического моделирования и проектирования Design Center

         

Цифровые компоненты


Цифровые компоненты (примитивы) задаются по формату

Uxxx <тип> [(<список параметров>*)]

+ <+узел источника питания> <–узел источника питания>

+ <список узлов>*

+ <имя модели динамики> <имя модели вход/выход>

+ [MNTYMXDLY=<выбор значения задержки>]

+ [IO_LEVEL=<уровень модели интерфейса>]

Параметр <тип> указывает тип логического устройства (их перечень приведен ниже, например AND, NOR); в круглых скобках указываются значения одного или более параметров через запятую (например, для схемы И указывается количество входов). После списка узлов подключения логического устройства следуют имена двух моделей. Первая модель описывает динамические свойства устройства, вторая – характеристики входных и выходных сопротивлений.

Модели динамики  имеют следующие ключевые слова:



Имя модели динамики

Тип компонента

UADC

 Аналого-цифровой преобразователь

UDAC

Цифро-аналоговый преобразователь

UIO

Модель входа/выхода цифрового устройства

UGATE

Стандартный вентиль

UTGATE

Вентиль с тремя состояниями

UBTG

Двунаправленный переключающий вентиль

UEFF

Триггер с динамическим управлением

UGFF

Триггер с потенциальным управлением

UDLY

Цифровая линия задержки

UPLD

Программируемые логические матрицы

UROM

Постоянное запоминающее устройство

URAM

Оперативное запоминающее устройство

Модели вход/выход имеют ключевое слово UIO (разд. 6.2.3).

Параметр MNTYMXDLY позволяет конкретному индивидуальному устройству назначить минимальное, типичное или максимальное значение времени задержки, указанное в спецификации модели его динамики:

0 – значение задержки, заданное параметром DIGMNTYMX  директивы .OPTIONS (по умолчанию параметр равен 2);

1 – минимальное значение;

2 – типичное значение;

3 – максимальное значение;

4 – расчет наихудшего случая (минимум/максимум).

Параметр IO_LEVEL указывает тип цифро-аналогового и аналого-цифрового интерфейса данного цифрового устройства:


0 –  в соответствии со значением параметра DIGIOLVL

директивы .OPTIONS (по умолчанию он равен 1);

1 –  интерфейс AtoD1/DtoA1;

2 –  интерфейс AtoD2/DtoA2;

3 –  интерфейс AtoD3/DtoA3;

4 –  интерфейс AtoD4/DtoA4.

Запаздывание сигнала в примитивах цифровых устройств определяется в двух моделях: динамики и вход/выход.

Модель динамики определяет задержки распространения и такие временные ограничения, как время установки (setup) и удерживания (hold). Модель вход/выход задает входные и выходные сопротивления и емкости и время переключения.

Когда выход примитива соединяется с другим примитивом, общее время задержки распространения первого примитива равно сумме времени установления напряжения на его нагрузке и времени распространения сигнала, указанного в модели динамики. Время установления напряжения на нагрузке (loading delay) рассчитывается по формуле

 = 0,69R
C
,

где R
 – выходное сопротивление устройства, равное DRVH

или DRVL в зависимости от логического уровня на выходе; C
  – сумма входных и выходных емкостей цифровых устройств INLD, OUTLD, подключенных к данному выводу.

Когда цифровой примитив подключен к аналоговому устройству, задержка распространения уменьшается на величину, равную времени переключения, заданного в модели вход/выход.

Минимальная длительность сигнала на входе цифрового примитива, необходимая для изменения его логического состояния, должна превышать время задержки, приведенное в модели динамики (это ограничение не относится к цифровым линиям задержки). Более короткие входные импульсы не вызовут на выходе никакого эффекта.

Приведем описание смешанной цепи на рис. 6.2, а:

Analog/Digital Interface Example

.OPT   ACCT   LIST   LIBRARY   EXPAND   RELTOL=.001

.LIB   DIG.LIB

VSIN   1   0   SIN(0 5v 1MEG)

U1 STIM(1, 1) $G_DPWR $G_DGND 2 IO_STD TIMESTEP = 10ns

+ (0C, 1)

+ LABEL=BEGIN

+ (1C,0) (2C,1) (3C,X) (4C,0) (5C,Z)

+ 6C   GOTO   BEGIN   –1   TIMES

X1   1   2   3   133LA3

RL   3   0   25k

CL   3   0   5pF



.TRAN   5ns   500ns

.PRINT   TRAN   V(1)   D(2)   V(3)

.PROBE

.END

Здесь имеется обращение к библиотечному файлу моделей цифровых отечественных компонентов dig.lib, фрагменты которого приведены в Приложении 5.

Обратим внимание, что цифровые ИС, даже простейшие, для которых имеются примитивы, представлены в библиотеке в виде макромоделей, имена которых совпадают с обозначением по ЕСКД (правда, в латинской транскрипции). Это позволяет пользователю не задумываться о правилах описания каждой конкретной ИС, предоставляя это разработчикам библиотек моделей.

Информация об автоматически включаемых в схему макромоделях устройств сопряжения, их именах и именах новых цифровых узлов помещается в выходном файле с расширением .out:

**** Generated AtoD and DtoA Interfaces ****

* Analog/Digital interface for node 1

* Moving X1.U1:IN1 from analog node 1 to new digital node 1$AtoD

X$1_AtoD1 1 1$AtoD AtoD

* Analog/Digital interface for node 3

* Moving X1.U1:OUT1 from analog node 3 to new digital node 3$DtoA

X$3_DtoA1 3$DtoA 3 DtoA

* Analog/Digital interface power supply subckt

X$DIGIFPWR 0 DIGIFPWR

В качестве примера расчета переходных процессов приведем фрагмент выдачи данных в табличной форме по директиве .PRINT:

TIME                  V(1)                            D(2)    V(3)

0.000E+00          0.000E+00                  1          3.551E+00

5.000E-09           1.570E-01                   1          3.551E+00

1.000E-08           3.139E-01                   0          3.551E+00

1.500E-08           4.704E-01                   0          3.551E+00

2.000E-08           6.264E-01                   1          3.551E+00

2.500E-08           7.820E-01                   1          3.551E+00

3.000E-08           9.369E-01                   X         3.551E+00

3.500E-08           1.091E+00                  X         3.266E+00

Перейдем теперь к описанию цифровых компонентов различных типов, сгруппировав их по следующим категориям:



– многоразрядные АЦП и ЦАП;

– вентили;

– триггеры;

– программируемые логические матрицы;

– устройства памяти;

– источники постоянных логических сигналов;

– линии задержки;

– функциональное описание цифровых устройств.

 

6.4.1. Многоразрядные АЦП и ЦАП

Многоразрядные АЦП задаются по формату

Uxxx ADC(<m>) <список узлов>

+  <модель динамики>  <модель вход/выход>

+ [MNTYMXDLY=<выбор значения задержки>]

+ [IO_LEVEL=<уровень модели интерфейса>]

Имена узлов   перечисляются в <списке узлов> в следующем порядке (рис. 6.5):

<+узел источника питания>, <–узел источника питания>, <аналоговый вход>, <опорное напряжение>, <"земля">, <сигнал разрешения>, <сигнал преобразования>, <сигнал переполнения>, <m-й разряд>, ..., <1-й разряд>

Смысл остальных параметров такой же, что и для интерфейса А/Ц типа Oxxx.



Рис. 6.5. Аналого-цифровой преобразователь
Модель динамики имеет формат

.MODEL <имя модели> UADC [(параметры)]

Параметры этой модели приведены в табл. 6.4 (значение по умолчанию – 0, единица измерения – с).

Таблица 6.4

Идентификатор

Параметр

TPCSMN

Время задержки запуска – запаздывание между передними фронтами импульсов разрешения и запуска, минимальное значение

TPCSTY

То же, типичное значение

TPCSMX

То же, максимальное значение

TPSDMN

Время цикла кодирования – интервал времени между передним фронтом импульса запуска и переходом выходного сигнала в новое состояние, минимальное значение 

TPSDTY

То же, типичное значение

TPSDMX

То же, максимальное значение

TPDSMN

Запаздывание заднего фронта сигнала запуска относительно момента перехода выходного сигнала в новое состояние, минимальное значение

TPDSMTY

То же, типичное значение

TPDSMX

То же, максимальное значение

<


Временная диаграмма АЦП показана на рис. 6.6. Выходной сигнал АЦП равен ближайшему целому выражения



где m – количество разрядов.

Если это выражение больше 2
–1, все разряды данных и разряд переполнения примут значение 1. Если оно меньше нуля, разряды данных примут нулевое значение, а разряд переполнения – 1. Таким образом, опорное напряжение устанавливает диапазон входного напряжения АЦП.

Сигнал (импульс) разрешения (convert pulse) может иметь любую, в том числе и нулевую длительность. Если время цикла кодирования tpsd=0, то m разрядов данных и разряд переполнения, не принимая неопределенного состояния, сразу принимают новое значение. Между узлами <опорное напряжение> и <“земля”> включается резистор с сопротивлением, равным 1/GMIN.





Рис. 6.6. Переходные процессы в АЦП
Выборки входных напряжений производятся по переднему фронту импульса разрешения, причем скорость изменения входных напряжений не влияет на результат преобразования.

Приведем пример описания 4-разрядного АЦП

U3   ADC(4)   $G_DPWR   $G_DGND1   10   0   conv   stat   over

+ out3   out2   out1   out0   DINAM   IO_ADC

.MODEL   DINAM   UADC(

+  tpcsmn=5ns,  tpcsty=8ns,     tpcsmx=10ns,

+ tpsdmn=16ns, tpsdty=20ns,   tpsdmx=22ns,

+ tpdsmn=4ns,    tpdsty=5ns,     tpdsmx=6ns)

.MODEL   IO_ADC   UIO(drvh=50   drvl=50)

Многоразрядный ЦАП задается по формату

Uxxx DAC(<m>) <список узлов> <модель динамики>

+  <модель вход/выход>

+ [MNTYMXDLY=<выбор значения задержки>]

+ [IO_LEVEL=<уровень модели интерфейса>]

Имена узлов перечисляются в <списке узлов> в следующем порядке (рис. 6.7):

<+узел источника питания>, <–узел источника питания>, <аналоговый выход>, <опорное напряжение>, <“земля”>, <m-й разряд входного сигнала>, ..., <1-й разряд входного сигнала>





Рис. 6.7. Цифро-аналоговый преобразователь
<


Модель динамики ЦАП имеет вид

.MODEL <имя модели> UDAC [(параметры)]

Параметры этой модели приведены ниже (значение по умолчанию – 0, единица измерения – с):

Идентификатор

Параметр

TSWMN

Время установления (от момента изменения входного кода до момента достижения выходным напряжением уровня 0,9 установившегося значения), минимальное значение

TSWTY

То же, типичное значение

TSWMX

То же, максимальное значение

Между узлами <аналоговый выход> и <“земля”> включается источник напряжения с нулевым внутренним сопротивлением, ЭДС которого равна

V(<опорное напряжение>, <“земля”>)
 

Опорное напряжение определяет диапазон выходного аналогового напряжения. Между узлом источника опорного напряжения и “землей” включается сопротивление, равное 1/GMIN.

Если какой-либо разряд входного цифрового сигнала не определен, выходное напряжение равно половине разности двух напряжений. Одно из них представляет собой выходное напряжение ЦАП, если все не определенные состояния “X” заменить на “1”, второе – если эти состояния заменить на логический “0”. При изменении состояний всех разрядов выходное напряжение линейно изменяется в течение интервала преобразования, как показано на рис. 6.8.



Рис. 6.8. Переходные процессы в ЦАП
6.4.2. Вентили

Вентили подразделяются на элементарные и сложные. Элементарные вентили имеют один или несколько входов и только один выход. Сложные вентили (сборки) содержат в одном корпусе несколько простых вентилей (рис. 6.9). Кроме того, вентили подразделяются на два типа: стандартные вентили и вентили с тремя состояниями. Вентили с тремя состояниями управляются сигналами разрешения. Когда этот сигнал имеет уровень “0”, выходной сигнал вентиля имеет неопределенный уровень “X” при высоком выходном сопротивлении Z.



Рис. 6.9. Стандартные вентили и их сборки
Все вентили описываются по формату, приведенному в начале разд. 6.4.



Стандартные вентили

перечислены в табл. 6.5.

Таблица 6.5

Тип

Параметр

Порядок перечисления выводов

Функциональное назначение

BUF

Нет

Вх., вых.

Буфер

INV

Нет

Вх., вых.

Инвертор

AND

N

Вх.1, вх.2,..., вых.

Логическое И

NAND

N

Вх.1, вх.2,..., вых.

Логическое И–НЕ

OR

N

Вх.1, вх.2,..., вых.

Логическое ИЛИ

NOR

N

Вх.1, вх.2,..., вых.

Логическое ИЛИ–НЕ

XOR

Нет

Вх.1, вх.2, вых.

Исключающее ИЛИ

NXOR

Нет

Вх.1, вх.2, вых.

Исключающее ИЛИ–НЕ

BUFA

L

Вх.1, вх.2,..., вых.1, вых.2,...

Сборка буферов

INVA

L

Вх.1, вх.2,..., вых.1, вых.2,...

Сборка инверторов

ANDA

N, L

Вх.1, вх.2,..., вых.1, вых.2,...

Сборка логики И

NANDA

N, L

Вх.1, вх.2,..., вых.1, вых.2,...

Сборка логики И–НЕ

ORA

N, L

Вх.1, вх.2,..., вых.1, вых.2,...

Сборка логики ИЛИ

NORA

N, L

Вх.1, вх.2,..., вых.1, вых.2,...

Сборка логики ИЛИ–НЕ

XORA

L

Вх.1, вх.2,..., вых.1, вых.2,...

Сборка логики исключающее ИЛИ

NXORA

L

Вх.1, вх.2,..., вых.1, вых.2,...

Сборка логики исключающее ИЛИ–НЕ

AO

N, L

Вх.1, вх.2,..., вых.

Сборка логики И–ИЛИ

OA

N, L

Вх.1, вх.2,..., вых.

Сборка логики ИЛИ–И

AOI

N, L

Вх.1, вх.2,..., вых.

Сборка логики И–ИЛИ–НЕ

OAI

N, L

Вх.1, вх.2,..., вых.

Сборка логики ИЛИ–И–НЕ

Здесь N – количество входов, L – количество вентилей.

Модель динамики вентилей имеет формат

.MODEL <имя модели> UGATE [(параметры)]

Параметры моделей вентилей типа UGATE  приведены ниже (значение по умолчанию – 0, единица измерения – с):

Идентификатор

Параметр

TPLHMN

Задержка при переходе от низкого уровня к высокому, минимальное значение

TPLHTY

То же, типичное значение

TPLHMX

То же, максимальное значение

TPHLMN

Задержка при переходе от высокого уровня к низкому, минимальное значение

TPHLTY

То же, типичное значение

TPHLMX

То же, максимальное значение

<


Вентили с тремя состояниями

перечислены в табл. 6.6.

Таблица 6.6

Тип

Параметр

Порядок перечисления выводов

Функциональное назначение

BUF3

Нет

Вх., разр., вых.

Буфер

INV3

Нет

Вх., разр., вых.

Инвертор

AND3

N

Вх.1, вх.2,..., разр., вых.

Логика И

NAND3

N

Вх.1, вх.2,..., разр., вых.

Логика И–НЕ

OR3

N

Вх.1, вх.2,..., разр., вых.

Логика ИЛИ

NOR3

N

Вх.1, вх.2,..., разр., вых.

Логика ИЛИ–НЕ

XOR3

Нет

Вх.1, вх.2, разр., вых.

Исключающее ИЛИ

NXOR3

Нет

Вх.1, вх.2, разр., вых.

Исключающее ИЛИ–НЕ

BUF3A

L

Вх.1, вх.2,..., разр., вых.1, вых.2, ...

Сборка буферов

INV3A

L

Вх.1, вх.2,..., разр., вых.1, вых.2, ...

Сборка инверторов

AND3A

N, L

Вх.1, вх.2,..., разр., вых.1, вых.2, ...

Сборка элементов логики И

NAND3A

N, L

Вх.1, вх.2,..., разр., вых.1, вых.2, ...

Сборка элементов логики И–НЕ

OR3A

N, L

Вх.1, вх.2,..., разр., вых.1, вых.2, ...

Сборка элементов логики ИЛИ

NOR3A

N, L

Вх.1, вх.2,..., разр., вых.1, вых.2, ...

Сборка элементов логики ИЛИ–НЕ

XOR3A

N, L

Вх.1, вх.2,..., разр., вых.1, вых.2, ...

Сборка элементов исключающее ИЛИ

NXOR3A

N, L

Вх.1, вх.2,..., разр., вых.1, вых.2, ...

Сборка элементов исключающее ИЛИ–НЕ

Здесь N – количество входов, L – количество вентилей.

Модель динамики этих вентилей имеет формат

.MODEL <имя модели> UTGATE [(параметры)]

Параметры моделей вентилей типа UTGATE  приведены в табл. 6.7 (значение по умолчанию – 0, единица измерения – с):

Таблица 6.7

Идентификатор

Параметр

TPLHMN

Задержка при переходе от низкого уровня к высокому, минимальное значение

TPLHTY

То же, типичное значение

TPLHMX

То же, максимальное значение

TPHLMN

Задержка при переходе от высокого уровня к низкому, минимальное значение

TPHLTY

То же, типичное значение

TPHLMX

То же, максимальное значение

TPLZMN

Задержка при переходе от низкого уровня к уровню Z, минимальное значение

TPLZTY

То же, типичное значение

TPLZMX

То же, максимальное значение

TPHZMN

Задержка при переходе от высокого уровня к уровню Z, минимальное значение

TPHZTY

То же, типичное значение

TPHZMX

То же, максимальное значение

TPZLMN

Задержка при переходе от уровня Z к низкому уровню, минимальное значение

TPZLTY

 То же, типичное значение

TPZLMX

То же, максимальное значение

TPZHMN

Задержка при переходе от уровня Z к высокому уровню, минимальное значение

TPZHTY

То же, типичное значение

TPZHMX

То же, максимальное значение

<


Двунаправленные вентили.  Двунаправленный вентиль представляет собой пассивное устройство, которое соединяет или разъединяет два узла (версия Design Center 6.1 и более поздние). Коммутация этих узлов определяется логическим состоянием  входного управляющего узла. Устройства типа NBTG соединяют два узла при подаче на вход логической “1” и разъединяют при подаче “0”. Устройства типа PBTG соединяют два узла при подаче на вход логического “0” и рассоединяют при подаче “1”. Эти устройства не имеют параметров, модель их динамики имеет вид

.MODEL  <имя модели>  UBTG

 Параметры DRVH и DRVL модели вход/выход  используются для управления ячейками запоминания заряда, сигналы с которых передаются через двунаправленные вентили. Если двунаправленный вентиль соединен с цепью, к которой подключен хотя бы один вход устройства, в модели вход/выход которого  имеется параметр INLD со значением больше нуля, или выход устройства, в модели которого параметр OUTLD больше нуля, то эта цепь будет моделироваться как ячейка запоминания заряда.

Двунаправленные вентили имеют стандартный формат записи. Приведем  пример

U4  NBTG  $G_DPWR  $G_DGND  GATE  SD1  SD2

+  BTG1  IO_BTG

.MODEL  BTG1  UBTG

6.4.3. Триггеры

Триггеры имеют динамическое и потенциальное управление. Каждый компонент может содержать один или несколько триггеров в корпусе, у которых общими являются сигналы установки, сброса и тактовой синхронизации (рис. 6.10).



Рис. 6.10. Триггеры:

  а – JK-триггер с отрицательным фронтом срабатывания и низким уровнем сигналов установки и сброса; б

– D-триггер с положительным фронтом срабатывания и низким уровнем сигналов установки и сброса; в – синхронный двухтактный RS-триггер;  г

– синхронный однотактный D-триггер
Перечень триггеров приведен в табл. 6.8.

Таблица 6.8

Тип

Параметры

Порядок перечисления выводов

Функциональное назначение

Триггеры с динамическим управлением

JKFF

Количество триггеров

S, R, C, J1, J2, ..., K1, K2, ..., Q1, Q2, ...,
1,
2,...,

JK-триггер с отрицательным фронтом срабатывания и низким уровнем сигнала установки и сброса

DFF

Количество триггеров

S, R, C, D1, D2, ..., Q1, Q2, ...,
1,
2, ...

D-триггер с положительным фронтом срабатывания и низким уровнем сигнала установки и сброса

Триггеры с потенциальным управлением

SRFF

Количество триггеров

S, R, G, S1, S2, ..., R , R , ..., Q1, Q2,...,
1,
2, ...

Двухтактный синхронный RS-триггер

DLTCH

Количество триггеров

S, R, G, D1, D2, ...,  Q1, Q2, ...,
1,
2, ...

Однотактный синхронный D-триггер

<


Модели динамики триггеров с динамическим управлением имеют формат

.MODEL <имя модели> UEFF [(параметры)]

Параметры  модели триггеров с динамическим управлением типа UEFF приведены в табл. 6.9 (значение по умолчанию – 0, единица измерения – с).

Таблица 6.9

Идентификатор

Параметр

TPPCQLHMN

Задержка перехода “0”
”1” со входа S/R к выходам Q/
, минимальное значение

TPPCQLHTY

То же, типичное значение

TPPCQLHMX

То же, максимальное значение

TPPCQHLMN

Задержка перехода “1”
”0” со входа S/R к выходам Q/
, минимальное значение

TPPCQHLTY

То же, типичное значение

TPPCQHLMX

То же, максимальное значение

TWPCLMN

Максимальная длительность сигнала “0” на входе S/R, минимальное значение

TWPCLTY

То же, типичное значение

TWPCLMX

То же, максимальное значение

TPCLKQLHMN

Задержка перехода “0”
”1”от фронта импульса С/
 до выхода Q/
, минимальное значение

TPCLKQLHTY

То же, типичное значение

TPCLKQLHMX

То же, максимальное значение

TPCLKQHLMN

Задержка перехода “1”
”0” от фронта импульса С/
 до выхода Q/
, минимальное значение

TPCLKQHLTY

То же, типичное значение

TPCLKQHLMX

То же, максимальное значение

TWCLKLMN

Минимальная длительность сигнала “0” на входе С/
, минимальное значение

TWCLKLTY

То же, типичное значение

TWCLKLMX

То же, максимальное значение

TWCLKHMN

Минимальная длительность сигнала “1” на входе С/
, минимальное значение

TWCLKHTY

То же, типичное значение

TWCLKHMX

То же, максимальное значение

TSUDCLKMN

Время подготовки к работе по входам J/K/D перед действием фронта синхроимпульса С/
,  минимальное значение

TSUDCLKTY

То же, типичное значение

TSUDCLKMX

То же, максимальное значение

TSUPCCLKHMN

Длительность сигнала “1” на входах S/R при действии фронта синхроимпульса С/
, минимальное значение

TSUPCCLKHTY

То же, типичное значение

TSUPCCLKHMX

То же, максимальное значение

THDCLKMN

Длительность сигнала на входе J/K/D после действия фронта синхроимпульса  С/
, минимальное значение 

THDCLKTY

То же, типичное значение

THDCLKMX

То же, максимальное значение

<


Косая черта “/” означает “или”; например, запись S/R означает сигнал S или R.

Модель динамики триггеров с потенциальным управлением имеет формат

.MODEL <имя модели> UGFF [(параметры)]

Параметры моделей триггеров с потенциальным управлением типа UGFF приведены в табл. 6.10 (значение по умолчанию – 0, единица измерения – с).

Таблица 6.10

Идентификатор 

Параметр

TPPCQLHMN

Задержка перехода “0”
”1” со входа S/R к выходам Q/
, минимальное значение

TPPCQLHTY

То же, типичное значение

TPPCQLHMX

То же, максимальное значение

TPPCQHLMN

Задержка перехода “1”
”0” со входа S/R к выходам Q/
, минимальное значение

TPPCQHLTY

То же, типичное значение

TPPCQHLMX

То же, максимальное значение

TWPCLMN

Минимальная длительность сигнала “0” на входе S/R, минимальное значение

TWPCLTY

То же, типичное значение

TWPCLMX

То же, максимальное значение

TPGQLHMN

Задержка перехода “0”
”1” от фронта импульса синхронизации G до выхода Q/
, минимальное значение

TPGQLHTY

То же, типичное значение

TPGQLHMX

То же, максимальное значение

TPGQHLMN

Задержка перехода “1”
”0” от фронта импульса синхронизации G до выхода Q/
, минимальное значение

TPGQHLTY

То же, типичное значение

TPGQHLMX

То же, максимальное значение

TPDQLHMN

Задержка перехода “0”
”1” от входа S/R/D до выхода Q/
 

TPDQLHTY

То же, типичное значение

TPDQLHMX

То же, максимальное значение

TPDQHLMN

Задержка перехода “1”
”0” от входа S/R/D до выхода Q/
 

TPDQHLTY

То же, типичное значение

TPDQHLMX

То же, максимальное значение

TWGHMN

Минимальная длительность сигнала “1” на входе G, минимальное значение

TWGHTY

То же, типичное значение

TWGHMX

То же, максимальное значение

TSUDGMN

Время подготовки к работе по входам S/R/D перед действием фронта синхроимпульса G, минимальное значение

TSUDGTY

То же, типичное значение

TSUDGMX

То же, максимальное значение

TSUPCGHMN

Длительность сигнала “1” на входах S/R при действии фронта синхроимпульса G, минимальное значение

TSUPCGHTY

То же, типичное значение

TSUPCGHMX

То же, максимальное значение

THDGMN

Длительность сигнала на входе S/R/D после действия фронта синхроимпульса G, минимальное значение

THDGTY

То же, типичное значение

THDGMX

То же, максимальное значение  

<


По умолчанию в начальный момент времени выходные состояния триггеров приняты неопределенными (состояния X). Они остаются таковыми до подачи сигналов установки или сброса либо перехода триггера в определенное состояние. В Design Center 6.1 появилась возможность  установить определенное начальное состояние с помощью параметра DIGINITSTATE

директивы .OPTIONS.

В моделях триггеров имеются параметры, характеризующие минимальные длительности сигналов установки и сброса и минимальную длительность импульсов. Если эти параметры больше нуля, то в процессе моделирования измеренные значения длительностей импульсов сравниваются с заданными данными и при наличии слишком коротких импульсов на экран выдаются предупреждающие сообщения (Warning messages), которые также передаются в программу Probe и заносятся в выходной файл с расширением .out.

6.4.4. Программируемые логические матрицы

Программируемые логические матрицы (ПЛМ, PLA – Programmable Logic Arrays) имеют ряд входов, которые формируют столбцы матрицы, и ряд выходов, образующих строки [10]. Каждый выход (строка) управляется одним логическим элементом. Совокупность управляющих сигналов составляет программу для ПЛМ, которая определяет, какие входы соединяются с логическими элементами. В состав примитивов ПЛМ входят только однотипные вентили (И, ИЛИ, И–НЕ и т. п.), поэтому реальные ИС ПЛМ составляются из нескольких примитивов в виде макромоделей.

Программа ПЛМ вводится в задание на моделирование двояко:

1) предварительно записывается в файл в формате JEDEC, имя файла указывается  в описании примитива конкретной ПЛМ;

2) данные программы включаются непосредственно в описание ПЛМ (с использованием конструкции DATA=...), что менее удобно.

Однако при использовании библиотек, в которых ПЛМ оформлены в виде макромоделей, пользователю не нужно разбираться в деталях их моделей – достаточно указать имя модели ПЛМ, список узлов включения и с помощью опции TEXT указать имя JEDEC-файла, содержащего описание программы ПЛМ, как показано на следующем примере:



X1 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.

Примитивы ПЛМ вводятся в задание на моделирование предложением (рис. 6.11):

Uxxx <тип ПЛМ> (<количество входов>,<количество выходов>)

+ <+узел источника питания>  <–узел источника питания>

+ <входной узел>* <выходной узел>*

+ <имя модели динамики>  <имя модели вход/выход>

+ [FILE=<имя файла>]

+ [DATA=<флаг системы счисления>$<данные программы>$]

+ [MNTYMXDLY=<выбор значения задержки>]

+ [IO_LEVEL=<уровень модели интерфейса>]





Рис. 6.11. Программируемая логическая матрица
Имеются ПЛМ следующих типов:

PLAND – матрица логики И;

PLOR – матрица логики ИЛИ;

PLXOR – матрица логики исключающее ИЛИ;

PLNAND – матрица логики И–НЕ;

PLNOR – матрица логики ИЛИ–НЕ;

PLNXOR – матрица логики исключающее ИЛИ–НЕ;

PLANDDC – матрица логики И, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLORC – матрица логики ИЛИ, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLXORC – матрица логики исключающее ИЛИ, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLNANDC – матрица логики И–НЕ, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLNORC – матрица логики ИЛИ–НЕ, содержащая для каждого входа столбцы прямого и дополнительного кода;

PLNXORC – матрица логики исключающее ИЛИ, содержащая для каждого входа столбцы прямого и дополнительного кода.

После ключевого слова FILE указывается имя файла

в формате JEDEC, в котором записана программа ПЛМ. Оно может быть указано как текстовая константа (и тогда заключается в кавычки " ") или как текстовое выражение (заключается между вертикальными черточками | |).


Если приведена опция FILE, то любые данные, приведенные после опции DATA, игнорируются. Способ адресации, принятый в файле JEDEC для расположения данных, определяется параметрами модели динамики.

Флаг системы счисления

принимает значения:

B – двоичная система счисления;

O – восьмеричная система счисления (бит старшего разряда расположен по младшему адресу);

X – шестнадцатиричная система счисления (бит старшего разряда расположен по младшему адресу).

Данные программы помещаются между знаками доллара $ и могут располагаться как слитно, так и разделяться одним или несколькими пробелами. Поток данных начинается с нулевого адреса, по которому программируется соединение первого входа с вентилем, управляющим первым выходом. Наличие “0” означает, что вход не подсоединен к вентилю, а “1” – наличие такого соединения (изначально все входы не подсоединены ни к каким выходам). Данные по следующему адресу управляют соединением дополнения первого входа к вентилю, управляющему первым выходом (только для ПЛМ с прямыми и дополнительными входами), или второго входа, подключенного к вентилю, управляющему первым выходом. Каждые дополнительные “1” или “0” программирует соединение следующего входа или его дополнения с вентилем, управляющим первым выходом, до тех пор, пока не переберут все входы (и их дополнения). Последующие данные программируют соединения входов со вторым выходом и т. д.

Модель динамики ПЛМ имеет формат

.MODEL <имя модели динамики> UPLD  [(параметры модели динамики)]

Параметры этой модели приведены в табл. 6.11.

Таблица 6.11

Идентификатор

Параметр

Значение по умолчанию

Единица измерения

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

<


Приведем пример декодера 3-8 (рис. 6.12). Входные узлы обозначим IN1 (старший разряд), IN2, IN3 (младший разряд). Если все входы находятся в состоянии “0”, выход OUT1=“1”. Если IN1 и IN2 – в состоянии “1”, а IN3 – в состоянии “1”, OUT2=“1” и т. д. Данные программы для удобства чтения записаны в виде массива. В комментариях сверху от программы указаны имена входных узлов, находящихся в состоянии “1” – true (T) и “0” – false (F, дополнительный код); в комментариях в конце строк указаны имена выходных узлов, управляемых вентилем.

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       IN2     IN3

* TF         TF       TF

+ 01         01        01                               ; OUT1

+ 01         01        10                               ; OUT2

+ 01         10        01                               ; OUT3

+ 01         10        10                               ; OUT4

+ 10         01        01                               ; OUT5

+ 10         01        10                               ; OUT6

+ 10         10        01                               ; OUT7

+ 10         10        10 $                            ; OUT8

.MODEL PLD_MDL UPLD(...) ; Определение модели динамики ПЛМ





Рис. 6.12. Декодер 3-8, реализованный на ПЛМ
6.4.5. Запоминающие устройства

Запоминающие устройства (ЗУ) подразделяются на постоянные ЗУ (ROM, Read Only Memories) и оперативные ЗУ (RAM, Random Access Read–Write Memories).

Постоянные запоминающие устройства (ПЗУ).

Существует два способа записи данных в ПЗУ для последующего моделирования:



1) обычно данные предварительно записываются в файл в формате Intel Hex и перед началом моделирования они из него считываются;

2) данные записываются непосредственно в описание ПЗУ c помощью конструкции DATA=...

Модель ПЗУ (рис. 6.13) задается по формату

Uxxx ROM (<количество адресных входов>,<количество выходов>)

+ <+узел источника питания>  <–узел источника питания>

+ <вход разрешения чтения>

+ <старший разряд адреса> . . .  <младший разряд адреса>

+ <старший разряд выхода> . . . <младший разряд выхода>

+ <имя модели динамики>  <имя модели вход/выход>

+ [FILE=<имя файла>]

+ [DATA=<флаг системы счисления>$<данные программы>$]

+ [MNTYMXDLY=<выбор значения задержки>]

+ [IO_LEVEL=<уровень модели интерфейса>]





Рис. 6.13. Постоянное запоминающее устройство
После ключевого слова FILE указывается имя файла

в формате Intel Hex, в котором записаны данные ПЗУ. Оно может быть указано как текстовая константа (и тогда заключается в кавычки " ") или как текстовое выражение (заключается между вертикальными черточками | |). Если приведена опция FILE, то любые данные, приведенные после опции DATA, игнорируются.

Флаг системы счисления

принимает значения:

B – двоичная система счисления;

O – восьмеричная система счисления (бит старшего разряда расположен по младшему адресу);

X – шестнадцатиричная система счисления (бит старшего разряда расположен по младшему адресу).

Данные программы помещаются между знаками доллара $ и могут располагаться как слитно, так и разделяться одним или несколькими пробелами. Поток данных начинается с нулевого адреса, по которому размещается первый разряд данных. Следующий бит относится ко второму разряду данных, и так до тех пор, пока не будут определены состояния всех разрядов по этому адресу. После этого перечисляются данные по следующему адресу и т. д.

Модель динамики ПЗУ имеет формат:



.MODEL <имя модели динамики> UROM [(параметры модели динамики)]

Параметры этой модели приведены в табл. 6.12 (значение по умолчанию – 0, единица измерения – с).

Таблица 6.12

Идентификатор

Параметр

TPADHMN

Время выборки адреса при переключении входных данных “0”
”1”, минимальное значение

TPADHTY

То же, типичное значение

TPADHMX

То же, максимальное значение

TPADLMN

Время выборки адреса при переключении входных данных “1”
”0”, минимальное значение

TPADLTY

То же, типичное значение

TPADLMX

То же, максимальное значение

TPEDHMN

Время выборки разрешения при переключении выходов “Z”
”1”, минимальное значение

TPEDHTY

То же, типичное значение

TPEDHMX

То же, максимальное значение

TPEDLMN

Время выборки разрешения при переключении выходов “Z”
”0”, минимальное значение

TPEDLTY

То же, типичное значение

TPEDLMX

То же, максимальное значение

TPEDHZMN

Время выборки разрешения при переключении выходов “1”
”Z”, минимальное значение

TPEDHZTY

То же, типичное значение

TPEDHZMX

То же, максимальное значение

TPEDLZMN

Время выборки разрешения при переключении выходов “O”
”Z”, минимальное значение

TPEDLZTY

То же, типичное значение

TPEDLZMX

То же, максимальное значение



Рис. 6.14. Переходные процессы в ПЗУ
Переходные процессы при считывании из ПЗУ показаны на рис. 6.14. На вход разрешения чтения необходимо подать “1”, а состояния узлов выходных данных изменяются от состояния высокого импеданса “Z” до соответствующего состояния спустя некоторое время
. В течение времени, пока сигнал разрешения чтения находится в состоянии “1”, сигналы адреса могут изменяться, и если это так, то новые данные доступны на выходах через некоторое время задержки
.

Приведем пример ПЗУ 8
8:

UMULTIPLY   ROM   (8, 8)    ; Модель ПЗУ 256
8 разрядов

+ $G_DPWR   $G_DGND       ; Узлы источника питания и “земли”



+ ENABLE                                            ; Вход разрешения чтения

+ AIN3   AIN2   AIN1   AIN0             ; Первые 4 бита адреса

+ BIN3   BIN2   BIN1   BIN0              ; Вторые 4 бита адреса

+ OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT0 ; Выходы

+ ROM_MDL                                        ; Имя модели динамики

+ IO_STD                                              ; Имя модели вход/выход

+ DATA=X$

* Данные в двоичном коде:

*  0    1    2    3     4    5    6    7    8    9    A   B   C   D   E   F

+ 00  00  00  00   00  00  00  00  00  00  00  00  00  00  00  00            ; A=0

+ 00  01  02  03   04  05  06  07  08  09  0A 0B  0C 0D 0E 0F            ; A=1

+ 00  02  04  06   08  0A 0C 0E 10  12  14   16  18  1A 1C 1E           ; A=2

+ 00  03  06  09   0C 0F  12  15 18  1B  1E   21  24 27  2A 2D           ; A=3

+ 00  04  08  0C  10  14  18  1C  20  24  28   2C 30 34  38  3C           ; A=4

+ 00  05  0A 0F  14  19  1E  23  28  2D  32  37  3C 41 46  4B            ; A=5

+ 00  06  0C 12   18  1E  24  2A 30  36  3C  42  48  4E 54  5A          ; A=6

+ 00  07  0E  15  1C  23  2A 31  38  3F  46  4D 54  58  62  69           ; A=7

+ 00  08  10  18   20  28  30  38  40  48   50  58   60  68  70  78          ; A=8

+ 00  09  12  1B  24  2D 36  3F  48  51   5A  63  6C 75 7E  87           ; A=9

+ 00  0A 14  1E  28  32  3C  46  50  5A  64  6E  78  82  8C  96         ; A=A

+ 00  0B  16  21  2C  37 42   4D  58  63  6E  79 84  8F  9A  A5         ; A=B

+ 00  0C  18  24  30  3C 48   54  60  6C  78  84 90   9C  A8  B4        ; A=C

+ 00  0D  1A 27  34  41  4E  5B  68  75  82  8F 9C  A9  B6  C3        ; A=D

+ 00  0E  1C  2A 38  46  54  62  70  7E  8C  9A A8 B6  C4  D2        ; A=E

+ 00  0F  1E  2D 3C  48 5A  69  78  87 96   A5 B4  C3  D1 E1$       ; A=F

.MODEL    ROM_MDL    UROM (...)

Оперативные запоминающие устройства (ОЗУ).

Обычно в начальный момент времени в ОЗУ устанавливаются произвольные данные по всем адресам. Существует два способа записи начальных данных в ОЗУ при моделировании:



1) данные предварительно записываются в файл в формате Intel Hex и перед началом моделирования из него считываются;

2) данные записываются непосредственно в описание ОЗУ c помощью конструкции DATA=...

Модель ОЗУ (рис. 6.15) задается по формату

Uxxx RAM (<количество адресных входов>,<количество выходов>)

+ <+узел источника питания>  <–узел источника питания>

+ <вход разрешения чтения> <вход разрешения записи>

+ <старший разряд адреса> . . .  <младший разряд адреса>

+  <старший разряд входа данных>... <младший разряд входа данных>

+ <старший разряд выхода> . . . <младший разряд выхода>

+ <имя модели динамики>  <имя модели вход/выход>

+ [FILE=<имя файла>]

+ [DATA=<флаг системы счисления>$<данные программы>$]

+ [MNTYMXDLY=<выбор значения задержки>]

+ [IO_LEVEL=<уровень модели интерфейса>]





Рис. 6.15. Оперативное запоминающее устройство
После ключевого слова FILE указывается имя файла

в формате Intel Hex, в котором записаны данные ЗУ. Оно может быть указано как текстовая константа (и тогда заключается в кавычки " ") или как текстовое выражение (заключается между вертикальными черточками |  | ). Если приведена опция FILE, то любые данные, приведенные после опции DATA, игнорируются.

Флаг системы счисления

принимает значения:

B – двоичная система счисления;

O – восьмеричная система счисления (бит старшего разряда расположен по младшему адресу);

X – шестнадцатиричная система счисления (бит старшего разряда расположен по младшему адресу).

Данные программы помещаются между знаками доллара $ и могут располагаться как слитно, так и разделяться одним или несколькими пробелами. Поток данных начинается с нулевого адреса, по которому размещается первый разряд данных. Следующий бит относится ко второму разряду данных, и так до тех пор, пока не будут определены состояния всех разрядов по этому адресу.


После этого перечисляются данные по следующему адресу и т. д., как и в ПЗУ.

Модель ОЗУ состоит из двух секций записи и считывания данных, которые имеют различные выводы для подачи сигналов разрешения, различные выводы для записи и считывания данных и общие выводы адреса (рис. 6.15).

При записи данных в ОЗУ

необходимо сначала подать сигналы на адресные входы и входы данных и не изменять их в течение определенного времени – времени установления
 и
 соответственно, после чего установить “1” на входе разрешения записи. Этот сигнал должен удерживаться в течение некоторого минимального интервала времени
 и затем может быть сброшен в “0”. При этом сигналы адреса и данных не должны изменяться в течение времени, когда сигнал разрешения записи находится в состоянии “1” и удерживается еще некоторое время
 и
, прежде чем измениться.

Для чтения из ОЗУ на вход разрешения чтения необходимо подать “1”, а состояния узлов выходных данных изменяются от состояния высокого импеданса Z до соответствующего состояния спустя некоторое время
. В течение времени, пока сигнал разрешения чтения находится в состоянии “1”, сигналы адреса могут изменяться, и если это так, то новые данные доступны на выходах через некоторое время задержки
.



Рис. 6.16. Переходные процессы в ОЗУ:

а

- запись, б - чтение
Переходные процессы при записи и считывании из ОЗУ показаны на рис. 6.16.

В модели ОЗУ ничто не препятствует одновременно установить “1” на входах разрешения чтения и записи, хотя в большинстве реальных ОЗУ это не допускается. Новые считанные данные посылаются на выходы данных после перехода сигнала разрешения записи из “1” в “0”.

Модель динамики ОЗУ имеет формат

 

.MODEL <имя модели динамики> URAM  [(параметры модели динамики)]

Параметры этой модели приведены в табл. 6.13 (значение по умолчанию – 0, единица измерения – с).

Таблица 6.13

Идентификатор

Параметр

TPADHMN

Время выборки адреса при переключении выходов “0”
”1”, минимальное значение

TPADHTY

То же, типичное значение

TPADHMX

То же, максимальное значение

TPADLMN

Время выборки адреса при переключении выходов “1”
”0”, минимальное значение

TPADLTY

То же, типичное значение

TPADLMX

То же, максимальное значение

TPERDHMN

Время выборки разрешения при переключении выходов “Z”
”1”, минимальное значение

TPERDHTY

То же, типичное значение

TPERDHMX

То же, максимальное значение

TPERDLMN

Время выборки разрешения при переключении выходов “Z”
”0”, минимальное значение

TPERDLTY

То же, типичное значение

TPERDLMX

То же, максимальное значение

TPERDHZMN

Время выборки разрешения при переключении выходов “1”
”Z”, минимальное значение 

TPERDHZTY

То же, типичное значение

TPERDHZMX

То же, максимальное значение

TPERDLZMN

 Время выборки разрешения при переключении выходов “0”
”Z”, минимальное значение

TPERDLZTY

То же, типичное значение

TPERDLZMX

То же, максимальное значение

TSUDEWMN

Время установления данных относительно переднего фронта сигнала разрешения, минимальное значение

TSUDEWTY

То же, типичное значение

TSUDEWMX

То же, максимальное значение

TSUAEWMN

Время установления адреса относительно переднего фронта сигнала разрешения, минимальное значение

TSUAEWTY

То же, типичное значение

TSUAEWMX

То же, максимальное значение

TWEWHMN

Длительность сигнала разрешения при записи “1”, минимальное значение

TWEWHTY

То же, типичное значение

TWEWHMX

То же, максимальное значение

TWEWLMN

Длительность сигнала разрешения при записи “0”, минимальное значение

TWEWLTY

То же, типичное значение

TWEWLMX

То же, максимальное значение

THDEWMN

Время удержания входных данных относительно заднего фронта сигнала разрешения записи, минимальное значение

THDEWTY

То же, типичное значение

THDEWMX

То же, максимальное значение

THAEWMN

Время удержания адреса по отношению к заднему фронту сигнала разрешения записи, минимальное значение

THAEWTY

То же, типичное значение

THAEWMX

То же, максимальное значение

<


6.4.6. Прочие устройства

Источники постоянных логических сигналов. Эти компоненты имеют выходы, но не имеют входов. Логический уровень выходного сигнала равен “1” для источников типа PULLUP и “0” для источников типа PULLDN.

Внутренние сопротивления источников задаются при описании модели вход/выход. Модель динамики эти источники не имеют. Приведем их описание:

Тип

Параметр

Порядок перечисления выводов

Функциональное назначение

PULLUP

Количество источников логического сигнала “1”

Вых.1, вых.2, ...

Матрица источников

PULLDN

Количество источников логического сигнала “0”

Вых.1, вых.2, ...

Матрица источников

Приведем пример задания источников логических сигналов со своими моделями вход/выход:

U4 PULLUP(2)   $G_DPWR   $G_DGND  ; Два источника “1”

+  PIN0   PIN1   R2K

U5 PULLDN(4)  $G_DPWR  $G_DGND  ; Четыре источника “0”

+  BUS0, BUS1, BUS2, BUS3 R50

.MODEL R2K UIO (drvh=2K)

.MODEL R50 UIO (drvl=50)

Цифровые линии задержки. Они осуществляют задержку входного сигнала любой длительности (заметим, что вентили не пропускают импульсы, длительность которых меньше времени задержки). Линии задержки имеют тип DLYNE, в списке узлов после перечисления узлов подключения источника питания указываются <узел входа> и <узел выхода>.

Модель динамики линии задержки имеет форму

.MODEL <имя модели> UDLY [(параметры)]

Линия задержки имеет следующие параметры (значение по умолчанию – 0, единица измерения – с):

Идентификатор

Параметр

DLYMN

Минимальная задержка

DLYTY

Типичная задержка

DLYMX

Максимальная задержка


Содержание раздела