Официальный сайт студ.городка НГТУ
Учеба » DesignLab, объясните плз пару строчек из DSL-кода... 

#1  26.05.06 17:17

DesignLab, объясните плз пару строчек из DSL-кода...

Значит есть следующие операции с сигналами:
PRESET = { R | ~SE| ~S0) }
RESET=    {~R & (~SE | S0) }
Hе могу дотупить, что они делают . Как я понял "~" - это отрицание(инвертирование) сигнала, "&" - логическое И,
в частности интересует что за операция "|".

Offline

#2  26.05.06 17:49

Re: DesignLab, объясните плз пару строчек из DSL-кода...

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

Offline

#3  26.05.06 19:10

Re: DesignLab, объясните плз пару строчек из DSL-кода...

Хех я тоже думал, но та же операция применяется в строчке, которая описывает ситуацию работы элемента И-НЕ. Вот это меня в тупик и поставило.
Ты точно уверен что ИЛИ?

Исправлено Grad (26.05.06 19:11)

Offline

#4  26.05.06 23:44

Re: DesignLab, объясните плз пару строчек из DSL-кода...

up

Offline

#5  27.05.06 02:32

Re: DesignLab, объясните плз пару строчек из DSL-кода...

Grad написал(а):

та же операция применяется в строчке, которая описывает ситуацию работы элемента И-НЕ.

приведи этот пример.
ну на 100% конечно ни в чем нельзя быть уверенным :)

Offline

#6  27.05.06 10:26

Re: DesignLab, объясните плз пару строчек из DSL-кода...

UK561IE11LOG LOGICEXP(13,27) VDD VSS                   *блок логики
+ SE_I R_I C_I U/ND_I NCI_I S0_I S1_I S2_I S3_I Q0 Q1 Q2 Q3
+ SE   R   C   U/ND   NCI   S0   S1   S2   S3
+ U1 U2 U3 U4  CLK CIN
+ D0_GATE IO_4000B IO_LEVEL={IO_LEVEL}
+ LOGIC:
*   BUFFER:
+   SE   = { SE_I }
+   R   = { R_I }
+   C   = { C_I }
+   U/ND = { U/ND_I }
+   NCI  = { NCI_I }
+   S0  = { S0_I }
+   S1  = { S1_I }
+   S2  = { S2_I }
+   S3  = { S3_I }
+
*   INTERMEDIATE TERMS:
+   RESETBAR   = { ~R }   ; U/ND&Q1 AND U/ND|Q1 CAN MINIMIZE
+   U1  = { ~(Q0 ^ U/ND) & ~NCI }(здесь  сигналы Q0 и U/D входят в XOR и инвертируются на выходе, после чего выходной сигнал XOR-НЕ вместе с инвертированым значением сигнала NCI подаются на входы элемента И-НЕ)
+   U2  = { (U/ND & Q1 & Q2 & Q3) | ~(U/ND | Q1 | Q2 | Q3) }
+   U3  = { (U/ND & Q1) | ~(U/ND | Q1) }
+   U4  = { (U/ND & Q1 & Q2) | ~(U/ND | Q1 | Q2) } (вот эта операция на графической схеме реализована тремя элементами И-НЕ, в один входят сигналы U/D, Q1, Q2, в другой их инвертированные значения. Выходы этих двух элементов поданы на входы третьего И-НЕ. Тоже самое имеем для сигналов U2 b U3)
+   CIN = { ~NCI }

И в то же время операция "CLK     = { ~(C | R | SE) }" реализуется на схеме элементом ИЛИ-НЕ, в который входят сигналы C, R, SE.
Вот я и нем могу понять, каким макаром компилятор различает эти операции и что за "|" связывает сигналы.

Offline

#7  27.05.06 11:43

Re: DesignLab, объясните плз пару строчек из DSL-кода...

по правилам преобразования получается
что этот код

Код::

U4 = (U/ND & Q1 & Q2) | ~(U/ND | Q1 | Q2)

эквивалентен этому

Код::

U4 = ~(~(U/ND & Q1 & Q2) & ~(U/ND & Q1 & Q2))

теорию автоматов помнишь? приведение базисов (или что-то подобное)

ftp://begemot.hostel.nstu.ru/Upload/pix/inv.PNG


если учитывая это привести твою схему

Grad написал(а):

операция на графической схеме реализована тремя элементами И-НЕ, в один входят сигналы U/D, Q1, Q2, в другой их инвертированные значения. Выходы этих двух элементов поданы на входы третьего И-НЕ.

к базису И-НЕ, то получится эквивалентная схема (можешь проверить по таблице истинности или в том же DesignLab'e)
PS: эквивалентно то оно эквивалентно, только не пойму, почему на схеме одно, в коде другое :-D

Исправлено Fatboy (27.05.06 12:10)

Offline

#8  27.05.06 12:23

Re: DesignLab, объясните плз пару строчек из DSL-кода...

В принципе должно работать. Схема с кодом может разнится в том плане, что схема была взята из pdf-описания устройства, а код из библиотеки DesignLab. В последней, возможно, на элементную базу устройства не сильно обращали внимания, лишь бы выполняло заданные функции :)
Спасибо за подсказку.

Offline

Учеба » DesignLab, объясните плз пару строчек из DSL-кода... 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.458 сек.
Выполнено 11 запросов.