Этапы проектирования электронных систем
Контрольная работа по теме:
Этапы проектирования электронных
систем
Проектное решение -
промежуточное описание проектируемого объекта, полученное на том или ином иерархическом
уровне, как результат выполнения процедуры (соответствующего уровня).
Проектная процедура -
составная часть процесса проектирования. Примерами проектных процедур служат
синтез функциональной схемы проектируемого устройства, моделирование, верификация,
трассировка межсоединений на печатной плате и т.д.
Проектирование ЭУ
разделяется на этапы. Этап представляет собой определенную последовательность
проектных процедур. Общая последовательность этапов проектирования
представляется так:
составление ТЗ;
ввод проекта;
проектирование архитектуры;
функционольно-логическое
проектирование;
схемотехническое проектирование;
топологическое проектирование;
изготовление опытного образца;
определение характеристик устройства.
Составление ТЗ. Определяются требования к
проектируемому изделию, его характеристики и формируется техническое задание на
проектирование.
Ввод проекта. Для каждого
этапа проектирования характерны свои средства ввода, более того, во многих
инструментальных системах предусматривают более чем один способ описания
проекта.
Эффективными являются
высокоуровневые графические и текстовые редакторы описания проекта современных
систем проектирования. Такие редакторы дают разработчику возможность чертить
блок - схему крупной системы, назначать модели для индивидуальных блоков и
соединять последние посредством шин и трактов передачи сигналов. Редакторы, как
правило, автоматически связывают текстовые описания блоков и соединений с
соответствующими графическими изображениями, обеспечивая тем самым комплексное
моделирование системы. Это позволяет инженерам системотехника не менять
привычного стиля работы: можно по - прежнему думать, набрасывая блок-схему
своего проекта как бы на листе бумаги, в то же время будет вводится и
накапливаться точная информация о системе.
Логические уравнения или
принципиальные электрические схемы зачастую очень удачно используются для
описания базовой интерфейсной стыковочной логике.
Таблицы истинности
целесообразные для описания дешифраторов или других простых логических блоков.
Языки описания
аппаратуры, содержащие конструкции типа конечных автоматов, обычно гораздо
эффективнее для представления более сложных логических функциональных блоков,
например блоков управления.
Проектирование
архитектуры. Представляет собой проектирование ЭУ до уровня передачи сигналов
ЦП и ЗУ, ЗУ и КПДП. На этом этапе определяется состав устройства в целом,
определяются его главные аппаратные и программные компоненты.
Во многих случаях полное
системное проектирование требует включения в структуру и неэлектрических
компонентов и эффектов, с целью проверки их в едином комплексе моделирования.
В качестве элементов
этого уровня используются: процессор, память, контроллеры, шины. При построении
моделей и моделировании системы здесь используются методы теории графов, теории
множеств, теории Марковских процессов, теории массового обслуживания, а также
логико-математические средства описания функционирования системы.
На практике
предусматривается построение параметризированной системной архитектуры и выбор
оптимальных параметров ее конфигурации. Следовательно и соответствующие модели
должны быть параметизированны. Параметры конфигурации архитектурной модели
определяют, какие функции будут реализовываться аппаратными, а какие
программными средствами. В качестве некоторых параметров конфигурации для
аппаратных средств можно назвать:
число, разрядность и пропускную
способность шин системы;
время доступа к памяти;
размер кэш-памяти;
число процессоров, портов,
регистровых блоков;
емкость буферов передачи данных.
А к параметрам
конфигурации программных средств относятся, например:
параметры планировщика;
приоритетность задач;
интервал "удаления мусора";
максимально допустимый интервал ЦП
для программы;
параметры подсистемы управления
памятью (размер страницы, сегмента, а также распределение файлов по дисковым
секторам;
и т.д.
Параметры конфигурации
средств передачи данных:
величина интервала тайм-аута;
размер фрагмента;
протокольные параметры для
обнаружения и исправления ошибок.
При интерактивном
проектировании на системном уровне вначале вводится функциональные спецификации
системного уровня в виде диаграмм потоков данных, а также выбираются типы
компонентов для реализации различных функций (рис. 1). Здесь главная задача
заключается в том, что разработать такую системную архитектуру, которая будет
удовлетворять заданным функциональным, скоростным и стоимостным требованиям.
Ошибки на архитектурном уровне обходятся гораздо дороже, чем в решениях,
принимаемых в процессе физической реализации.
Архитектурные модели
имеют важное значение и отражают логику поведения системы и временные ее
особенности, что позволяет выявлять функциональные проблемы. Они обладают
четырьмя важными особенностями:
они точно представляют функциональные
возможности аппаратных и программных компонентов с использованием
высокоуровневых абстракций данных в виде потоков данных;
архитектурные модели абстрактно
представляют технологию реализации в виде временных параметров. Конкретную
технологию реализации определяют конкретные значения этих параметров;
архитектурные модели содержат схемы,
позволяющие многим функциональным блокам разделять (коллективно использовать)
компоненты;
эти модели должны допускать
параметризацию, типизацию и повторное использование;
Моделирование на
системном уровне позволяет разработчику оценить альтернативные варианты
проектов системы с точки зрения соотношения их функциональных возможностей,
показателей быстродействия и стоимости.
Инструментальная
система нисходящего проектирования (ASIC Navigator, компании Compass Disign
Automation) для ASIC (спец. ИС) и систем.
Попытка освободить
инженеров от проектирование на вентильном уровне.
Состав:
Logic Assistant (ассистент по
логике);
Design Assistant;
ASIC Synthesizez (синтезатор ASIC);
Test Assistant;
Logic Assistant
Это унифицированная среда проектирования и анализа.
Позволяет создать спецификацию ASIC, вводя графические и текстовые описания
своих проектов. Пользователи могут описывать свои проекты при помощи
большинства способов высокоуровневого ввода, в том числе блок-схем, булевых
формул, диаграмм состояния, операторов языка VHDL и Verilog и т.д. Программные
средства системы будут поддерживать эти способы ввода как основу всего
последующего процесса проектирования ASIC-системы.
Общую архитектуру
проектируемой ASIC можно представить в виде взаимосвязанных функциональных
блоков без учета их физического разбиения. Эти блоки можно затем описывать
способом, наиболее соответствующим особенностям каждой функции. Например,
пользователь может описывать логику управления при помощи диаграмм состояния,
арифметические функциональные блоки - при помощи схем трактов обработки данных,
а алгоритмические функции на языке VHDL. Окончательное описание может быть
комбинацией как текстовых, так и графических материалов и служит основой для
анализа и реализации ASIC.
Подсистема Logic
Assistant преобразует затеи полученную спецификацию в поведенческий код языка
VHDL. Этот код может быть обработан при помощи системы моделирования на языке
VHDL, разработанной третьей фирмой. Модифицирование спецификации на
поведенческом уровне, дает возможность вносить изменения и производить отладку
на начальных этапах проектирования.
Disign Assistant
После того, как спецификация проверена, ее можно
отобразить на ASIC-приборе. Вначале, однако, пользователь должен решить, каким
образом лучше всего реализовать такой высокоуровневый проект. Описание проекта
можно отобразить на одну или несколько вентильных матриц или ИС на базе
стандартных элементов.
Пользователь может затем
в интерактивном режиме производить анализ по принципу "что-если",
исследовать альтернативные технические решения с разными вариантами
декомпозиции проекта или компоновать и перемещать стандартные элементы для
случая вентильных матриц. Таким образом пользователь может найти оптимальный
подход, удовлетворяющий требованиям спецификации.
ASIC Synthesizer
После того, как конкретный вариант проекта выбран, его
поведенческое описание необходимо преобразовать в представление уровня
логических вентилей. Эта процедура является весьма трудоемкой.
На вентильном уровне в
качестве структурных элементов могут быть выбраны: логические вентили,
триггера, а в качестве средств описания - таблицы истинности, логические
уравнения. При использовании регистрового уровня, структурными элементами
будут: регистры, сумматоры, счетчики, мультиплексоры, а средства описания -
таблицы истинности, языки микроопераций, таблицы переходов.
Большое распространение
на функционально- логическом уровне получили так называемые логические имитационные
модели или просто имитационные модели (ИМ). ИМ отражают только внешнюю логику и
временные особенности функционирования проектируемого устройства. Как правило,
в ИМ внутренние операции и внутренняя структура не должны быть похожи на те,
которые существуют в реальном устройстве. Но моделируемые операции и временные
особенности функционирования, в том виде как они внешне наблюдаются, в ИМ
должны быть адекватны тем, которые существуют в реальном устройстве.
Модели этого этапа
используются для проверки правильности реализации заданных алгоритмов
функционирования функциональной или логической схемы, а также временных
диаграмм устройства без конкретной аппаратной реализации и учета особенностей
элементной базы.
Это осуществляется
методами логического моделирования. Под логическим моделированием подразумевается
имитация на ЭВМ работы функциональной схемы в смысле продвижения информации,
представленной в виде логических значений "0" и "1" от
входа схемы к ее выходу. Проверка функционирования логической схемы включает
как проверку реализуемых схемой логических функций, так и проверку временных
соотношений (наличие критических путей, рисков сбоя и состязания сигналов).
Основные задачи, решаемые с помощью моделей этого уровня, - верификация
функциональных и принципиальных схем, анализ диагностических тестов.
Схемотехническое проектирование
- это процесс разработки принципиальных электрических схем, спецификаций в
соответствии с требованиями технического задания. Проектируемые устройства
могут быть: аналоговые (генераторы, усилители, фильтры, модуляторы т др.),
цифровые (разнообразные логические схемы), смешанные (аналогово-цифровые).
На этапе
схемотехнического проектирования электронные устройства представляются на
схемном уровне. Элементами этого уровня являются активные и пассивные
компоненты: резистор, конденсатор, катушка индуктивности, транзисторы, диоды и
т.д. В качестве элемента схемного уровня может быть использован и типовой
фрагмент схемы (вентиль, триггер и т.д.). Электронная схема проектируемого
представляет собой соединение идеальных компонентов, достаточно точно отображающее
структуру и элементный состав проектируемого изделия. Предполагается, что
идеальные компоненты схемы допускают математическое описание с заданными
параметрами и характеристиками. Математическая модель компонента электронной
схемы представляет собой ОДУ относительно переменных: тока и напряжения.
Математическая модель устройства представляются совокупностью алгебраических
или дифференциальных уравнений, выражающих зависимости между токами и
напряжениями в различных компонентах схемы. Математические модели типовых
фрагментов схемы называют макромоделями.
Этап схемотехнического
проектирования включает следующие проектные процедуры:
структурный синтез- построение
эквивалентной схемы проектируемого устройства
расчет статических характеристик
предполагает определение токов и напряжений в любом узле схемы; анализ вольтамперных
характеристик и исследование влияния параметров компонентов на них.
расчет динамических характеристик
заключается в определении выходных параметров схемы в зависимости от изменения
внутренних и внешних параметров (одновариантный анализ), а также в оценке
чувствительности и степени разброса относительно номинальных значений выходных
параметров в зависимости от входных и внешних параметров электронной схемы (многовариантный
анализ).
параметрическая оптимизация,
определяющая такие значения внутренних параметров электронной схемы, которые
оптимизируют выходные параметры.
Различают нисходящее (сверху
вниз) и восходящее (снизу вверх) проектирование. При нисходящем проектировании
выполняются прежде этапы использующие высокие уровни представления устройств,
чем этапы использующие более низкие иерархические уровни. При восходящем
проектировании последовательность противоположная.
При рассмотрении дерева
проекта можно указать на две концепции проектирования: восходящее
проектирование (снизу вверх) и нисходящее (сверху вниз). Здесь словом
"верх" обозначается корень дерева, а слово "низ" относится
к листьям. При нисходящем проектировании работу можно начинать уже тогда, когда
разработчику уже известны только функции корня, - и он (или она) производит,
прежде всего, разбиение корня на некоторое множество примитивов нижележащего
уровня.
После этого разработчик
переходит к работе с нижележащим уровнем и осуществляет разбиение примитивов
данного уровня. Подобный процесс продолжается до тех пор, пока дело не дойдет
до узлов-листьев проекта. Для характеристики нисходящего проектирования важно
отметить то, что разбиение на каждом уровне оптимизируется согласно тому или
иному объективному критерию. Здесь разбиение не связывается рамками того,
"что уже имеется".
Термин "восходящее
проектирование" не совсем правилен в том смысле, что процесс
проектирования по прежнему начинается с определения корня дерева, однако в этом
случае разбиение осуществляется с учетом того, какие компоненты уже имеются и
могут использоваться в качестве примитивов; другими словами, разработчику при
разбиении приходится исходить из того, какие составные части будут
представляться в узлах-листьях. Эти самые "нижние" части будут
проектироваться в первую очередь. Нисходящее проектирование кажется самым
подходящим подходом, однако его слабость в том, что получаемые компоненты не
являются "стандартными", вследствие чего стоимость проекта
увеличивается. Поэтому наиболее рациональным представляется сочетание методов
восходящего и нисходящего проектирования.
Согласно прогнозам подавляющее большинство
инженеров-разработчиков средств электронной и вычислительной техники будут
пользоваться нисходящей методологией. Они станут, по сути,
инженерами-системотехниками, причем значительную часть своего времени будут
затрачивать на проектирование изделий на поведенческом уровне.
В настоящее время
проектирование электронных систем осуществляется по восходящей методологии,
причем первым этапом процесса проектирования является обычно ввод описания
схемы на структурном уровне (очевидно, на уровне ИС и дискретных компонентов).
После определения структуры вводится описание поведения этой системы на том или
ином языке описания этой аппаратуры и осуществляется модулирование. В этом
случае электронная часть проекта выполняется вручную, то есть без применения
инструментальных средств проектирования.
В случае нисходящего
проектирования, описанные выше два этапа восходящего проектирования,
выполняются в обратном порядке. При нисходящем проектировании основное внимание
уделяется поведенческому представлению разрабатываемой системы, а не ее
физическому или структурному представлению. Естественно, что конечный результат
нисходящего проектирования также представляет собой структурное или схемное представление
проекта.
Здесь дело в том, что для
нисходящего проектирования необходимы системные архитектурные модели, а для
восходящего - структурные модели.
Преимущества (для всех
САПР):
1) Методология нисходящего проектирования служит
предпосылкой для параллельного проектирования: координированной разработки
аппаратных и программных подсистем.
2) Внедрению метода нисходящего проектирования
способствуют средства логического синтеза. Эти средства обеспечивают
преобразование логических формул в физически реализуемые описания уровня
логических вентилей.
Благодаря этому:
упрощается физическая реализация
эффективно используется время
проектирования
эффективно используются
технологические шаблоны
Однако для сложных
проектов, масштабы которых выражаются несколькими сотнями тысяч логических
вентилей, желательно иметь возможность глобальной оптимизации благодаря
моделированию и анализу на системном уровне.
3) Методология нисходящего проектирования базируется
на том, что автоматически создается спецификация проекта по исходным
функциональным требованиям. Именно функциональные требования являются исходным
компонентом при проектировании сложных систем. Благодаря этому подобный подход
позволяет уменьшить вероятность неработоспособной системы. Во многих случаях
неработоспособность проектируемой системы вызывается несоответствием между
функциональными требованиями и спецификациями проекта.
4) Еще одним потенциальным преимуществом нисходящего
проектирования является то, что оно позволяет разрабатывать эффективные тесты
для верификации и аттестации проекта, а также тест-векторы для контроля
изготовленных изделий.
5) Результаты моделирования на системном уровне могут
послужить основой для количественной оценки проекта уже на начальных стадиях
проектирования. На более поздних этапах для верификации и аттестации проекта
необходимо моделирование на уровне логических вентилей. Однородная среда
проектирования позволит сравнить результаты моделирования, получаемые на первых
и на последующих этапах проектирования.