Физическое проектирование завершается с созданием на носителе изображения с помощью генератора изображений (ГИ).
Управление проектированием можно считать состоящим из двух основных направлений деятельности: управление процессом и управление данными.
Управляющий проектированием (УП) обеспечивает условия для средств и методологий описания, объединения и управления в системе автоматизированного проектирования.
В данном процессе проектирования УП может:
оказать помощь при выборе соответствующей методологии;
провести выбор средств, если даны требования в разработке, комплект имеющихся средств и ограничивающие факторы;
поддержать строгое соблюдение выбранной методологии и выполнять действия, необходимые для обеспечения правильного по структуре проектирования;
координировать действия нескольких разработчиков;
разработать показатели для определения завершенности процесса проектирования.
Управляющий проектированием располагает также средствами управления данными, которые генерируются или используются в процессе проектирования. Кроме того, УП может прямым или косвенным образом создавать условия для управления разрабатываемым проектом. Поскольку сложность проектирования и область применения технологии АП увеличиваются, представление данных, их хранение и управление ими становится все более важными составляющими процесса проектирования ИС.
Проектирование ИС является процессом с обилием данных. В современных системах автоматизированного проектирования ИС используются базы данных, основанные на обычных принципах записи в виде файлов или на магнитном носителе. Однако в таких системах эти принципы имеют ограниченный успех, что обусловлено различием и разнообразием характеристик проектных данных и процесса проектирования. Поскольку сложность продолжает увеличиваться, существующие базы данных оказываются все в большей степени неадекватными для применений в проектировании ИС. Усилия, предпринимаемые в сфере технологии проектных баз данных, направлены на разработку объектно-ориентированных систем, которые обеспечивают возможности для инкапсуляции данных, абстрактного представления данных и наследования. Такие системы могут оказаться очень полезными при построении интегрированных систем.
Все чаще разработчики ИС или продукция фирм могут существовать только в формате, рассчитанном на применение вычислительной техники. Таким образом, эти данные составляют источники жизненной силы фирмы и им необходимо управлять соответствующим образом. Управление данными проектирования традиционно осуществлялось проектировщиком и очень часто состояло исключительно в обеспечении контроля за интерпретацией файлов. Однако, наряду с интерпретацией, современные интерпретационные средства коллектива из нескольких разработчиков и распределенных сетей автоматизированных рабочих мест требует наличия возможностей для: управления конфигурацией; создания архива; управления согласованностью, восстановлением, целостностью и распараллеливанием; управление хранением; распределения данных; управления доступом к базе данных. Кроме того, эти возможности должны обеспечиваться для уровней компоновки данных как выше, так и ниже файлового.
Модели представляют собой основной способ технологии систематизации и представления информации о технологических процессах для применения в проектировании. Модели как таковые являются важными компонентами любой системы АГТ. Фактически для всех средств автоматизированного проектирования необходимы модели, точность которых в сочетании с точностью средств определяет успех процесса проектирования.
Создание, верификация и эксплуатация моделей и библиотек стоят в ряду основных проблем, с которыми сталкивается современная индустрия АП. Вообще говоря, модели отличаются по технологии, методами и средствами. Под библиотекой будем подразумевать собрание таких моделей. Например, мы можем иметь библиотеку двухмикронных вентильных матриц на базе КМОП-схем для программы моделирования логических схем XN. В рамках заданной технологии и метода такой компонент разработки, как комбинационный логический элемент, может быть представлен с помощью многочисленных моделей, в которых могут сочетаться различные уровни абстракции. В число таких моделей могут входить, например, модели на основе поведенческом, вентильном и транзисторном уровнях; а также логическое моделирование, моделирование неисправностей, временные и топологические модели. Введение новых средств требует введения новых моделей. Необходимо предпринимать тщательные меры предосторожности, направленные на то, чтобы каждое изменение в компоненте разработки или в любой из ее моделей точно и быстро переносились на все представления.
Тенденции развития сферы моделирования и библиотек будут направлены на повышение точности моделей, на разработку статистически обоснованных моделей, на развитие моделей, которые обладают высокой степенью технологической независимости или отображаемости, и, в конечном счете, на разработку и применение стандартных моделей и библиотек.
В сфере моделирования технологических процессов и приборов, моделирование на схемотехническом, приборном и технологическом уровнях активно развивается для одно и двумерных геометрий. В сфере трехмерного моделирования работы будут способствовать разрешению проблемы создания схемотехнической модели для описания трехмерного ИС.
Литература
Угрюмов Е.П. Цифровая электроника. СПб.: БХВ - Санкт-Петербург, 2000. 528 с.: ил.
Шагурин И., Шалтырев В., Волов А. «Большие» FPGA как элементная база для реализации систем на кристалле// Электронные компоненты, 2006. № 5, С. 83—88.
Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL// М.: Додэка-XXI, 2004.
Зотов В.Ю. Проектирование цифровых устройств на основе ПЛИС фирмы XILINX в САПР WebPack ISE// М.: Горячая линия — Телеком, 2003.
Воронежский государственный технический университет
УДК 681.3
О.Ю. Макаров, В.В. Сумин
Создание специализированных
микропрограммных автоматов на базе
специализированных ИС
Рассматривается возможность построения электронных цифровых схем в виде микропрограммных автоматов (МА), оптимизация структуры таких автоматов и адаптация системы команд для заданных условий
При разработке и создании все более сложных и объемных цифровых схем появляется проблема повышения эффективности работы разработчиков и гибкости проекта, а основным требуемым критерием эффективности разработки является время, затраченное на разработку, или, иначе говоря, «time to market» - время от начала реализации проекта до выхода готового продукта на рынок. Другая (и не менее важная) проблема разработчиков это выбор наиболее подходящей архитектуры проекта, которая обеспечивала бы наивысшую надежность работы микросхемы, приемлемую стоимость и легкость модификации проекта в будущем. В настоящей статье рассматривается возможность построения электронных цифровых схем в виде микропрограммных автоматов (МА), оптимизация структуры таких автоматов и адаптация системы команд для заданных условий. Использование МА позволяет решить большинство вышеописанных проблем, создавая высокопроизводительные процессоры с ограниченной функциональностью внутри микросхемы.
Так как МА имеют стандартную архитектуру, применяя которую с небольшими изменениями для разрабатываемого проекта, можно существенно облегчить проектирование специализированных ИС и в несколько раз уменьшить время от начала разработки до выхода конечного продукта. Весь процесс разработки в таком случае заключает в себя следующие этапы:
1. Описание (на уровне блоков) алгоритма.
2. Создание необходимой системы команд.
3. Подключение к микропрограммному автомату необходимых библиотек.
4. Написание микропрограммы.
5. Отладка микропрограммы.
Объединение в одном устройстве сразу нескольких МА позволяет построить конвейерную обработку большого объема данных, распределенные вычисления, нейронную сеть и, что самое важное, реализовать все это внутри одной микросхемы, создавая так называемые System-On-Chip устройства.
Стремясь к достижению высоких технических характеристик и потребительских качеств своей продукции, разработчики электронных устройств используют специализированные ИС (СПИС). Их применение обеспечивает следующие преимущества:
- Сокращение габаритов устройства.
- Повышение технических характеристик (повышение быстродействия и сокращение потребляемой мощности)
- Повышение надежности (так как вероятность поломки прямо пропорциональна количеству ИС, использование СПИС значительно его сокращает).
- Обеспечение защиты разработки (скопировать устройство, содержащее СПИС практически невозможно, что позволяет обеспечить авторские права разработчика).
- Повышение гибкости модификации (модификация СПИС не требует переработки остальных узлов, переразводки печатных плат и т.д.).
Для построения устройств ввода и обработки данных обычно используется следующая архитектура. Центральный процессор через общую шину оперирует устройством ввода-вывода, обрабатывает полученные данные и отправляет их дальше. Но для управления реальными устройствами ввода-вывода необходимо производить большое число операций, не требующих сложных вычислений, но жестко ограниченных по времени. Получается, что центральный процессор вместо того, чтобы заниматься реальной обработкой полученных данных должен обеспечивать своевременное обслуживание устройства ввода-вывода.
Нагрузка на общую шину тоже оказывается значительной из-за большого количества мелких операций между центральным процессором и устройством ввода-вывода. Упростить эту структуру можно разбив процесс обработки на несколько частей, как это показано на рис. 1.
Рис. 1. Архитектура устройств выбора и обработки данных
В этом случае «Контроллер УВВ» обеспечивает нормальное функционирование устройства ввода-вывода, обрабатывая критичные ко времени обработки запросы, «Контроллер связи» готовит данные к передаче и проверяет их целостность на приеме, «Контроллер обработки» занимается предварительной обработкой данных, чтобы разгрузить центральный процессор и общую шину от потока ненужной информации. Реализовать такую структуру можно разными способами: добавив в устройство один или несколько микропроцессоров, но это может быть неудобно по конструктивным, ценовым параметрам или из соображений быстродействия, или создать все эти контроллеры в виде нескольких МА внутри специализированной ИС. Последний вариант является предпочтительным, так как в центре большинства современных устройств лежит большая специализированная ИС, в функции которой входит коммутация сигналов на плате и распределение управляющих сигналов. Внутри этой ИС обычно можно расположить все необходимые МА.
Но это не единственный пример использования МА. Их можно объединять последовательно, параллельно, организовывать из них целые сети, как это показано на рис. 2, все зависит только от требований проекта.
Рис. 2. Организация сетей микропрограммных автоматов
Описание этапов построения МА.
Выбор системы команд
Минимальный набор, позволяющий писать микропрограммы с ветвлениями, состоит из следующих команд:
Его можно дополнять и расширять. Арифметические операции сознательно убраны из списка, так как в большинстве МА они не нужны.
Построение ядра МА
Хотя для каждой конкретной реализации МА конструкция будет отличаться, структура останется неизменной, такой, как показано на рис. 3.
Рис. 3. Структура микропрограммного автомата
Блоки «Host» и «Status» обеспечивают интерфейс с верхним уровнем обработки. Блок «IRQ[xx]» предоставляет возможность организации работы по прерываниям, что совершенно необходимо для работы в реальном времени. Блок «RAM+ROM» служит идеализированной моделью памяти. При практической реализации память команд, память данных и стек удобно разнести. Это оказывается возможно при небольшом размере памяти программ и стека, так как память программ хранится в виде констант, а размер стека определяется алгоритмом работы и может быть расположен на регистрах. «Addr_cnt» - это указатель на следующую команду, которую нужно исполнить, или адрес данных, которые нужно считать или записать. «Stack_cnt» - механизм работы со стеком. «ALU» - ключевой механизм МА, состоящий из дешифратора команд, набора регистров и производящего определенные операции над этими регистрами. В простейшем случае ALU не требует контроллера прерываний и умеет только пересылать данные с места на место и сравнивать их с заданным условием. Но можно построить и такой ALU, который умеет производить сложные операции, такие как сложение, вычитание, умножение, деление, нахождение синуса и так далее, причем в качестве математического сопроцессора может выступать другой МА. Поэтому для каждой конкретной задачи необходимо определить, какие функции ALU являются необходимыми, и подключить к проекту только библиотеки с необходимыми функциями.
Написание микропрограммы
Для удобства написания программ для МА можно создать собственный ассемблер, ставящий в соответствие удобную для восприятия мнемонику с реальными командами МА.
Отладка микропрограммы
Для отладки микропрограммы есть много различных путей, используя комбинацию из них, можно достичь быстрого положительного результата. Во-первых, используемые для отладки специализированные ИС (FPGA) обычно перепрограммируемые, то есть в случае обнаружения ошибки всегда есть возможность исправить эту ошибку без переделки всего устройства. Во-вторых, отладка микропрограммы происходит по частям, что позволяет легко локализовать ошибку и исправить ее. В третьих, использование САПР, такого как Max+Plus, позволяет создавать тестовые входы и выходы МА, имитировать реальную работу всего устройства в симуляторе. В процессе отладки можно использовать FPGA с большим количеством ячеек, чем нужно для функционирования проекта. Это позволит выделять отладочные ресурсы. К таким ресурсам можно отнести дополнительные счетчики, тестовые сообщения и эмуляторы. Эти ресурсы можно перераспределять для отладки отдельных частей микропрограммы. Также можно воспользоваться сигнатурным анализом, то есть индикацией на светодиоде или в доступном регистре результата работы сложного алгоритма. Это позволяет сделать качественную оценку работоспособности всего алгоритма или его части. Как результат, отладка микропрограмм в МА оказывается значительно проще переписывания всего конечного автомата в случае обнаружения в нем ошибки или смены алгоритма работы.
Процесс создания и эксплуатации микропрограммных автоматов на FPGA идет в мире уже более 10 лет. Обычно это коммерческие проекты, поэтому о них мы можем судить только по рекламе. Например, фирма .Hammer Cores. выпустила мегафункцию для FPGA фирмы Altera, которая включает CISC-процессор, работающий на 20 МГц, имеющий до 26 регистров с разрядностью 8, 16 и 24 бита и занимающий 367 ячеек при 7 регистрах, 3 прерываниях и разрядности 8 бит. Более сложный процессор на FPGA фирмы Altera представила фирма .CAST. Это полный аналог 8-битного микроконтроллера C8051, работающего на 8 МГц и занимающего 2398 ячеек. На FPGA фирмы Xilinx тоже ведутся работы по созданию МА, но они в основном направлены на построение универсального инструмента для аэрокосмических нужд и объединяются в глобальный проект Adaptive Instrument Module. Есть и другие фирмы-производители функций микропрограммных автоматов, максимальная частота работы некоторых из них достигает 48 МГц. Это и копии популярных микроконтроллеров и микропроцессоров, главное удобство которых в доступности средств разработки программного обеспечения, и совершенно новые МА, позволяющие в виде параметров для компиляции менять свою структуру под требования заказчика. Фирмы-производители снабжают своих клиентов большим набором отладочных средств и средств разработки ПО, поэтому проблем с использованием таких МА обычно не бывает.
Литература
1. Баранов В.П. Синтез микропрограммных автоматов. М.: Нолидж, 1997. 376 с.
2. Долинский М.С., Харрасов А.А. Средства разработки цифровых устройств методом синтеза микропрограммных автоматов. Электроника. 1998. № 11-12. С. 19-23.
3. Гультяев А.К. Имитационное моделирование в среде Windows. СПб.: КОРОНА ПРИНТ, 1999. 288 с.
4. Баранов С.И. Синтез микропрограммных автоматов. Л.: Энергия, 1979. 239 с.
5. Altera, Processor & Peripheral Megafunction, AMPP, http://www.altera.com/
6. Xilinx, AIM, http://www.xilinx.com/
Воронежский государственный технический университет
УДК 621
С.Д. Кретов, Л.В. Кокотовская,
А.В. Турецкий, Н.В. Ципина
ЭЛЕКТРОННЫЙ РЕЧЕВОЙ ИНФОРМАТОР
Рассматривается конструкция комплекта, состоящего из модуля речевого информатора, модуля памяти и программатора. Информатор может быть использован в различных диагностических и автоматических системах контроля и охраны
Как часто человек забывает выключить указатель поворота, снять машину с ручного тормоза или закрыть дверь. Сколько хлопот и расстройств из-за испорченного ручного тормоза или помятой двери в результате. Не говоря уже о случаях потери давления масла в двигателе, разряде аккумулятора или перегреве двигателя.
Было бы замечательно, если рядом с вами всегда сидел невидимый помощник, который вовремя предупредит вас о любой из подобных ситуаций. Как было бы здорово не смотреть на контрольные лампочки и приборы каждые 5 минут, не думать о том, что ты забыл проверить перед началом движения, не гадать, что значит то или иное «странное» поведение указателей на приборной доске, а просто ехать. О любой ситуации вас предупредит этот невидимый помощник, даже если вы задумались или отвлеклись [1,2].
Все это возможно, если на вашем авто установлен речевой информатор. Он постоянно следит за показаниями приборов, вовремя и ненавязчиво предупредит вас о разряде аккумулятора, критическом превышении бортового напряжения, включенном ручном тормозе, работающем указателе поворота, перегреве двигателя, аварийном давлении масла, незакрытой двери, аварийном уровне тормозной жидкости, включенном подсосе, температуре двигателя достаточной для начала движения и состоянии многих других систем автомобиля [3].
Разработан такой речевой информатор, который является универсальным и синхронизирующимся с любыми контролирующими устройствами. Для удобства управления программатор, работает с любой ПЭВМ по стандартным протоколам RS-232. А микросхема памяти, в которой хранится речевая информация, располагается на отдельной печатной плате, что позволяет оперативно менять речевую информацию, комбинировать и усовершенствовать устройство.
Программируемый речевой информатор состоит из трех устройств: информатор речевой программируемый, модуль памяти, программатор.
Информатор речевой программируемый представляет собой двухстороннюю печатную плату с установленными на ней поверхностно монтируемыми ЭРЭ, рис. 1. Печатный монтаж выполнен в виде открытой конструктивной архитектуры, так называемой «PCBoard Evalution». Данная конструкция печатного монтажа наглядно показывает, как проходит управление, сопряжение ЭРЭ. Для этого микроконтроллерное устройство D2 установлено по середине печатной платы остальные ЭРЭ устанавливаются от середины к торцам. На торцах печатной платы установлены разъемы Х1, Х3, Х5 так, чтобы было удобно подключать внешние устройства без повреждения печатного монтажа. По середине печатной платы установлен разъем Х4.1 (розетка PBS-8) для подключения модуля памяти. Устойчивое крепление модуля памяти к речевому информатору обеспечивают две стойки типа PCSN-8. Для предотвращения изгиба печатной платы модуля памяти высота стоек выбрана равной высоте разъема Х4.1. Жесткость установки модуля обеспечивают два винта, прикрученных через крепежные отверстия печатной платы модуля памяти к резьбовым отверстиям стоек PCSN-8. Во избежание электрического замыкания печатного монтажа обратной стороны печатной платы во время регулировки или сопряжения синтезатора с другими устройствами на углах печатной платы через монтажные отверстия вкручиваются стойки типа PCSN-8 и PCSS-8. Высота стоек выбрана так, чтобы ЭРЭ, установленные с обеих сторон платы, не соприкасались с монтажным столом.
Особенность конструкции информатора заключается в возможности замены полупроводниковых элементов. Диод BAS70 можно заменить любыми другими в корпусе SOT-23. Транзисторы ВС817 заменяются КТ3130Б-9, ВС807 на КТ3129Б-9. Интегральный стабилизатор LM7805 на КР142ЕН5А. Преобразователь напряжения ICL7660SCBA - MAX1044CSA, операционный усилитель LM741CN - КР140УД708. Светодиод L-57EGW - другим двуцветным с соединенными встречно-параллельно кристаллами. Микросхема памяти D7 и микроконтроллер D2 могут быть выбраны как на индустриальный (индекс I), так и на коммерческий (индекс С) интервал рабочей температуры.
Рис. 1. Информатор
Конструкция программатора представляет собой соединенные между собой крышку и основание внутри которых расположена печатная плата рис. 2. Для удобного подключения программатора к ПЭВМ и электрическому питанию на торцах печатной платы установлены стандартные унифицированные разъемы Х1 типа DB-25F и Х3 – DTD-0020. У соответствующих отверстий крышки выполнены надписи поясняющие функциональное назначение элемента, так над разъемом Х1 надпись – «LPT», Х2 – «Flash», Х3 – «Power», HL1 – «Data».