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


Функциональное описание цифровых устройств - часть 2


– входные узлы;

– предварительно определенные временные переменные;

– предварительно определенные выходные узлы;

– логические константы “0”, “1”, “X”, “R”, “F”.

При записи выражений можно применять круглые скобки для группирования операндов. Все эти логические выражения могут использоваться также и в программе Probe.

Модель динамики примитива LOGICEXP имеет такой же формат, как стандартные вентили:

 

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

 

Логические выражения вычисляются в процессе моделирования в порядке их следования. Задержка появления сигналов на выходных узлах определяется в модели динамики. Внутренние обратные связи в логических выражениях не допускаются, однако  внешние обратные связи по-прежнему возможны.

Приведем пример описания логики функционирования арифметико-логического устройства 74181. Временные задержки будут заданы ниже с помощью примитивов PINDLY и CONSTRAINT:

 

U74181  LOGICEXP( 14,  8)  DPWR  DGND

+  A0BAR  A1BAR  A2BAR  A3BAR  B0BAR  B1BAR  B2BAR 

+  B3BAR  S0  S1  S2  S3  M  CN  LF0BAR  LF1BAR  LF3BAR

+  LAEQUALB  LBAR  LGBAR  LCN+4

+  D0_GATE  IO_STD

+

+  LOGIC:

*

*Промежуточные переменные

*

+  I31 = { ~((B3BAR & S3 & A3BAR) | (A3BAR & S2 & ~B3BAR)) }

+  I32 = { ~((~B3BAR & S1) | (S0 & B3BAR) | A3BAR) }

+

+  I21 = { ~((B2BAR & S3 & A2BAR) | (A2BAR & S2 & ~B2BAR)) }

+  I22 = { ~((~B2BAR & S1) | (S0 & B2BAR) | A2BAR) }

+

+  I11 = { ~((B1BAR & S3 & A1BAR) | (A1BAR & S2 & ~B1BAR)) }

+  I12 = { ~((~B1BAR & S1) | (S0 & B1BAR) | A1BAR) }

+

+  I01 = { ~((B0BAR & S3 & A0BAR) | (A0BAR & S2 & ~B0BAR)) }

+  I02 = { ~((~B0BAR & S1) | (S0 & B0BAR) | A0BAR) }

+

+ MBAR =  {~M}

+ P = { I31 & I21 & I11 & I01 }

*

* Выходные переменные

*

+ LF3BAR = { (I31 & ~I32) ^

+    ~( (I21 & I11 & I01 & Cn & MBAR) | (I21 & I11 & I02 & MBAR ) |

+       ( I21 & I12 & MBAR) | (I22 & MBAR) ) }




- Начало -  - Назад -  - Вперед -