Общее описание процесса проектирования
ГЛАВА 8
ПРОЕКТИРОВАНИЕ МПС
МЕТОДИКА И СРЕДСТВА ПРОЕКТИРОВАНИЯ
ОБЩЕЕ ОПИСАНИЕ ПРОЦЕССА ПРОЕКТИРОВАНИЯ
Проектирование — разработка технической документации, позволяющей изготовить устройство с заданным функционированием, с заданными свойствами и в заданных условиях.
В основе стратегии проектирования лежит функциональная декомпозиция. Для системы в целом и ее блоков используется концепция «черного ящика». Для «черного ящика» разрабатывается функциональная спецификация, включающая внешнее описание блока (входы и выходы) и внутреннее описание - функцию или алгоритм работы: Р = Ф(Х, f), где Х-вектор входных величин, F-вектор выходных величин, t-время. При декомпозиции функция Ф разбивается на более простые функции Фt-ФK, между которыми должны быть установлены определенные связи, соответствующие принятому алгоритму реализации функции Ф. Переход от функции к структуре - синтез.
Синтез неоднозначен. Выбор наилучшего варианта осуществляется по результатам анализа, когда проверяется правильность работы и некоторые показатели, характеризующие устройство.
Декомпозиция функций блоков выполняется до тех пор, пока не получатся типовые функции, каждая из которых может быть реализована элементами выбранного уровня иерархии.
Процесс проектирования -многоуровневый, многошаговый и итерационный, с возвратами назад и пересмотром ранее принятых решений.
Последовательная декомпозиция проекта на отдельные фрагменты (с определением функций каждого фрагмента и его интерфейса) не зависит от иерархического уровня проектирования и характерна для разработки широкого класса цифровых устройств, начиная от устройства целиком и кончая проектированием отдельных БИС/СБИС. Такая методология проектирования отображает процесс проектирования «сверху - вниз»: от технического задания до электрических схем, файлов прошивки ПЗУ и конфигурации программируемых приборов, а также конструкции устройства в целом.
Другая последовательность, соответствующая методологии «снизу - вверх», предусматривает объединение простейших модулей в более сложную структуру до тех пор, пока, в конце концов, не будет создан конечный проект. Исходные модули - это решения, созданные проектировщиком на более ранних этапах работы или в ходе работ над другими проектами или доступные проектировщику и входящие в состав имеющихся библиотек САПР.
Современным условиям проектирования, когда создаются сложные проекты с привлечением большого числа разработчиков, больше соответствует применение стратегии «сверху-вниз».
Следует отметить, что приведенное выше наглядное описание процесса проектирования относится к каждому уровню проектирования. При этом декомпозиция заканчивается при получении типовых функций, соответствующих выбранному уровню иерархии. Так, на верхнем уровне (при многоплатной реализации) декомпозиция заканчивается при представлении проекта в виде отдельных плат, на следующем уровне - в виде отдельной платы (типового элемента замены), еще ниже декомпозиция осуществляется до реализации функций при помощи той или иной микросхемы. А при ориентации на программируемые (разрабатываемые) пользователем микросхемы процедура декомпозиции осуществляется уже для этой микросхемы в соответствии с составом функциональных библиотек программируемых БИС/СБИС.
С учетом возможностей современных систем автоматизации проектирования (САПР) проектирование может считаться законченным после верификации проекта в целом, когда завершена отладка готового изделия.
Различие теоретической базы и понятийного аппарата, используемых на разных стадиях проектирования, приводит к тому, что традиционным является разбиение процесса проектирования, как цифровых устройств, так и БИС/СБИС на следующие этапы:
• системного проектирования;
• структурно-алгоритмического проектирования;
• функционально-логического проектирования;
• конструкторско-технологического проектирования.
На этапе системного проектирования определяется архитектура будущей системы, состав компонентов и основные характеристики системы при таком её построении. При структурно-алгоритмическом проектировании определяются алгоритмы функционирования аппаратных и программных компонентов системы. На этапе функционально-логического проектирования разрабатываются функциональные и принципиальные электрические схемы, программы, подготавливаются тестовые и контрольные данные. На конструкторском этапе производится привязка элементов проекта к конструктивным элементам. Широкое использование САПР на всех этапах проектирования приводит к тому, что современные подходы к разбиению процесса проектирования связывают с различием как технических средств (инструментария), привлекаемых для создания проекта, так и технических средств, используемых в качестве компонентов проекта и технологических особенностей реализации конечного продукта. Хотя общая методология процесса проектирования не зависит от варианта разбиения процесса проектирования на отдельные уровни, содержание, а также методы и средства проектирования для различных уровней оказываются очень специфичными и существенно зависят как от типа применяемой элементной базы, так и от способа реализации (изготовления) конечного продукта.