Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 69
Текст из файла (страница 69)
Карта Карно для другой схемы, реализующей сумму произведений: (а) исходный проект; ()з) включение дополнительных термов-произведений для подавления единичных статических источников опасности Правильно составленная двухуровневая схема ИЛИ-И, реализующая произведение сумм, не имеет единичных статических источников опасности. Однако у нее когут быть нулевые статические источники опасности. Эти источники опасности можно обнаружить и устранить, рассматривая соседние нули в карте Карно по принципу, являющемуся двойственным по отношению к тому, что обьясиено выше.
~ 11 У ау )ь 1О Рис. 4.47. Схема с по- давлением единич- ного источника опас- ности 296 Глава 4. Принципы проектирования комбинационных лопечвокмх схем '4.5.3. Динамические источники опасности Динам ич«ский источник анас«асти (йупат1с йазагсГ> — это возможность того, что выходной сигнал будет менять свое значение несколько раз в результате однократ ного изменения комбинации входных сигналов. Многократные изменения выход ного сигнала могут происходить в том случае, когда существует несколько путей с различными задержками, по которым изменяющийся сигнал проходит от входа до выхода. Рассмотрим, например, схему на рис. 4.49; здесь есть три разных пути от входа Х до выхода г. Один путь проходит через медленный вентиль ИЛИ, а другов через еще более медленный вентиль ИЛИ. Если сигналы УК Х, У, Е на входах схемы имеют значения О, О, О, 1, то выходной сигнал равен 1, как показано на рисунке, Теперь предположим, что значение сигнала Х изменяется и становится равным 1, Положим, что все другие вентили, за исключением тех двух, которые помечены как «медленный» и «еще более медленный», являются настолько быстродействующими, что переходы, указанные черным цветом, происходят сразу же„и выходной сигнал становится равным О.
Через некоторое время изменяется сигнал иа выходе «медлеиного» вентиля ИЛИ, вызывая переходы, указанные синим прямым шрифтом, так что выходной сигнал принимает значение 1. Наконец, изменяется сигнал на выходе «еще более медленного» вентиля ИЛИ, в результате чего происходят переходы, указанные синим курсивом, а выходной сигнал принимает свое окончательное значение, равное О.
медленной Рис. 4.49. Схема с динамическим источником опасности В правильно построенных двухуровневых схемах И-ИЛИ и ИЛИ вЂ” И динамические источники опасности отсутствуют; зто справедливо в том случае, когда ниыкой входной сигнал и его инверсия не поданы одновременно иа входы олного " того же вентиля первого уровня. Для обнаружения динамических источников опасности в многоуровневых схемах используется метод, упоминаемый в Обзоре ли тературы.
*4.5.4. Проектирование схем без источников опасности Ситуаций, когда требуются комбинационные схемы, свободные от источнике иков опасности, совсем немного; один из таких случаев — разработка последовател~ постных схем с обратной связью. Методы обнаружения источников опасности сти в 4.6. Язык описания схем АВЕЬ 297 произвольных схемах, о которых говорится в Обзоре литературы, довольно трудно применять на практике. Поэтому в случае, когда вам необходимо построить схему без источников опасности, лучше всего использовать такую конфигурацию схемы, которую легко проанализировать.
Мы упоминали„в частности, что в правильно спроектированной двухуровневой схеме И-ИЛИ нет нулевых статических и динамических источниюв опасности. В таких схемах могут существовать единичные статические источники опасности, но нх можно найти и исключить с помощью карт, используя описанный выше метод. Если вопрос стоимости схемы не критичен, то свободная от источников опасности реализация получится в результате применения грубого метода, состоящего в использовании полной суммы, то есть суммы всех простых импликант логической функции (см. задачу 4.34).
Аналогично, по принципу двойственности, можно построить свободную от источников опасности двухуровневую схему ИЛ И- И для любой логической функции. Наконец, имейте в виду, что все сказанное о схемах И-ИЛИ естественным образом переносится на случай проектирования соответствующих схем И-НЕ-И-НЕ, а все сказанное о схемах ИЛИ-И применимо к схемам ИЛИ-НЕ-ИЛИ-НЕ. В БОЛЬШИНСТВЕ СЛУЧАЕВ ИСТОЧНИКИ ОПАСНОСТИ НЕ СТРАШНЫ Любую комбинационную схему можно проанализировать на наличие в ней источников опасности. Однако структура хорошо спроектированной синхронной цифровой системы бывает такова, что для большинства узлов системы нет необходимости проводитьанализ наналичиеисточниковопасности.
В синхронной системе изменение всех сигналов на входе юмбинационной схемы происходит в определенный момент времени, а выходные сигналы «принимаются во внимание» только спустя время, необходимое для того, чтобы они приняли значения, соответствующие установившемуся режиму. Анализ на наличие источников опасности и их устранение необходимы, как правило, только в случае проектирования асинхронных последовательностных схем, таких как схемы с обратной связью, рассматриваемые в параграфе 7.9. Разработкой подобных схем приходится заниматься не часто, но если уж имеет место такой случай, то понимание природы источниюв опасности абсолютно необходимо для получения надежного результата.
4.6. ЯЗЫК ОПИСаНИЯ СХЕМ АВЕЕ Язык описания схем АВЕЬ предназначен для того, чтобы позволить разработчику зала»ать логические функции, которые должны быть реализованы в ПЛх Программа на языке АВЕЬ представляет собой текстовый файл, содержацшй несюлько элементов: ° Документацию, в том числе имя программы и комментарии. ° Объявления, указывающие входы и выходы логических функций, которые должны быть реализованы. 298 Глава я. Принципы проектирования комбинационных лопечвских охом ° Операторы, задающие логические функции, которые должны быть реализова ны. ° Как правило, обьявление типа ПЛУ или другого устройства, в котором должны быть реализованы указанные логические функции. ° Как правило, «векторы проверок», которыми задаются ожидаемые значения логических функций для некоторых комбинаций переменных. Язык АВЕЬ поддерживается про<!ессорочлзь<каАВЕЕ(АВЕЕ!апяиаяергасеззаг) который мы будем называть также качлчляторач языка АВЕ1.
(АВЕЕ сотрйег). Назначение компилятора состоит в том, чтобы оттранслировать текстовой файл написанный на языке АВЕЬ, в «рисунок соединений», который можно бы было загрузить в физическое ПЛУ. Хотя большинство ПЛУ можно программировать только по рисунку, соответствующему выражениям вида «сумма произведений», Язык АВЕЬ допУскает задание фУнкций, котоРые пРедстоит Реализовать в ПЛУ в виде таблиц истинности„либо в виде вложенных операторов "1 е ", а также в формате любых алгебраических выражений.
Компилятор обрабатывает эти форматы и минимизирует результирующее соотношение так, чтобы подогнать его, если только это возможно, под структуру имеющегося ПЛУ. О струк<урал ПЛУ, рисунках соединений несвязанных с этим понятиях и представлениях речь пойдет позднее в параграфе 5.3, где будет показано, как в программе на языке АВЕ1. учитываются особенности данного ПЛУ. А пока что мы покажем, как можно воспользоваться языком АВЕЬ для задания комбинационных логических функций без обязательного обьявления типа устройства, в котором они должны быть реализованы. Впоследствии, в параграфе 7.11, мы сделаем то же самое для последовательностных логических функций. 4.6.1.
Структура программ на языке АВЕ~ В табл. 4.10 приведена типичная структура программы на языке АВЕЬ, а в табл. 4. ! 1 — реальная программа, демонстрирующая следующие характерные особенности языка: ° Идентифчкаторы (Ыелг<у)егз) должны начинаться с буквы или символа подчеркивания, могут содержать до 3 ! буквы, цифры и символа подчеркивания и чувствительны к регистру.
Программный файл начинается с оператора «<ос!и1е, который связывает идентификатор (А1аг<п с(гсцзс) с программным модулем. В больших программах может быть много модулей; каждый из них имеет свой собственный локальный заголовок, свои объявления и равенства, Заметьте, что ключевые слова, такие как "пюс(ц1е", не <увствительнь< к регистру. ° Оператором «1 с1е задается строка заголовка, которая будет вставляться компилятором в создаваемые файлы документации. 4.6.
Язык описания схем АВЕК 299 Табл. 4. 10. Типичная структура программы на языке АВЕН Табл. 4. 11. ПРогРамма на языке АВЕК для схемы охранной сигнализации, п ри- веден ной на рис. 4,19 шоап1е А1агш„САгспзс с111е 'А1агш С1гспаа ехияр1е МаКег1у, М1сго Нувсешв ЕпЕАпевгзпЕ' АЕАНМСКТ !!еу1се 'Р1678С'! р1п 1, 2, 3; рзп 4, Б, 6; р1п 11 Авгуре 'сош' " Сопвсвпг ае11п111оп Х = .Х.; 1псегшеа1асе е<!пас1оп Беснне " м1ИООМ а 000к А сАКАсе; ес!иа11опв А!.АНМ РАИ1С № ВИАН!.ЕА Ф !ЕХ1Т1МС Н !ЯНСОНЕ; севй уессогв (1РАИ1С,ЕМАВ! ЕА,ЕХ111МС,М1МООМ ОООК*САНАСЕ] .Х , Х , Х , Х , Х ] [ О, О, .Х , Х , Х , Х ] 1 О, 1, 1, .Х ~ .Х. Х ] Г О, 1, О, О, .Х , Х.] С О, 1, О, .Х., О, .Х.] С О.
!. О, .Х , Х., О] 1 О, 1, О, 1, 1, 1] епо А1агш 01гсп1С Строка (е!г!лд) — это последовательность символов, заключенная в одинар- ные кавычки. шоап1е тоня!е поте С1С1е иг!ла Мех!се!!Э аеу1се дегтсеурре; р!л нег)ага!топе о!лег г!ес!ага№ол! е<!пак1опв едиааопе севс уессогв мл геемгг епо !пел!и!е лате 1прпг р1пв РАМХС, ЕМАВЬЕА, ЕХ1Т1ИС Ы1МРОМ, РООК, САКАСЕ " Опсрпс р1пв А1АНИ -> ~А!АНМ]) -> Г 1]; -> С О]; -> Г О]; "> ( 1]; -> Г 1]; -> ~ 1]; -> ! О]; 300 Глава 4. Принципы проектирования комбинационных логических схем Необязательное объявление сГеизсе содержит идентификатор устройства (Аьдпмскт) и строку, посредством которой указывается тип устройства (' Р1 бч8с' для ис ОАь(бчЗ), компилятор использует идентификатор в именах генерируемых им файлов документации, а по типу устройства определяет; может ли это устройство реально выполнять логические функции, заданные в программе.