![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation
Total Pins: 22 Total Nodes: 0 Average P-Term/Output: 4 ний. Если вместо этого некоторые комбинации входных сигналов можно отнести к d-множеству, то профамма может оказаться способной учесть эти безразличные комбинации входных сигналов и достичь лучших результатов минимизации. В языке ABEL определены два механизма отнесения комбинаций входных сигналов к d-множеству. Чтобы воспользоваться любым из них, вы должны включить в вашу профамму директиву компилятору @DCSET или поместить dc в следующий за ключевым словом istype список свойств выходных сигналов, относительно которых вы хотите, чтобы их значения не принимались во внимание при некоторьЕх комбинациях входных сигналов. Один из этих механизмов реализуется операторам нетактируемого при-сваиванш не принимаемых во внимание значений ?= (dont-care unclocked assignment operator). Данный оператор используется в равенствах вместо оператора =, чтобы указать, что комбинацию входных сигналов, при которой выражение в правой части истинно, следует отнести к d-множеству, а не к множеству включений. Хотя этот оператор задокументирован в компиляторе языка ABEL, которым я пользуюсь, к сожалению, похоже на то, что он не работает, и поэтому я не стану более распространяться на эту тему. Второй механизм - это таблица истинности. Если безразличные комбинации входных сигналов разрешены, то к d-множеству относится любая комбинация, которая явным образом не включена в таблицу истинности. Таким образом, устройство для обнаружения простых двоично-десятичных чисел можно задать про-фаммой на языке ABEL, представленной в табл. 4.21. Подразумевается, что комбинации входньпс сигналов 10-15 являются безразличными, так как их нет в таблице истинности и в профамме присутствует директива @DCSET. Табл. 4.20. Информация о синтезированных равенствах, созданных компилятором языка ABEL для программы, приведенной в табл. 4.18 P-Terms Fan-in Fan-out Type Name (attributes) aodule DontCare title Dont Care Examples QDCSET iBput and output pins N3..NO, A, В F, У NUM = CN3..M0]; X = .X.;
pin istype com; Табл. 4.21. Программа на языке ABEL, в которой разрешены безразличные комбинации входных сигналов end DontCare Можно также явно задавать безразличные комбинации, как это показано во второй таблице истинности. Согласно указанию в самом начале этого параграфа компилятор языка ABEL распознает . X. как специальную однобитовую константу со значением все равно . В табл. 4.21 идентификатор X приравнен этой константе только для того, чтобы упростить запись безразличных комбинаций в таблице истинности. Минимизированные равенства, полученные для программы в табл. 4.21, приведены в табл. 4.22. Обратите внимание, что два равенства для F не совпадают; компилятор выбрал различные значения выходного сигнала для безразлич-ш>1х комбинаций входных сигналов. Equations: F = (!N2 к Ш # 1.ЫЗ к N0); Y = (В); Reverse-Polarity Equations-. !F = (N2 & iNO # N3 # Ш1 fe ISO); n = (!B); Табл. 4.22. Минимизированные равенства для программы в табл 4.21 Проверочные векторы используются в языке ABEL, главным образом, в двух ситуациях и со следующими целями: 1. После того как компилятор языка ABEL транслирует программу в конфигурацию соединений для заданной ИС, он осуществляет моделирование работы результирующего запрограммированного устройства, подавая входные сигналы проверочных векторов на входы программной модели устройства и сравнивая сигналы на ее выходах с соответствующими значениями выходных сигналов в проверочных векторах. Разработчик может задать ряд проверочных векторов, чтобы убедиться в том, что устройство функционирует ожидаемым образом при некоторых или при всех возможных комбинациях входных сигналов. 2. После того как ПЛУ запрограммировано физически, программирующее устройство подает входные сигналы из проверочных векторов на входы микросхемы и сравнивает сигналы на ее выходах с соответствующими выходными сигналами проверочных векторов. Это делается для того, чтобы проверить правильность программирования и функционирования микросхемы. К сожалению, как мы сейчас объясним, проверочные векторы языка ABEL редко оказываются очень уж эффективными при выполнении любой из этих задач. Проверочные векторы из табл. 4.11 повторены в табл. 4.24, за исключением того, что, ради удобства представления, в качестве постоянной все равно .X. использован идентификатор X и в виде комментария добавлены номера проверочных векторов. Табл. 4.24, действительно, выглядит, как вполне хороший набор проверочных векторов. С точки зрения разработчика эти векторы полностью описывают ожидаемое функционирование схемы охранной сигнализации, и это описание позволяет вектор за вектором проследить работу схемы: 4.6.7. Проверочные векторы Программа на языке ABEL может содержать необязательные проверочные векторы, как это было продемонстрировано в табл. 4.П. В общем случае формат проверочных векторов очень похож на таблицу истинности, как это видно из табл. 4.23. Ключевое слово test vectors вводит таблицу истинности. В input-list и output-list перечисляются имена входных и выходных сигналов. Каждый из этих списков содержит либо имя единичного сигнала, либо набор. За этим введением в блок проверочных векторов следует последовательность равенств, каждым из которых с помощью оператора-> задается значение входного сигнала и ожидаемое значение выходного сигнала. Табл. 4.23. Структура провероч- ,. ных векторов в языке ABEL test vectors Unput-bst-> output-l.t) input-value -> output-value; input-value -> output-value; ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |