![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation ражениями, являющимися результатом операции И над правыми частями этих равенств при соответствующих условиях. Роль TrueEquation и необязательного FalseEquation в операторе WHEN могут играть любые равенства. Кроме того, операторы WHEN могут быть вложены один в другой, путем помещения другого оператора WHEN на место FalseEquation. Когда имеются вложенные операторы, все условия, приводящие к исполняемому утверждению, объединяются посредством логической операции И. Этот принцип иллюстрируется равенством для X ЗА в табл. 4.14, которое является не содержащим WHEN эквивалентом оператора для X 3. Другой оператор WHEN может играть роль TrueEquation, но только в том случае, если он заключен в фигурные скобки, как показано в таблице в примере для Х4. Это просто один из примеров использования фигурных скобок. В уже рассмотренных нами примерах во всех частях любого из операторов WHEN происходило присвоение значения одному и тому же выходному сигналу, но это не обязательно всегда должно быть так. Соответствующим примером служит второй от конца оператор WHEN в табл. 4.14. Часто бывает полезно осуществить несколько присваиваний в TrueEquation и/или в FalseEquation. С этой целью язык ABEL допускает наличие блоков равенств повсюду, где могут находиться одиночные равенства. Блок равенств {equation block) - это заключенная в фигурные скобки последовательность операторов, как показано на примере последнего оператора WHEN в таблице. Отдельные операторы в этой последовательности могут быть простыми операторами присваивания, операторами WHEN или вложенными блоками равенств. После закрывающей фигурной скобки блока точка с запятой не ставится. Шутки ради, в табл. 4.15 приведены равенства, составленные компилятором языка ABEL для всей программы в нашем примере. 4.6.4. Таблицы истинности Язык ABEL предоставляет еще одну возможность задания комбинационных логических функций - с помощью таблицы истинности {truth table), формат которой в общем случае имеет вид, указанный в табл. 4.16. Таблица истинности вводится ключевым словом truth table. В input-list {список входных сигначов) и output-list {список выходных сигналов) перечисляются имена входных и выходных сигналов, фигурирующих в таблице. Каждый из этих списков состоит либо из одного имени сигнала, либо из набора имен; наборы исчерпывающим образом описаны в разделе 4.6.5. За введением в таблицу истинности следует ряд утверждений, каждое из которых задает значение входного сигнала и требуемое значение выходного сигнала с помощью нетактируемого оператора таблицы истинности -> {unclocked truth-table operator). Например, таблица истинности для инвертора имеет вид: truth table (X -> NOTX) 0 -> 1; 1 -> 0; Табл. 4.14. Примеры операторов when module WhenEx title WHEN Statement Examples Input pins A, B, C, D, E, F pin; Output pins Xi, XIA, X2. X2A. X3, X3A, X4 pin istype com; X5, X6. X7, X8. X9, XIO pin istype com; equations WHEN (!A # B) THEN XI = С & !D; XIA (LA # B) & (C & !D); WHEN (A fe B) THEN X2 = С # D; ELSE X2 = E # F; X2A = (A & B) & (C # D) # ! (A & B) fe (E # F) ; WHEN (A) THEN X3 = D; ELSE WHEN (B) THEN X3 = E; ELSE WHEN <C) THEN X3 = F; X3A = (A) & (D) # !(A) & (B) к (E) # ! (A) & ! (B) & (C) к (F); WHEN (A) THEN {WHEN (B) THEN X4 = D;> ELSE X4 = E; WHEN (A & B) THEN X5 = D; ELSE WHEN (A # !C) THEN X6 = E; ELSE WHEN (B # C) THEN X7 = F; WHEN (A) THEN { X8 = D & E & F; WHEN (B) THEN X8 = 1; ELSE {X9 = D; XIO - E;} } ELSE -C X8 = !D # !E; WHEN (D) THEN X9 = 1; CXIO - С fe D;} end WbenEx ABEL 6.30 Design vhenex created Wed Dec 2 1998 Title: ШЕК Statement Examples 36/42 Best P-Term Total: 30 Total Pins: 19 Total Nodes: 0 Average P-Term/Output: 2 Equations: XI = (C It !D 4 !A # С £ !D ft B) ; XIA = (C It !D ft !A
X3 = (C ft !A ft !B ft F !A ft В ft E # D ft A) ; X3A = (C ft !A ft !B ft F # !A ft В ft E # D ft A) ; X4 = (D ft A ft В # !A ft E); X5 = (0 ft A ft B); X6 = (A ft !B ft E # !C ft !A ft E); X7 = (C ft !A ft F); X8=(DftAftEftF # A ft В # !A ft !E # !D ft !A); X9 = (D ft !A # D ft !B); XIO = (C ft D ft !A # A ft !B ft E); Reverse-Polarity Eqns: !X1 = (A ft !B # !C); !X1A = (A ft IB # !C): !X2 = (!C ft !D ft A ft в !B ft !E ft !F !A ft !E ft !F); !X2A = (!C ft !D ft A ft В # !B ft !E ft !F !A ft !E ft !F); !X3 = (!C ft !A ft !B # !A ft В ft !E # D ft A # !A ft !B ft !F); !X3A = (!C ft lA ft !B # <A ft В ft !E # <D ft A # !A ft !B ft !F); !X4 - (A ft !B # !D ft A !A ft !E)j !X5 = (!A # !D # !B); !X6 = (A ft В # С ft !A # !E); !X7 = (A # !C # !F); !X8 = (A ft !B ft !F # D ft !A ft E # A ft !B ft !£ # !D ft A ft !B); !X9 = (!D # A ft B); !X10 = (A ft В # !D ft !A # !C ft !A # A ft !E); Табл. 4.16. Структура таблицы истинности в языке ABEL Список значений входных truth.table (input-list -> output-list) input-value -> output-value; input-value -> output-value; сигналов не обязательно должен быть полным; следует указывать лишь множество включений, если только не предусматривается наличие безразличных комбинаций (см. раздел 4.6.6). В табл. 4.17 показано, как можно на языке ABEL задать Табл. 4.15. Файл синтезированных равенств, созданный компилятором языка ABEL для программы, приведенной в табл. 4.14 ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |