Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 227
Текст из файла (страница 227)
Убедитесь, что последовательное включение построенных вами устройств, позволяет проверять равенство 4п-разрядных операндов, используя всего лишь л логических блоков. ПРАКТИЧЕСКИЕ ДОПОЛНЕНИЯ в эту главу включен ряд «практическнх» вопросов, которые могут представлять определенный интерес для тех, кто собирается стать разработчиком цифровых устройств или уже работает в этой области, Мы лишь поверхностно коснемся каждой из этих тем, поэтому за подробностями нужно обратиться к литературе, специально посвященной затронутым вопросам. 11.1.
Средства автоматизированного проектирования Если бы аппаратные средства не были такими «тяжелыми», их не называли бы яжелезом» ("1~из«ало'Г пал~ Глеу згоиИп'( саП и Пагглеаге ") Многие разработчики цифровых устройств с двадцатилетним опытом считают это утверждение бесспорным Тем не менее, все чаще цифровое проектирование выполняется с использованием программных средств, благодаря которым решение задачи упрощается. Термины автоматизированное проектирование (сотригег-аи1ей аеидп, САР) и автоматизированное конструирование (сотригег-а1йей епя|пеегтя, САЕ) применяются по отношению к совокупности программ, которые поддерживают разработку схем, систем и многого другого Термин "САР" является более общим и используется не только в области электроники, но также в архителтуре, например, и в машиностроении.
В электронике понятие "САР" часто относится к средствам проектирования устройств на физическом уровне, таким как программы компоновки ИС и разводки печатных плат. Термин "САЕ" чаще используется по отношению к средствам проектирования на концептуальном уровне типа редакторов схем, программ моделирования схем и компиляторов ПЛУ. Однако многие из работающих в области электроники (включая автора) склоняются к тому, что эти термины являются синонимами В этом параграфе мы рассмотрим некоторые срелства САР/САВ, используемые при разработке цифровых устройств. 1034 Глава ! 1.
Практические дополнения ЯВЛЯЕТСЯ ЛИ ТЕПЕРЬ РАЗРАБОТКА АППАРАТНЫХ СРЕДСТВ ПРОСТЫМ ДЕЛОМТ Поскольку все чаще аппаратные средства разрабатывают и отлаживают с помощью программных средств, действительно ли их создание становится проще? Согласно опыту автора — не обязательно. Если раньше разработчикам приходилось тратить время на борьбу с паяльниками и пружинными зажимами, то теперь их время уходит на борьбу с ошибками в программах, работающих в программной среде, содержащей ошибки. 1 1 . 1 . 1 .
ЯЗЫКИ оп исвни Я схем В предыдущие десятилетия большинство проектов логических устройств выполнялось графически в виде блок-схем и принципиальных схем. Однако широкое распространение и 90-е годы программируемых логических устройств, технологии создания сверхбольших специазизированных ИС, языков описания схем и синтеза радикально изменило методы разработки больших цифровых устройств. Традиционное использование языков высокого уровня, таких как С, С--ь и 3ата, при создании программного обеспечения, настолько повысило уровень абстракции, что теперь программисты способны создавать более крупные и более сложные системы, правда с некоторой потерей эффективности по сравнению с программными продуктами, написанными на ассемблере и отлаженными вручную.
Ситуация с проектированием аппаратных средств аналогична. Схема, описанная с помощью средств синтеза в языках ЧН1ЭЬ или Чегйов, не может быть такой же мазенькой по размерам и столь же быстродействукчцей„как схема разработанная и вылизанная вручную опытным инженером, но в хороших руках программные средства позволяют создавать гораздо более крупные системы. Без применения программных средств нельзя обойтись, когда речь идет о том, чтобы воспользоваться наличием миллионов вентилей в наиболее совершенных интегральных схемах типа СРЬО и Я% А или в специализированных ИС.
Некоторое время в ходу были языки описания схем„не поддержанные средствами синтеза, но с появлением таких средств использование этих языков уменьшилось. Наиболее известны языки меясреглстровых пересьаок (тешвгег-ггаифег 1алдиаую), которыми в течение десятилетий пользовались для описания работы синхронных систем.
В таком языке система обозначений потокового управления поведением конечного автомата объединяется со средствами описания работы схем на многоразрядных регистрах. Языки межрегистровых пересылок были особенно полезны при машинном проектировании, когда отдельные команды машинного языка представлялись в виде последовательности таких элементарных шагов, как загрузка, хранение, объединение и проверка содержимого регистров. 11.1.2. Ввод схемы Если не считать домашних заготовок, то ваш первый шаг при проектировании схемы состоит, как правило, в том, чтобы убедить кого-то, что предложенный 11.1.
Сре>яства автоматизированного проектирования 1035 вами подход правильный Это значит, что вам надо подготовить блок-схему и слайлы для презентации и обсудить ваши идеи с менеджерами и коллегами с целью предварительной о>!енки проекта (>!ее>8п ген!еи). После того, как ваш проект одобрен, можно, не рискуя, приступать к «функциональному наполнению», то есть рисовать схему. Раньше, как правило, схемы рисовались вручную, но теперь при подготовке все больше используют схемные редак>поры (ес)>е>наг!с еа>!гоге) — программы системы САП, запускаемые на автоматизированном рабочем месте (АРМ) разработчика. Процесс создания принципиальной схемы на компьютере часто называют вводом схемы (во!>етаг!с сар>иге), Этот термин используется потому, что схемный редактор фиксирует больше информации, чем просто рисунок.
Основная информация, содержащаяся в схеме, представлена в виде «надписей» на ней, позволяющих позже, по мере необходимости, извлекать нужную в процессе проектирования информацию автоматически. Чтобы упростить ввод информации и ее извлечение, в схемном редакторе для каждого типа информации обычно предусмотрены поля !7>е!а>е). Информация может быть либо скрыта, либо автоматически выводиться рядом с элементом схемы, к которому она относится. Вот некоторые типичные поля и их назначение: «Тип компонента (сотропеп! гуре). Задавая тип компонента (например, резистор, конденсатор, ИС 74ГСТ374 или ИС ОА1.
! 6У8), разработчик может вызвать символическое изображение этого элемента из библиотеки компонентов (сотропепг !!Ьгагу). У некоторых компонентов есть несколько вариантов изображения, из которых можно выбирать (например, эквивалентные представления вентилей согласно теореме Де Моргана). Тип компонента используется в документации и при моделировании. я Перемен>р компонента (сотропеп! та!ие). Для большинства аналоговых компонентов в этом поле должен быть задан параметр (например: 2.7 кОм). В полях «номинальная мощность» и «допуск» могут быть приведены дополнительные сведения (например: 1/4 Вт, 1««).
Для цифровою компонента в таком поле может быть указано его быстродействие (например: -1О для 10- наносекундного ПЛУ). ЧТО ТАКОЕ «АРМ»? В настоящее время «автоматизированное рабочее место» на основе персонального компьютера может стоить порядка 500 долларов, но при использовании параллельных процессоров его стоимость может возрасти до 50000 долл аров. «Образцом» автоматизированного рабочего места с точки зрения его стоимости (то есть суммы, которую типичная компания может потратить на одного инженера) и эффективности (из числа лучших) является рабочая станция фирмы Яоп. В 2001 году за 5000 долларов можно было получить любую модель такой рабочей станции.
1036 Глава 11. ПРактические дополнения Шифр компонента, разрешенного к применению 1аррготеа'-рагз питЬвг). Используя информацию о типе компонента и о его параметрах, программа САП может автоматически выбрать шифр компонента из представленного компанией «списка компонентов, разрешенных к применению» (например: 12б-10117-0272 для металлопленочного резистора с параметрами 2.7 кОм, 1/4 Вт, 194) илн выдать предупреждение, если такого компонента нет.
1работая в большой компании вы, безусловно, можете воспользоваться только таким компонентом из каталога, который прошел проверку на соответствие техническим условиям (рагм циа!Ясагюп).) Позиционное обозначение (геуегепсв г1е»1дпагог). Этой алфавитно-цифровой меткой указывается вид компонента и его порядковый номер в схеме. Расположение компонента (сотропвпг!осазюп). В этом поле можно указать положение компонента на печатной плате в той или иной системе координат, благодаря чему упрощается задача поиска компонента в процессе отладки. Конечно, на начальной стадии проектирования окончательное положение компонента обычно не известно.
Однако программное обеспечение системы СА0, способное осуществлять обратную аннотацию (Ьас)г аппогайоп), может вставить эту информацию в схему, когда разводка печатной платы закончена. Номера выводов Гргп питбегз). Номерами выводов определяется назначение выводов каждого компонента.
Обычно они заранее введены в условное обозначение компонента, лоторый вызывается из библиотеки компонентов. Однако для микросхем малой степени интеграции и для других компонентов с несколькими идентичными элементами в одном корпусе номера выводов (и даже их позиционное обозначение) не могут быть определены до тех пор, пока не закончена разводка печатной платы. Это еще один случай, когда удобна обратная аннотация. Тип соединена» (и гге гуре). Как правило, при рисовании схем используются соединения только двух типов: «обычное» и «шнна», где шина представляет собой совокупность обычных соединений, которые объединены с целью компактного изображения. Однако в некоторых системах могут понадобиться другие типы соединений, например, сверхширокие шины на печатной плате, по которым передаются аналоговые сигналы и по которым течет большой ток.