Курс «Информационные технологии в проектировании ЭВС» Лекция №8 «Технологии проектирования ИСПС» 8.1. Основы технологии проектирования ИСПС Задача данного курса — помочь в освоении современных подходов к проектированию систем, ориентированных на широкое использование в них новой элементной базы — микросхем с программируемой структурой (ИСПС) и их наиболее ярких представителей — конфигурируемых систем на кристалле (SOPC). Краеугольными составляющими любого проектирования являются: – элементы, из которых строится проектируемый объект; – инструментарий, при помощи которого выполняются отдельные этапы изготовления документации и собственно результирующего объекта; – методика применения инструментария для получения конечных результатов; – абстракции (определения, понятия и т. д.), вводимые для упрощения описания процесса проектирования. Строительными "кирпичиками" интересующих нас систем являются элементы с конфигурируемой структурой (по сути, представляющие собой конфигурируемую аппаратуру, для которой в английской терминологии обычно используется термин Hardware, HW) и программируемым поведением (в основе которого лежит программное обеспечение, в английской терминологии Software, SW). Термины HW и SW, благодаря своей краткости (при сохранении однозначности трактовки), получили широкое распространение в отечественной литературе и будут применяться в исследующих разделах. Основными абстрактными понятиями, которыми приходится пользоваться в процессе проектирования, являются языки описания аппаратуры (VHDL, Verilog) и средства описания программной части проектируемых систем (универсальные языки программирования), которые достаточно подробно разобраны в существующей литературе. Инструментарий проектирования и методика его использования составляют содержание данной главы. Основным инструментом проектирования для рассматриваемой прикладной области (проектирование на основе ИСПС является программное обеспечение ЭВМ, в комплексе образующее системы автоматического проектирования, САПР. Наиболее значимым для проектирования на основе ИСПС (и отличающим его от многих других) является не столько резкое увеличение возможностей, предоставляемых современными САПР, сколько взаимопроникновение и взаимное влияние составляющих процесса проектирования. Стремительное увеличение степени интеграции современной элементной базы и постоянное улучшение характеристик ЭВМ (не в последнюю очередь благодаря этой элементной базе) вызывает адекватное наращивание как количественных, так и качественных возможностей САПР, т. е. инструментария проектирования. Динамика изменения возможностей САПР предопределяет изменение методологии их применения и все большую интеграцию в рамках одной САПР смешанных методик и объектов проектирования. Темпы изменений всех составляющих процесса проектирования электронных систем заставляют периодически пересматривать и переосмысливать различные аспекты проектирования. Материал данной главы посвящен рассмотрению возможностей и особенностей использования современных методик проектирования цифровых устройств с ориентацией на существующие САПР. В области структурной организации схем с программируемой структурой и средств 1 их проектирования состояние весьма подвижно. Если базовые архитектурные и структурные решения для схем ПЛИС в значительной мере уже определились и перешли в стадию простого наращивания количественных характеристик, то для схем SOPC архитектурные и структурные решения еще только развиваются. О степени подвижности этого аспекта проектирования говорит тот факт, что новые семейства БИС ПЛИС появляются с частотой приблизительно раз в два года, а принципиально новые архитектурные решения появляются не чаще чем раз в пять лет. Что касается инструментария проектирования — САПР и самой методики проектирования, то эта составляющая в настоящий момент находится в состоянии стремительного нарастания своей интеллектуализации, предоставляемых средств и возможностей автоматизации. Подтверждением интенсивности изменений в методике проектирования является тот факт, что новые версии САПР поставляются фирмами с частотой раз в квартал. Вместе с тем, в отечественной литературе вопросам создания и даже выбора современных средств проектирования (если не считать переводов или переложений фирменных руководств по использованию САПР) уделяется явно недостаточное внимание. Последние издания отечественной литературы по этому направлению [1, 2] вышли более 10 лет назад. 8.2. Общие сведения о процессе проектирования Проектирование — комплекс работ, целью которого является получение технической документации, позволяющей реализовать или изготовить новый или модернизируемый объект с заданными свойствами и с заданным функционированием в заданных условиях. В общем случае, объектами проектирования могут быть изделия (например, мобильный телефон, ЭВМ, стиральная машина) или процессы (например, технологические, вычислительные). Сущность процесса проектирования изложена в работах [3, 4]. В контексте рассматриваемой проблематики нас интересуют процессы, связанные с созданием электронных систем. Стратегия проектирования — функциональная декомпозиция. Для системы в целом и ее блоков используется концепция "черного ящика". Для "черного ящика" разрабатывается функциональная спецификация, включающая внешнее описание блока (входы и выходы) и внутреннее описание — функцию или алгоритм работы: F= Ф(Х, t), где X— вектор входных величин, F — вектор выходных величин, t — время. При декомпозиции функция Ф разбивается на более простые функции Ф1 – Фк, между которыми должны быть установлены определенные связи, соответствующие принятому алгоритму реализации функции Ф. В результате разбиения, в конечном счете, получается структура. Переход от функции к структуре — синтез. Синтез неоднозначен. Выбор наилучшего варианта осуществляется по результатам анализа, когда проверяется правильность работы и некоторые показатели, характеризующие устройство. Процедуры синтеза и анализа постоянно чередуются. Декомпозиция функций блоков выполняется до тех пор, пока не получатся типовые функции, каждая из которых может быть реализована на элементах выбранного уровня иерархии. Процесс проектирования — многоуровневый, многошаговый и итерационный, с возвратами назад и пересмотром ранее принятых решений. Комплекс проектных работ, как правило, включает в себя теоретические и экспериментальные исследования, расчеты и конструирование. Различие теоретической базы и понятийного аппарата, используемых на разных стадиях проектирования, приводит к тому, что традиционным является разбиение процесса проектирования как электронных систем, так и БИС/СБИС, на этапы, приведенные на рис. 2.1. 2 На этапе системного проектирования определяется архитектура, состав компонентов и основные характеристики будущей системы, выбирается элементная база для ее построения. В ходе работ на этом этапе наиболее сложным, трудно формализуемым и, следовательно, слабо поддающимся автоматизации, является, например, принятие решения о разделении функций между программной и аппаратной или между цифровой и аналоговой частями системы. Большую роль здесь играют индивидуальные аспекты и опыт разработчика. Весьма сомнительной представляется возможность введения какоголибо обобщенного критерия качества, позволяющего однозначно определить наилучшую архитектуру проектируемой вычислительной системы. При структурно-алгоритмическом проектировании определяются алгоритмы функционирования аппаратных и программных компонентов системы. На этапе функционально-логического проектирования разрабатываются функциональные и принципиальные электрические схемы, программы, подготавливаются тестовые и контрольные данные. На конструкторском этапе производится привязка элементов проекта к конструктивным элементам. Разбиение процесса проектирования на этапы связывают с различием технических средств, как привлекаемых для создания проекта в роли инструментария, так и используемых в качестве компонентов проекта, а также и технологических особенностей реализации конечного продукта. Хотя общая методология процесса проектирования не зависит от варианта разбиения процесса проектирования на отдельные уровни, содержание, а также методы и средства проектирования для различных уровней оказываются очень специфичными и существенно зависят как от типа применяемой элементной базы, так и от способа реализации (изготовления) конечного продукта. Представленная последовательность действий характерна для всех уровней проектирования. Для каждого уровня декомпозиция заканчивается при получении типовых функций, соответствующих этому уровню иерархии. Так, например, при многоплатной реализации проекта декомпозиция заканчивается на верхнем уровне иерархии при представлении проекта в виде отдельных плат, на следующем уровне — в виде отдельной платы (типового элемента замены), еще ниже декомпозиция осуществляется до реализации функций при помощи той или иной микросхемы. При ориентации на программируемые (разрабатываемые) пользователем микросхемы процедура декомпозиции осуществляется уже для этой микросхемы в соответствии с составом функциональных библиотек программируемых БИС/СБИС. На любом этапе проектирования может быть выявлена ошибочность или не 3 оптимальность выбранного ранее варианта реализации или принятого решения. Такая ситуация требует оценки целесообразности возврата и пересмотра решений. С учетом возможностей современных САПР проектирование может считаться законченным после верификации проекта в целом, когда завершена отладка готового изделия. Последовательная декомпозиция проекта на отдельные фрагменты (с определением функций каждого фрагмента и его интерфейса) характерна для любого этапа проектирования и применяется при разработке широкого спектра цифровых устройств, начиная от устройства целиком и кончая проектированием отдельных БИС/СБИС. Такая методология проектирования отображает процесс проектирования "сверху вниз": от технического задания до электрических схем, файлов прошивки ПЗУ и конфигурации программируемых приборов, а также конструкции устройства в целом. Другая последовательность, соответствующая методологии "снизу вверх", предусматривает объединение простейших модулей в более сложную структуру до тех пор, пока, в конце концов, не будет создан конечный проект. Исходные модули — это решения, созданные проектировщиком на более ранних этапах работы или в ходе работ над другими проектами, или доступные проектировщику и входящие в состав имеющихся библиотек САПР. 8.3. Факторы, влияющие на методику проектирования электронных устройств Первым фактором, влияющим на специфику проектирования и, как следствие, на возможные САПР, является тип обрабатываемой информации и связанные с ним методы и способы ее обработки. Проект или его отдельные фрагменты могут включать аналоговые, аналого-цифровые и/или цифроаналоговые элементы, строиться на основе дискретных (цифровых) компонентов или опираться на встроенные микропроцессорные средства. Отсюда следует многообразие вариантов проектирования, которые в современных технологиях часто называют потоком проектирования (Design Flow). Поток проектирования при этом определяется тем, какие компоненты превалируют в проекте. Следующим определяющим фактором является выбор технической базы для реализации фрагментов проекта, а также технологического способа реализации самого проекта. Как правило, одно и то же электронное изделие может быть реализовано различными способами. Здесь должен быть дан ответ на вопрос — будет ли проект построен на стандартных микросхемах, будут ли использоваться те или иные специализированные ИС или комбинация различных типов ИС. Более того, в разные моменты жизненного цикла проекта в зависимости от тиражности изделия в составе проекта могут меняться используемые типы ИС. В наибольшей степени появление и широкое распространение БИС с программируемой структурой и конфигурируемых систем на кристалле повлияло на два соседних иерархических уровня проектирования: проектирование собственно ИС с программируемой структурой (ИСПС) и проектирование печатных плат, содержащих такие БИС. Хотя во многих чертах проектирование для этих двух уровней близко, специфика проектирования и, соответственно, применяемые САПР заставляют рассматривать их, в зависимости от анализируемой проблемы, раздельно или последовательно. Дополнительная литература к лекции 1. Автоматизированное проектирование цифровых устройств / С.С. Бадулин, Ю.М. Банаулов, В.А. Бердышев и др.; Под ред. С.С. Бадулина. – М.: Радио и связь. 1981. – 240 с. 4 2. Автоматизация проектирования БИС. В 6 кн.: Практ. пособие. / Под ред. Казеннова. – М.: Высш.шк., 1990. 3. Грушин С.И., Душутин И.Д., Мелехин В.Ф. Проектирование аппаратных средств микропроцессорных систем: Учеб. Пособие. – Л.:ЛПИ им. Калинина, 1990. – 78 с. 4. Норенков И.П., Маничев В.Б. Основы теории и проектирования САПР: Учеб. Для втузов. – М.: Высш. шк., 1990. – 335 с. 5