Проектирование цифрового узла в САПР DesignLab 8.0 и OrCAD 9.1, страница 5

+   C = { C_I }     ;Прямая трансляция входных данных

+   D0A = { D0A_I }         ;Прямая трансляция входных данных

+   D0B = { D0B_I }         ;Прямая трансляция входных данных

+   D1A = { D1A_I }         ;Прямая трансляция входных данных

+   D1B = { D1B_I }         ;Прямая трансляция входных данных

+   D2A = { D2A_I }         ;Прямая трансляция входных данных

+   D2B = { D2B_I }         ;Прямая трансляция входных данных

+   D3A = { D3A_I }         ;Прямая трансляция входных данных

+   D3B = { D3B_I }         ;Прямая трансляция входных данных

+   IS = { ~S }                   ;Прямая трансляция входных данных

+   KA = { ~(( D0A & IS) | (S & D0B)) }     ;определение выходного сигнала без учета задержки

+   KB = { ~(( D1A & IS) | (S & D1B)) }     ;определение выходного сигнала без учета задержки

+   KC = { ~(( D2A & IS) | (S & D2B)) }     ;определение выходного сигнала без учета задержки

+   KD = { ~(( D3A & IS) | (S & D3B)) }     ;определение выходного сигнала без учета задержки

+   JA = { ~KA }               ;Прямая трансляция входных данных

+   JB = { ~KB }               ;Прямая трансляция входных данных

+   JC = { ~KC }               ;Прямая трансляция входных данных

+   JD = { ~KD }               ;Прямая трансляция входных данных

*

U298DLY PINDLY (4,0,10) DPWR DGND ;Начало блока задержек имеет 4 пути для которых вычисляется  

  ;задержка один сигнал разрешения и два внутренних сигнала

+ Q0 Q1 Q2 Q3                                                           ;Сигналы для которых вводим задержки

+ D0A D0B D1A D1B D2A D2B D3A D3B S C        ;Внутренние переменные

+ Q0_O Q1_O Q2_O Q3_O                                        ;Выходные сигналы макромодели

+ IO_STD MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

+ PINDLY:

+   Q0_O Q1_O Q2_O Q3_O = { CASE                     ;оператор вычисляет конкретную задержку

+ (TRN_LH, DELAY(-1,10NS,12NS), DELAY(-1,13NS,16NS) )}

+ WIDTH:                                       ;Контроль 

+   NODE = C                                  ;Контроль сигнала C

+   MIN_LO = 7NS                          ;Минимальный интервал логического нуля на входе тактового сигнала

+   MIN_HI = 7NS                           ;Минимальный интервал логической единицы на входе тактового сигнала

+ SETUP_HOLD:                            ;Контроль времени предустановки и удержания

+   DATA(4) = D0A D1A D2A D3A                           ;Всего по четырем входам шины A

+   CLOCK HL = C                                                      ;Относительно тактового сигнала С

+   SETUPTIME = 5.5NS                                            ;Минимальное время предустановки входов D относительно C

+   HOLDTIME = 3NS                                                ;Минимальное время удержания входов D относительно С

+   WHEN = { S!='1 ^ CHANGED(S,0) }

+ SETUP_HOLD:                                                        ;Контроль времени предустановки и удержания

+   DATA(4) = D0B D1B D2B D3B                            ;Всего по четырем входам шины B

+   CLOCK HL = C                                                      ;Относительно тактового сигнала С

+   SETUPTIME = 5.5NS                                            ;Минимальное время предустановки входов D относительно C

+   HOLDTIME = 3NS                                                ;Минимальное время удержания входов D относительно С

+   WHEN = { S!='0 ^ CHANGED(S,0) }

+ SETUP_HOLD:                                                        ;Контроль времени предустановки и удержания

+   DATA(1) = S                                                          ;сигнала S

+   CLOCK HL = C                                                      ;Относительно тактового сигнала С

+   SETUPTIME = 10NS                                              ;Мин. время предустановки сигнала S относительно C