![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation 5.1.5. Метод проектирования инверсия к инверсии Опытные разработчики логических устройств создают свои схемь[ на языке логических функций, которые должны выполнятся внутри символически изображенного блока. Проектируете ли вы на основе дискретных схем или с использованием языков описания схем, таких как ABEL и VHDL, проще всего представлять логические сигналы и их взаимодействие, пользуясь именами высоких активных уровней сигналов. Однако, как только схема готова к реализации, вам, вероятно, придется иметь дело с низкими активными уровнями сигналов из-за требований, предъявляемых внещним окружением. Когда вы проектируете платы или специализированные ИС на уровне отдельных вентилей, часто главным требованием является быстродействие. Как было показано в разделе 3.3.6, инвертирующие вентили обычно быстрее, чем неинвертирующие, поэтому перевод некоторых сигналов в форму с низким активным уровнем часто приводит к существенному улучшению характеристик. При проектировании с применением крупных узлов многие из них могут содержать в своем составе микросхемы или другие компоненты, у которых на отдельных входах и выходах активным может быть низкий уровень сигнала. Причины, по которым используется низкий активный уровень, могут быть разными: от улучшения характеристик до многолетних традиций, но в любом случае вам все же придется иметь с ним дело. Логическое проектирование по принципу инверсия к инверсии {bubble-to-bubble logic design) представляет собой практику выбора таких условных обозначений и имен сигналов, включая указатели активного уровня, которые делают функцию, реализуемую логической схемой, более понятной. Обычно это означает выбор имени сигнала, типа вентиля и условного обозначения такими, чтобы большинство кружков инверсии взаимно уничтожилось и логическая блок-схема могла быть проанализирована так, как если бы все сигналы имели высокий активный уровень. Предположим, например, что нам требуется сформировать сигнал пуска GO , когда при наличии сигнала готовности READY мы получаем сигнал запроса REQUEST . Из постановки задачи ясно, что требуется схема И; на языке булевой алгебры мы бы записали: GO = READY- REQUEST. Однако для реализации функции И мы можем воспользоваться различными схемами в зависимости от необходимого активного уровня для сигнала GO и активных уровней имеющихся входных сигналов. имя сигнала! Хотя абсолютно необходимо присваивать имена только сигналам, действующим на основных входах и выходах схемы, большинство разработчиков считают полезным давать имена также и внутренним сигналам. В процессе отладки схемы хорошо иметь имя для указания на странно ведущий себя внутренний сигнал. Большинство систем машинного проектирования автоматически генерируют метки для неназванных сигналов, но имя, выбранное пользователем, предпочтительнее имени, создаваемого компьютером, например, такого: XSIG1057. READY REQUEST =L> READY REQUEST > GO L READY L -0 REQUEST L -0 READY L -0 REQUEST L -О L> GO L Рис. 5.9. Различные варианты формирования сигнала GO: (а) высокие активные уровни сигналов на входах и на выходе; (Ь) высокие активные уровни сигналов на входах, низкий активный уровень сигнала на выходе; (с) низкие активные уровни сигналов на входах, высокий активный уровень сигнала на выходе; (d) низкие активные уровни сигналов на входах и на выходе Активные уровни имеюищхся сигналов не всегда соответствуют активным уровням схем, которыми мы располагаем. Предположим, например, что имеются входные сигналы READY L (низкий активный уровень) и REQUEST (высокий активный уровень). На рис. 5.10 показаны два различных способа формирования сигнала GO с использованием инвертора для образования активного уровня, необходимого для схемы И. Второй вариант, как правило, предпочтительнее, поскольку инвертирующие вентили, подобные схеме ИЛИ-НЕ, обычно быстрее неинвертирующих, таких как схема И. В каждом случае мы изобразили инвертор по-разному, чтобы сделать активный уровень на его выходе соответствующим имени сигнала. READY.L -REQUEST - READY j-GO READY.L-REQUEST - REQUEST L > Рис. 5.10. Еще два варианта формирования сигнала GO с разными активными уровнями входных сигналов: (а) вариант со схемой И; (Ь) вариант со схемой ИЛИ-НЕ Чтобы понять выгоду от применения метода проектирования по принципу инверсия к инверсии , рассмотрим схему на рис. 5.11 (а). Что она делает? В параграфе 4.2 мы изучили несколько способов анализа такой схемы, и, конечно, могли Нарис. 5.9(a) показан простейший случай, где сигнал GO должен быть с высоким активным уровнем, так же как и имеющиеся входные сигналы; здесь мы применяем схему И. С другой стороны, если устройство, на которое поступает сигнал GO, требует, чтобы на его входе бьш сигнал с низким активным уровнем GO L, то мы можем использовать схему И-НЕ, как показано нарис. 5.9(b). Если имеющиеся входные сигналы имеют низкий активный уровень, можно воспользоваться схемами ИЛИ-НЕ или ИЛИ, как показано нарис. 5.9(c) и (d). бы получить логическое выражение для выходного сигнала DATA, используя эти методы. Однако в случае, когда схема перерисована так, как показано на рис. 5.11 (Ь), выходную функцию можно усмотреть непосредственно из схемы следующим образом: сигнал DATA появляется на выходе, когда активен сигнал ADATA L или сигнал BDATA L; если на вход ASEL подан сигнал активного уровня, то сигнал ADATAL активен только в том случае, когда активен сигнал А, то есть ADATA L является копией А. Когда сигнал ASEL принимает противоположное значение, активен сигнал BSEL и сигнал BDATA L является копией сигнала В. Другими словами, сигнал DATA является копией сигнала А, если активен сигнал ASEL, и сигнал DATA является копией сигнала В, если сигнал ASEL не активен. Даже при том, что в схеме имеются пять символов инверсии, мысленно мы должны выполнить только одно отрицание, чтобы понять работу схемы, а именно, учесть, что сигнал BSEL активен в отсутствие сигнала ASEL. SEL- >- DATA А ASEL- ч> BSEL >1 ADATA L BDATA.L DATA = ASEL-А + ASEL-В Рис. 5.11. 2-входовой мультиплексор (пока не предполагается, что вы знаете, что это такое): (а) загадочная принципиальная схема; (Ь) хорошая принципиальная схема, в которой указаны активные уровни сигналов и использованы соответствующие условные обозначения При желании можно записать алгебраическое выражение для выходного сигнала DATA. Используя методику из параграфа 4.2, мы просто составляем выражения, переходя от схемы к схеме в сторону выхода. При этом можно игнорировать пары символов инверсии, которые сокращаются, и прямо записать выражение, указанное на рисунке синим цветом. На рис. 5.12 показан другой пример. Глядя непосредственно на схему, мы видим, что сигнал EN ABLE L активен, если активны сигналы READY L и REQUEST L или сигнал TEST. Выходной сигнал HALT активен, если оба сигнала READY L и REQUEST L не активны или если активен сигнал LOCK L. Еще раз, в этом примере есть только одно место, где активный уровень на входе вентиля не соответствует уровню входного сигнала, и это отражено в словесном описании схемы. ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |