Оглавление
Предисловие
Глава 1. Методология проектирования интегральных схем
1.1. Классификация интегральных схем
1.2. Классификация параметров интегральных схем
1.3. Принципы проектирования
1.4. Методы проектирования
1.5. Этапы проектирования БИС
1.5.2. Логическое проектирование
1.5.3. Схемотехническое проектирование
1.5.4. Топологическое проектирование
1.5.5. Компонентное проектирование
1.6. Проектные процедуры процесса проектирования
1.7. Выводы и пути развития
Литература
Глава 2. Архитектура САПР БИС. Маршруты проектирования
2.1. Классификация САПР
2.2. Методология построения САПР
2.3. Архитектура САПР
2.3.2. Программные средства проектирования
2.4. Маршруты проектирования БИС
2.4.2. Автоматизация проектирования заказных БИС
2.4.3. Средства проектирования компании CADENCE
2.4.4. Средства проектирования компании SYNOPSYS
2.4.5. Средства проектирования компании MENTOR GRAPHICS
2.4.6. Выводы и проблемы
Литература
Глава 3. Проектные процедуры
3.1. Структурный синтез
3.1.2. Структурный синтез СБИС
3.2. Математические модели
3.2.3. Различные формы математических моделей
3.2.4. Математическая модель на этапе схемотехнического проектирования
3.2.5. Макромодели
3.2.6. Математическая модель на этапе логического проектирования
3.3. Анализ математических моделей
3.3.2 Схемотехническое моделирование
3.3.3. Логическое моделирование
3.4. Параметрическая оптимизация
3.4.2. Алгоритмы решения экстремальных задач
3.4.3. Обобщенный метод граничных испытаний
3.5. Статистический анализ
3.5.2. Метод Монте-Карло
Заключение
Литература
Глава 4. Проектирование интегральных систем
4.1 Классификация уровней проектирования
4.2. Высокоуровневое проектирование
4.3. Особенности проектирования систем на кристалле
4.4. Проектирование систем на кристалле
4.4.2. Автоматизация проектирования систем на кристалле
4.4.3. Этапы поведенческого синтеза
4.5. Моделирование на уровне регистровых передач
4.6. Моделирование на уровне транзакций
4.7. Особенности тестирования систем на кристалле
Заключение
Литература
Глава 5. Автоматическое проектирование и искусственный интеллект
5.1. Системы автоматического проектирования
5.1.2. Язык описания поведения
5.1.3. Методология проектирования
5.2. Модель топологии для автоматического проектирования
5.2.2. Математическая модель топологии
5.2.3. Геометрическая модель топологии
5.3. Искусственный интеллект в проектировании
5.3.2. Экспертные системы
Заключение
Литература
Текст
                    Г. Г. Казённов
Основы
проектирования
интегральных
схем и систем
Москва
БИНОМ. Лаборатория знаний
2005


УДК 621.3.049.77 ББК 32.973.26я73 К14 Казённов Г. Г. К14 Основы проектирования интегральных схем и систем /Г. Г. Казённов. — М.: БИНОМ. Лаборатория знаний, 2005. — 295 с: ил. ISBN 5-94774-232-2 В книге рассматриваются вопросы, связанные с методикой проек- проектирования интегральных схем и систем, в том числе СБИС и систем на кристалле (SoC). Акцентируется внимание на основных этапах процесса проектирования (системный, микросхемный, регистровый, логический, схемотехнический, топологический, компонентный). Приводятся сведения о средствах автоматизированного проектиро- проектирования, а также о применении для этих целей систем искуственного ин- интеллекта. Для студентов вузов, специализирующихся в области электроники и изучающих дисциплины, связанные с проектированием интеграль- интегральных схем и систем. Книга также может быть полезна разработчикам микроэлектронной аппаратуры. УДК 621.3.049.77 ББК 32.973.26я73 По вопросам приобретения обращаться: БИНОМ. Лаборатория знаний @95) 955-03-98, e-mail: LBZ@aha.ru http://www.LBZ.ru © Казённов Г. Г., 2005 ISBN 5-94774-232-2 © БИНОМ. Лаборатория знаний, 2005
Оглавление Предисловие 6 Сведения об авторе 12 Глава 1. Методология проектирования интегральных схем 13 Введение 13 1.1. Классификация интегральных схем 13 1.2. Классификация параметров интегральных схем 20 1.3. Принципы проектирования 23 1.4. Методы проектирования 25 1.5. Этапы проектирования БИС 30 1.5.1. Разработка спецификации 31 1.5.2. Логическое проектирование 33 1.5.3. Схемотехническое проектирование 36 1.5.4. Топологическое проектирование 45 1.5.5. Компонентное проектирование 53 1.6. Проектные процедуры процесса проектирования ¦ . . 56 1.7. Выводы и пути развития 58 Литература 61 Глава 2. Архитектура САПР БИС. Маршруты проектирования 62 Введение 62 2.1. Классификация САПР 63 2.2. Методология построения САПР 69 2.3. Архитектура САПР . . 72 2.3.1. Технические средства 72 2.3.2. Программные средства проектирования. ... 73 2.4. Маршруты проектирования БИС 82 2.4.1. Автоматизация проектирования полузаказных БИС 83
Оглавление 2.4.2. Автоматизация проектирования заказных БИС 87 2.4.3. Средства проектирования компании CADENCE 93 2.4.4. Средства проектирования компании SYNOPSYS 101 2.4.5. Средства проектирования компании MENTOR GRAPHICS 105 2.4.6. Выводы и проблемы 113 Литература 115 Глава 3. Проектные процедуры 116 Введение 116 3.1. Структурный синтез 116 3.1.1. Методы решения задач структурного синтеза 117 3.1.2. Структурный синтез СБИС 120 3.2. Математические модели 131 3.2.1. Классификация математических моделей 133 3.2.2. Компонентные и топологические уравнения (на этапе схемотехнического проектирования) 144 3.2.3. Различные формы математических моделей 147 3.2.4. Математическая модель на этапе схемотехнического проектирования 149 3.2.5. Макромодели 154 3.2.6. Математическая модель на этапе логического проектирования 155 3.3. Анализ математических моделей 158 3.3.1. Особенности математических моделей .... 159 3.3.2 Схемотехническое моделирование 160 3.3.3. Логическое моделирование 173 3.4. Параметрическая оптимизация 183 3.4.1. Экстремальные задачи в проектировании ИС 184 3.4.2. Алгоритмы решения экстремальных задач 189 3.4.3. Обобщенный метод граничных испытаний 193 3.5. Статистический анализ 194 3.5.1. Метод наихудшего случая 194 3.5.2. Метод Монте-Карло 197
Оглавление Заключение 198 Литература 199 Глава 4. Проектирование интегральных систем 200 Введение 200 4.1 Классификация уровней проектирования 200 4.2. Высокоуровневое проектирование 207 4.3. Особенности проектирования систем на кристалле 218 4.4. Проектирование систем на кристалле 220 4.4.1. Архитектура систем на кристалле 223 4.4.2. Автоматизация проектирования систем на кристалле 226 4.4.3. Этапы поведенческого синтеза 237 4.5. Моделирование на уровне регистровых передач 242 4.6. Моделирование на уровне транзакций 244 4.7. Особенности тестирования систем на кристалле 248 Заключение 251 Литература 252 Глава 5. Автоматическое проектирование и искусственный интеллект 253 Введение 253 5.1. Системы автоматического проектирования ... 253 5.1.1. Структура системы 258 5.1.2. Язык описания поведения 260 5.1.3. Методология проектирования ^ 265 5.2. Модель топологии для автоматического проектирования 266 5.2.1. Топологический подход 266 5.2.2. Математическая модель топологии 270 5.2.3. Геометрическая модель топологии 274 5.3. Искусственный интеллект в проектировании 275 5.3.1. Задачи искусственного интеллекта 277 5.3.2. Экспертные системы 280 Заключение 294 Литература 295
Предисловие Если смотреть на процесс проектирования, исходя из кон- концепции нисходящего проектирования, то в случае сложных электронных систем необходимы семь уровней абстракции представления проекта: системный, микросхемный, регистро- регистровый, логический, схемотехнический, топологический, компо- компонентный. Полный цикл проектирования также предполагает, что на каждом уровне (этапе) проектирования должны быть выполнены пять проектных процедур: структурный синтез, составление математической модели, анализ математиче- математической модели, параметрическая оптимизация и статистиче- статистический анализ. В книге рассмотрены все уровни (этапы) проекти- проектирования интегральных схем и систем и все проектные процеду- процедуры. Это и является основной целью написания книги. Однако уровни проектирования представлены не в перечисленном выше порядке, а в том, в котором они реализуются на практи- практике. Конечно, существует традиционное разделение инженеров на разработчиков радиоэлектронной аппаратуры и разработчи- разработчиков элементной базы аппаратуры. Однако в последние годы тенденция интеграции процессов проектирования аппарату- аппаратуры и ее элементной базы стала очевидной. Наиболее показате- показательным примером в этом плане является бурный рост произ- производства систем на кристалле (SoC) и средств автоматиза- автоматизации их проектирования. Именно это обстоятельство послужило побудительным мотивом для написания данной книги. Весь материал книги распределен по пяти главам. Пер- Первые две главы предназначены для студентов и инженеров, на- начинающих свою профессиональную деятельность в области проектирования интегральных схем и систем, а последующие три главы-для продвинутых читателей. Современные средства автоматизации проектирования изде- изделий электронной техники позволяют создавать сложнейшие
Предисловие электронные системы, содержащие миллионы электронных компонентов. Соответственно растет и число уровней абстрак- абстракции, на которых приходится проектировать эти системы. На каждом уровне абстракции имеется свое понятие системы и элементов системы, в базисе которых ведется проектирование. То, что было системой на предыдущем уровне, на следующем, более высоком уровне, становится элементом. Существуют две концепции проектирования любого изделия: сверху вниз и сни- снизу вверх. Практическая реализация каждой отдельной концеп- концепции невозможна. В первом случае это обусловлено тем, что для каждого изделия необходимо разрабатывать индивидуальный реальный элементный базис низшего уровня абстракции, что противоречит требованиям времени проектирования, возмож- возможности серийного производства и разумной стоимости проекти- проектируемого изделия. Во втором случае нереализумость концепции определяется отсутствием обоснованных требованиий к функ- функциональному составу и параметрам структурных компонентов любого более высокого уровня. Поэтому на практике использу- используется разумное сочетание этих концепций. Довольно распро- распространенным представлением процесса проектирования являет- является следующее: на каждом уровне представления проекта реша- решаются две задачи — синтез и анализ, причем под синтезом понимается получение структуры системы в виде соединенных между собой структурных компонентов данного уровня, а под анализом — составление и решение математической модели этой структуры. Например, при схемотехническом проектиро- проектировании структура системы представляется списком цепей, сое- соединяющих транзисторы, резисторы, емкости и другие компо- компоненты, а анализ — составлением математической модели схе- схемы в виде системы обыкновенных дифференциальных уравнений и ее численного решения, которое и позволяет рас- рассчитать функциональные параметры схемы. Ошибочность дан- данного представления состоит в следующем: при недостаточно обоснованном выборе параметров математических моделей структурных компонентов может быть забракована хорошая структура системы. Чтобы избежать подобную ситуацию, необ- необходимо в обязательном порядке выполнить процедуру парамет- параметрической оптимизации. Но и этого недостаточно для оценки правильности выбора структуры. Чтобы параметры выбранной структуры системы удовлетворяли предъявляемым требовани- требованиям при разбросе параметров структурных компонентов, необхо- необходимо проведение статистического анализа. Учитывая, что про-
Предисловие цедуры параметрической оптимизации и статистического ана- анализа реализуются соответствующим образом организованным многократным решением математических моделей, теоретиче- теоретически идеальное проектирование требует колоссальных вычисли- вычислительных ресурсов, даже несмотря на огромный прогресс в раз- разработке современных средств автоматизации проектирования. Первая глава посвящена методологии проектирования ин- интегральных схем, в том числе больших интегральных схем (БИС). В ней последовательно описаны общие принципы проек- проектирования сложных технических систем и методы проектиро- проектирования интегральных схем и систем. В соответствии с приведен- приведенной выше классификацией, в первой главе рассмотрены следу- следующие этапы проектирования: логический, схемотехнический, топологический и компонентный, а также проектные опера- операции, выполняемые на каждом этапе: структурный синтез, со- составление математической модели, анализ, параметрическая оптимизация и статистический анализ. Обращено внимание читателя на важность решения экстремальных и статистиче- статистических задач. Реализация принципа унификации нашла отраже- отражение в создании на каждом этапе проектирования библиотек структурных компонентов, использование которых позволяет значительно сократить цикл проектирования Во второй главе рассматривается архитектура САПР и ти- типовые маршруты проектирования БИС и СБИС крупнейших за- зарубежных компаний-разработчиков и поставщиков средств ав- автоматизации проектирования изделий электронной техники. В начале главы традиционно рассматривается классификация САПР по девяти признакам. В разделе, посвященном методоло- методологии построения САПР, приведены концептуальные аспекты их создания, роль методов искусственного интеллекта, перечень требований, которые предъявляются к современным САПР, основные идеи построения САПР, удовлетворяющих предъяв- предъявляемых требованиям. Далее приводится описание возможных архитектур САПР и структуры прикладного программного обеспечения САПР БИС, а также информационного и лингви- лингвистического обеспечения. После краткого рассмотрения методов проектирования заказных и полузаказных БИС приводится описание средств автоматизации проектирования интеграль- интегральных схем и систем следующих американских компаний: Caden- Cadence, Synopsys, Mentor Graphics. Если первые две главы предназначены, в основном, для по- пользователей САПР, т. е. инженеров, которые проектируют ин-
Предисловие тегральные схемы, пользуясь уже разработанными САПР и хо- хорошо отработанной документацией по их эксплуатации, то третья глава ориентирована на разработчиков САПР, в пер- первую очередь прикладного программного обеспечения. В ней имеется пять разделов, каждый из которых посвящен одной из проектных процедур, расположенных в том порядке, в котором они используются на каждом этапе проектирования интеграль- интегральных схем и систем. С общих позиций рассмотрены переборные и эвристические методы и алгоритмы решения задач структур- структурного синтеза на любом этапе проектирования. Подробно рас- рассмотрено Y-представление проекта СБИС и его применение для решения задач структурного синтеза. Показано, что используя это представление и экспертные системы, можно решать задачи синтеза как в отдельных областях представления проекта СБИС: поведенческом, структурном и физическом, так и при переходе из одной области в другую. Далее рассмотрены задачи формирования математических моделей на этапах схемотехни- схемотехнического и логического проектирования в виде систем ОДУ и бу- булевых уравнений. Выбор этих этапов обусловлен не только их значимостью в общем цикле проектирования, но и характером переменных — в первом случае они непрерывные, а во вто- втором — дискретные. В третьем разделе главы отмечены общие характерные черты математических моделей, присущие любо- любому этапу проектирования. Приведено описание методов анали- анализа математических моделей, используемых на этапах схемотех- схемотехнического и логического проектирования интегральных схем. В следующем разделе рассматривается одна из наиболее трудо- трудоемких проектных процедур — параметрическая оптимизация. Задачам параметрической оптимизации транзисторов и прин- принципиальных электрических схем дана математическая форму- формулировка в виде общей задачи нелинейного программирования с непрерывными переменными. Отмечено, что экстремальные задачи других этапов проектирования БИС также могут быть сформулированы в виде общей задачи математического про- программирования, но с дискретными переменными. Заканчива- Заканчивается глава рассмотрением проектной операции статистическо- статистического анализа. В качестве примера приводится описание методов наихудшего случая и Монте-Карло для статистического ана- анализа на этапе схемотехнического проектирования интеграль- интегральных схем. ¦¦¦*¦ Четвертая глава посвящена проектированию интеграль- интегральных систем, в основном, систем на кристалле (SoC). После
10 Предисловие классификации уровней представления проекта обосновывает- обосновывается целесообразность моделирования систем на микросхемном уровне и дается его характеристика. Приводятся основные по- понятия языка VHDL и обсуждаются его возможности при проек- проектировании сложных технических систем. Далее в главе рас- рассматриваются особенности проектирования систем на кристал- кристалле с использованием IP-блоков, анализируются требования, предъявляемые к IP-блокам, предназначенным для использова- использования в интегральных системах. Отмечены проблемы, которые могут возникнуть у разработчиков систем на кристалле, испо- использующих IP-блоки от разных поставщиков. Проанализирован перечень задач, которые приходится решать при проектирова- проектировании систем на кристалле. Подчеркнута важность высокоуров- высокоуровневого проекта как основного документа для всех последующих работ по его физической реализации. После обсуждения архи- архитектуры систем на кристалле рассматриваются проблемы раз- разработки средств автоматизации их проектирования. В этом плане весьма перспективной представляется реализация кон- концепции виртуального проекта, который по существу является структурной и функциональной инкапсуляцией реального про- проекта, состоящего из виртуальных компонентов, виртуальных интерфейсов и виртуальных цепей. Виртуальный проект может быть создан, используя схемный редактор или любой аппарат- аппаратный язык описания. Далее приведена последовательность про- процедур для создания виртуального проекта цифровой системы на кристалле и описан алгоритм преобразования виртуального проекта в реальный. Так как высокоуровневое проектирование заканчивается созданием проекта в базисе структурных компо- компонентов регистрового уровня, в главе также кратко рассмотрено моделирование систем на уровне регистровых передач. Факти- Фактически описание цифровых систем на регистровом уровне — это законченный проект системы в обобщенной форме, т. е. без привязки к библиотекам конкретных производителей СБИС и IP-блоков. Однако применение моделей этого уровня для разработки и верификации программного обеспечения проблематично, поскольку начало процесса совместной вери- верификации программного обеспечения и аппаратной части SoC отодвигается на поздние этапы проектирования и, кроме того, скорость моделирования на этом уровне низкая. Эти недостат- недостатки устраняются моделированием на уровне транзакций. Поэ- Поэтому в четвертой главе приводится описание моделирования на этом уровне.
Предисловие 11 В пятой главе книги рассматриваются проблемы, связан- связанные с возможностью построения полностью автоматических си- систем проектирования интегральных схем и систем. Привлека- Привлекательность идеи автоматического проектирования обусловлена не только перспективой ускорения процесса проектирования, но и принципиальным отсутствием необходимости использова- использования многозатратных верификационных процедур. В научной литературе часто отождествляют понятие автоматической сис- системы проектирования с понятием «кремниевый компилятор», хотя, строго говоря, это неверно. Появление термина «кремни- «кремниевый компилятор» объясняется определенным сходством про- процесса проектирования СБИС и разработки программного обес- обеспечения, т. е. существует много общего между обычными про- программными компиляторами и кремниевыми компиляторами. Однако, так как этот термин получил широкое распростране- распространение, в дальнейшем мы будем им пользоваться. После описания свойств, которыми должен обладать кремниевый компилятор, проанализирована его структура и назначение составляющих его функциональных блоков, а также рассмотрена методология проектирования СБИС. Далее в главе рассмотрена многоуров- многоуровневая математическая модель топологии СБИС, алгоритмиче- алгоритмическая и программная реализация которой позволит полностью автоматизировать проектирование топологии СБИС теоретиче- теоретически неограниченной степени интеграции. Практическое огра- ограничение связано с машинными ресурсами технических средств. В последнем разделе главы приведена классификация обла- областей использования методов искусственного интеллекта, отме- отмечена перспективность их применения в проектировании слож- сложных электронных систем. Подчеркнута исключительно важная роль экспертных систем при решении задач структурного син- синтеза на всех уровнях абстракции представления проекта слож- сложных технических систем. Основным материалом для написания книги послужили конспекты лекций по проектированию интегральных схем и те- теоретическим основам САПР, читаемых автором в течение мно- многих лет в Московском институте электронной техники, а также результаты собственных исследований, опубликованные ранее в ряде книг, статей и докладов. Г. Г. Казённое
12 Предисловие Сведения об авторе КАЗЁННОЕ Геннадий Георгиевич — заведующий кафедрой проектирования и конструирования интегра- интегральных микросхем, профессор, д-р техн. наук, лауреат Государственной премии СССР и двух премий Гособразования, действитель- действительный член Международной академии инфор- информатизации. Окончил Ленинградский поли- политехнический институт им. М. И. Калинина. В период 1958-1975 гг. работал на предприя- предприятиях электронной промышленности. Руково- Руководил созданием первой САПР ИС в СССР. Ра- Работает в МИЭТ с 1975 г. Область научных интересов: теоретические основы проектирования САПР БИС, СБИС, УБИС, методология проектирования, структурный синтез на этапах проектирования, параметрическая оптимизация, стати- статистический анализ, экспертные системы, интеллектуализация творческих процессов, функциональные подсистемы САПР УБИС, маршруты проектирования БИС. Подготовил 20 кандидатов и 5 докторов наук. Опубликовано 250 научных трудов, в т. ч. учебник «Основы построения САПР и АСТПР» в соавт. A989), монографии «Структура, основные требования и принципы построения сис- систем автоматизированного проектирования микроэлектронных приборов» A978), «Принципы и методология построения САПР БИС» A990). С 2003 г. работает в МИЭТ на кафедре ПКИМС в должности профессора-консультанта.
Глава 1 Методология проектирования интегральных схем Введение Современные радиотехнические устройства и системы обеспечивают жизнедеятельность всего человеческого обще- общества. Успехи в области ядерной физики, космонавтики, компьютеризации и телекоммуникаций немыслимы без со- создания средств проектирования интегральных схем и сис- систем, т. к. основу элементной базы радиоаппаратуры состав- составляют интегральные схемы различной степени интеграции, включая IP-блоки. Конечно, продолжают использоваться в радиоаппаратуре и традиционные радиокомпоненты, такие как резисторы, конденсаторы, диоды, транзисторы и т. д., но их относительное содержание постоянно уменьшается. Разнообразие конструктивно-технологических методов изго- изготовления интегральных схем привело к необходимости со- создания различных методологий их проектирования. Изло- Изложенная в данной главе методология проектирования интег- интегральных схем в значительной мере отражает личный опыт работы автора в этой области и не претендует на исчерпыва- исчерпывающую полноту. 1.1. Классификация интегральных схем Существует ряд признаков, по которым классифицируют интегральные схемы. Рассмотрим некоторые из них. Основ- Основной функцией, которую выполняют устройства на ИС, явля- является обработка информации. В зависимости от того, в какой
14 Глава 1. Методология проектирования интегральных схем форме (аналоговой или цифровой) обрабатывается информа- информация, ИС делят на аналоговые, цифровые и аналого-цифровые (цифроаналоговые). По степени интеграции (числу компонентов на крис- кристалле) условно различают ИС малой степени интеграции (МИС) — до 103 компонентов, средней степени (СИС) — до 104 компонентов, большой степени (БИС) — до 105, сверх- сверхбольшой степени (СБИС) — до 107 и ультрабольшой степени интеграции (УБИС) — свыше 107. По типу активного компонента различают интеграль- интегральные схемы биполярные и полевые. Интегральные схемы малой степени интеграции пред- представляют собой логические схемы, выполняющие простей- простейшие логические операции (И, ИЛИ, НЕ, ИЛИ-НЕ, И-НЕ), триггерные схемы (триггеры, сумматоры, дешифраторы и т. п.) или схемы усилителей. По мере совершенствования технологии и соответственно повышения степени интегра- интеграции стало возможным реализовывать функциональные бло- блоки и узлы традиционных систем обработки и хранения ди- дискретной информации в виде СИС. Это привело к сужению областей црименения СИС и к увеличению числа типов СИС при одновременном снижении объема производства и, следо- следовательно, увеличению стоимости. По мере дальнейшего уве- увеличения степени интеграции усиливалось противоречие между универсальностью применения БИС и степенью их интеграции. На ранних этапах развития микроэлектроники казалось, что любую РЭА можно разделить на блоки, соответствующие по сложности достигнутой в это время сте- степени интеграции, изготовить эти части в виде ИС (СИС), смонтировать их на платы, и это обеспечит лучшие техни- технико-экономические показатели РЭА. Однако здесь и возник- возникли серьезные трудности. Декомпозиция РЭА на блоки, при- пригодные для интегрального исполнения, становилась все бо- более затруднительной, росла номенклатура ИС (СИС) и появились проблемы, связанные с ограничением числа вы- выводов. Интегральные схемы стали терять универсальность. Выходом из этой сложной ситуации явилось создание на од- одном кристалле микропроцессора (МП), который представля- представляет универсальную БИС, настраиваемую на решение различ- различных задач путем программирования, подобно тому как это
1.1. Классификация интегральных схем 15 делается при решении различных задач на обычных ЭВМ. Более того, МП позволили создать новый класс электронных вычислительных машин — микроЭВМ, в том числе конст- конструктивно на одном кристалле в виде БИС. Но и при таком подходе не были решены все проблемы. Осталась необходи- необходимость в многочисленных БИС частного применения (так на- называемые ASIC — специализированные интегральные схе- схемы), предназначенных для преобразования информации в ограниченном классе РЭА. С точки зрения разработчика РЭА ИС могут быть разделены на следующие виды: стан- стандартные МИС, стандартные СИС, полузаказные БИС, за- заказные БИС, СБИС и УБИС. Любой тип РЭА может быть со- создан на перечисленных ИС. Очевидно, что на стандартных ИС, выпускаемых массовыми сериями, РЭА будет наиболее дешевой, а на СБИС и УБИС — будет обладать лучшими техническими характеристиками. Конечно, реально в слож- сложной РЭА используют почти все перечисленные ИС, что вызвано стремлением решить компромиссно вопросы стои- стоимости, надежности, быстродействия, массы, радиационной стойкости РЭА и др. Наибольшим разнообразием конструк- конструктивно-технологических решений обладают полузаказные БИС. Полу заказные (матричные) БИС (МаБИС) в сответст- вии с внутренней структурой делятся на четыре типа: 1) не- скоммутированные логические матрицы (НЛМ), логические матрицы (ЛМ); 2) матрицы стандартных ячеек (МСЯ); 3) программируемые логические матрицы (ПЛМ); 4) анало- аналоговые матрицы (AM). Существуют матричные БИС и других типов. Например, широко известны цифроаналоговые (ЦАП) и аналого-цифровые (АЦП) преобразователи в интег- интегральном исполнении. В этом случае на одном кристалле рас- расположены цифровая и аналоговая матрицы. Нескоммутиро- Нескоммутированная логическая матрица представляет регулярную структуру из отдельных логических элементов или других Компонентов, не соединенных между собой. Технологиче- Технологический процесс изготовления таких НЛМ заканчивается перед» Последней операцией — выполнением межсоединений. Эта операция проводится после определения топологии послед- последнего слоя металлизации, которая реализует определенную системную функцию (суммирование, контроль и т. д). Преи- Преимуществом таких матриц является большая степень интег-
16 Глава 1. Методология проектирования интегральных схем рации. Структура ячеек зависит от используемой базовой технологии. В качестве примера на рис. 1.1 представлена последовательность получения двухвходового логического элемента И-НЕ, реализованного на основе КМДП-техноло- гии, что характерно для матриц рядной структуры. р-каналы -ЕЬ ? ? ? ? Граница ячейки ? ? ? ? -в- -в- 43- и и ? Шина питания (металл) ^ Диффузионные области ? ? D ? .«Земляная» шина Поликремний а D ? ? ? — ? I lllllill ? ? -а- -S- ? П в 43- ¦в-- —Щ 1 I ¦ 1 —I — — ? ? ? ? Bxl Вх2 Вых Рис. 1.1. Последовательность получения двухходового логического элемента (ЛЭ) И-НЕ: а — нанесение шин питания и земли с помощью металлизации; б—проведение с помощью металлизации межкомпонентных соединений; в — принципиальная схема логического элемента И-НЕ
1.1. Классификация интегральных схем 17 Значительный прогресс в развитии МаБИС был дос- достигнут с введением универсальной логической ячейки, со- содержащей минимальное число транзисторов, с помощью ко- которой можно реализовать все элементы комбинационной ло- логики при заданном числе входов. В основе метода лежит иерархическое представление логического проекта. На са- самом нижнем уровне находятся стандартные логические фрагменты или ячейки, которые, по сути, являются заказными ИС. Их топология и электрические параметры хранятся в специальной библиотеке. При проектировании конкретной БИС стандартная ячейка вызывается из биб- библиотеки и помещается в определенный ряд на кристалле. Примерный вид структуры для реализации методом стандартных ячеек приведен на рис. 1.2. ? ? ? ? ? Ряд ячеек 1 ~ Ряд ячеек 2 Ряд ячеек 3 Ряд ячеек М ? ? ? ? ? ? ? ? ? Рис. 1.2. Рядная структура матричной БИС Благодаря рядному расположению стандартных ячеек и достаточно широкому пространству между рядами можно использовать традиционные алгоритмы трассировки печат- печатных плат. В зависимости от базовой технологии используют двух- или однослойную металлизацию. В качестве эле- элементной базы лучше всего использовать КМДП-схемы, по- потребляющие малую мощность и имеющие почти идеальную передаточную характеристику. Последнее обеспечивает вы- высокую помехозащищенность и коэффициенты разветвления по входу и выходу.
18 Глава 1. Методология проектирования интегральных схем Библиотека стандартных ячеек может содержать сотни видов ячеек. Процедура проектирования БИС методом стан- стандартных ячеек напоминает использование макроопределе- макроопределений в языках программирования высокого уровня — при вызове макроопределения в программу вводится группа реа- реализующих данное макроопределение инструкций. В боль- большинстве случаев высота стандартных ячеек фиксирована, а ширина в зависимости от сложности реализуемой логиче- логической функции может варьироваться. Главным преимуществом метода является высокая сте- степень автоматизации проектирования и принципиальная воз- возможность автоматического проектирования. ? Вх. 1 ? Вх. N Термы 1 Матрица И М-1 М Матрица ИЛИ i ••¦ i Вых. 1 Вых. N Рис. 1.3. Структура ПЛМ Программируемые логические матрицы (рис. 1.3) отно- относятся к однородным регулярным структурам, реализующим комбинационную логику в виде дизъюнктивных нормаль- нормальных форм и последовательностную логику в виде конечных автоматов с внешними обратными связями. Реализация ПЛМ происходит путем нанесения металлизации в специа- специально выделенные каналы или удаления лишних соедине- соединений. Известно несколько модификаций ПЛМ: • программируемое постоянное ЗУ (ППЗУ), где матрица И программируется заранее, а матрица ИЛИ программирует- программируется под конкретное устройство пользователем;
1.1. Классификация интегральных схем 19 • локально программируемые логические матрицы (ЛПЛМ), где матрицы И и ИЛИ программируются под конкретное устройство пользователем; • программируемая матричная логика (ПМЛ), где матрица И программируется под конкретное устройство пользова- пользователем, а матрица ИЛИ программируется заранее; • запоминающие логические матрицы (ЗЛМ), содержащие в любом требуемом месте кристалла элементы памяти. Их особенно удобно применять при структурном про- проектировании. Аналоговые матрицы предназначены в основном для ре- реализации аналоговых схем, обрабатывающих непрерывные сигналы. До недавнего времени такие матрицы строились на основе биполярных транзисторов. В настоящее время наря- наряду с ними используются полевые и МДП-транзисторы. В ка- качестве стандартных элементов используют операционные усилители, генераторы и компараторы. Несмотря на большое разнообразие способов органи- организации БИС, их конструируют в соответствии с обобщенной структурной схемой (рис. 1.4). Входные элементы > > Блок обработки информации > • > Выходные элементы Рис. 1.4. Обобщенная структурная схема БИС Любая БИС содержит три блока. Первый обеспечивает согласование логических уровней сигналов и выполняет не- некоторые простые логические функции. Второй содержит комбинационные и последовательностные логические эле- элементы для обработки информации. Третий содержит эле- элементы, обеспечивающие работу на линии связи, и трансля- трансляторы уровней для согласования внутренних малосигналь- малосигнальных элементов со стандартными сериями ИС (ЭСЛ, ТТЛ, КМДП). В последние годы большое внимание в обществе привле- привлечено к проблеме прав на интеллектуальную собственность. Это коснулось и БИС. Многие производители БИС и СБИС стали претендовать на исключительные права на выпускав-
20 Глава 1. Методология проектирования интегральных схем мые ими изделия. Появился даже специальный термин — IP (intellectual property) блок. Причем фирмы-разработчики IP-блоков считают своей собственностью проектную доку- документацию для их изготовления, а не сами схемы, которые изготавливаются уже другими фирмами-производителями. Как правило, IP-блоки — это достаточно сложные БИС, на- например, процессоры, контроллеры памяти и т. п., содержа- содержащие оригинальные архитектурные, схемотехнические и то- топологические решения. К настоящему времени разработаны тысячи IP-блоков и их разработка продолжается быстрыми темпами. Современные сложные электронные системы фи- физически реализуются в виде систем на кристалле (SoC), ис- используя IP-блоки в качестве элементного базиса, составляю- составляющие которого уже спроектированы и сертифицированы. Ко- Конечно, это позволяет резко сократить сроки их разработки. 1.2. Классификация параметров интегральных схем Параметры характеризуют свойства или режим работы объекта проектирования. Среди параметров объектов проек- проектирования следует выделить общие показатели, которые яв- являются количественной оценкой степени соответствия объ- объекта его целевому назначению. Например: производитель- производительность, надежность, стоимость, габариты и т. д. Термин общие показатели используется на высших иерархических уровнях. Выходные параметры — показатели качества, по которым можно судить о правильности функционирования системы. Например, выходные параметры применительно к ИС — это функциональные + измеряемые. Выходные па- параметры зависят как от свойств элементов, так и от особен- особенностей связи элементов друг с другом, определяемой струк- структурой систем. Если структура системы определена, то ее вы- выходные параметры зависят только от параметров элементов и внешних условий. Внутренние параметры — это парамет- параметры компонентов, т. е. параметры транзисторов, резисторов и других деталей при расчете схемы. Внешние параметры — это параметры внешней, по отношению к объекту, среды.
1.2. Классификация параметров интегральных схем 21 Введем обозначения: У — вектор выходных параметров некоторой системы, X — вектор внутренних параметров и Q — вектор внешних параметров. Тогда Y = F(X), где конкретный вид функциональной зависимости опреде- определяется структурой системы. Часто связь между выходными, внутренними и внешними параметрами известна не в виде явной зависимости Y от X, а задается в алгоритмической форме. Например, через численное решение систем уравне- уравнений. Проблемы контроля линейных и логических ИС сущест- существенно отличаются. Для определенности, в дальнейшем бу- будем рассматривать ИС, предназначенные для цифровой вы- вычислительной техники. Цифровые ИС характеризуются функциональными и измеряемыми параметрами. Функцио- Функциональные параметры количественно оценивают логическую функцию цифровой ИС и их выбор производится в процессе синтеза логической структуры цифрового вычислительного устройства. Поэтому сравнивать различные типы цифровых ИС удобно именно по функциональным параметрам. Так как процесс измерений ИС сводится к измерениям токов и напряжений на внешних выводах схемы, функциональные параметры должны выражаться через измеряемые. Цифро- Цифровые ИС характеризуются следующими основными функцио- функциональными параметрами: N — коэффициент разветвления по выходу; Uu — помехоустойчивость, Р — мощность, потреб- потребляемая схемой от источников питания в статическом режи- режиме, tjcp — средняя задержка распространения сигнала. Рас- Рассмотрим системы функциональных статических и измеряе- измеряемых параметров, а также связывающие их соотношения. К измеряемым параметрам цифровых ИС относятся: • ^Овх — входной ток для состояния логического нуля на входе; • JlBX — входной ток для состояния логической единицы на входе; — выходной ток для состояния логического нуля;
22 Глава 1. Методология проектирования интегральных схем • ^1вых — выходной ток для состояния логической едини- единицы; • ^Овых — выходное напряжение для состояния логическо- логического нуля; • ^1вых — выходное напряжение для состояния логической единицы; • t/0nop — пороговое напряжение для состояния логическо- логического нуля; • Ulnop — пороговое напряжение для состояния логической единицы; • ^Омакс — максимально допустимое напряжение в состоя- состоянии логического нуля; • ^1мин — минимально допустимое напряжение в состоя- состоянии логической единицы; • Jo — ток, потребляемый схемой в состоянии логического нуля от источников питания; • Jl — ток, потребляемый схемой в состоянии логической единицы от источников питания. Измеряемые и основные функциональные параметры связаны следующими соотношениями: а т _ ВЫХ МИН где с/вых — измеряемый выходной ток цифровой ИС; с/вх макс — максимально допустимый входной ток цифро- цифровой ИС; ТТ® — TJ —ТТ и и ~ и Опор и Омакс > где п — число источников питания. При контроле измеряемых параметров на выводах ИС устанавливаются величины токов и напряжений, соответ- соответствующие граничным значениям измеряемых параметров. Основная задача, которая возникает при контроле цифро- цифровых ИС, сводится к следующему: необходимо установить
1.3. Принципы проектирования 23 нормы для измеряемых параметров и их граничных значе- значений, обеспечивающие максимальный процент выхода год- годных ИС по функциональным параметрам. Эти данные слу- служат основой для составления технических условий. Сформулированная задача может решаться в двух аспек- аспектах: 1) когда характеристики и схемы получены теорети- теоретически в результате статистического анализа и 2) когда ха- характеристики и параметры схемы получены эксперимен- экспериментально. 1.3. Принципы проектирования Что же понимается под словом «проектирование»? Про- Проектирование — это процесс преобразования информации, находящейся в спецификации (техническом задании) на разрабатываемое изделие, в информацию, необходимую для его изготовления и контроля на технологическом и контрольно-измерительном оборудовании. При проектировании БИС используется прежде всего принцип декомпозиции — разбиение сложной задачи на бо- более простые, доступные для понимания проектировщиком. Разбиение может быть проведено по количественным призна- признакам (например, по числу компонентов на кристалле ИС) или по детальности рассмотрения параметров проектируемого объекта (например, макромоделирование ЛЭ, функциональ- функциональных узлов, регистров и т. д.). Математически применение принципа декомпозиции позволяет свести одну задачу боль- большой размерности (по числу уравнений в системе, числу пере- переменных и т. д.) к нескольким задачам меньшей размерности (благодаря чему решить задачу можно имеющимися техниче- техническими средствами и в разумные сроки). Разбиение по степени детальности рассмотрения позволяет проектировщику при разработке, например, ЛЭ оперировать десятками транзисто- транзисторов и других элементов, при разработке блоков БИС — десят- десятками ЛЭ, при разработке устройств — десятками блоков, при разработке СБИС — десятками устройств и т. д. Декомпозиция проектируемого объекта приводит к иерархическому принципу проектирования по этапам. Чем сложнее проектируемый объект, тем больше уровней иерар-
24 Глава 1. Методология проектирования интегральных схем хии. Например, при проектировании транзистора (или дру- другого компонента) имеется один уровень — компонентный, когда выходные параметры транзистора рассчитывают по его внутренним параметрам с учетом внешних факторов. Проверку правильности проектных решений, их соот- соответствие требуемым параметрам необходимо обеспечить еще на стадии проектирования. Последовательное приближение к выполнению заданных требований по результатам модели- моделирования и оптимизации на каждом этапе проектирования БИС составляет суть итерационного принципа проектирова- проектирования. Итерации могут выполняться как внутри одного этапа проектирования, так и между группами этапов. Унификация задач и составляющих частей объектов про- проектирования позволяет упростить сам процесс и представить объекты в базе данных более компактно. Объекты должны быть максимально унифицированы (иметь минимально воз- возможную номенклатуру). Основная цель унификации — ми- минимизация числа вновь разрабатываемых БИС. Контролируемость каждого этапа проектирования — важный принцип проектирования. Контроль может быть со- совмещен с процессом проектирования или выделен из него. Первый вариант имеет место, например, при размещении элементов и трассировке внутрисхемных соединений на кристалле ИС или печатной плате с соблюдением заданных норм и параметров, а второй — при автоматической провер- проверке проектных норм и параметров, полученных на любом эта- этапе проектирования ручным, автоматизированным или авто- автоматическим методом. Контроль правильности выполнения проектных работ на различных этапах проектирования БИС называют верификацией (см. гл. 3). Результатом работы по проектированию БИС должен быть выпуск проектной документации, включающей: 1) текстовые и текстово-графические документы — описа- описание алгоритма функционирования на входном языке, функционально-логическая схема, временные диаграммы, принципиальные электрические схемы функциональных бло- блоков БИС, электрические характеристики функциональных блоков и компонентов, таблицы параметров компонентов; 2) графические документы — послойные и совмещенные чертежи топологии функциональных блоков БИС;
1.4. Методы проектирования 25 3) документы на машинных носителях — контролиру- контролирующие тесты для установок функционального контроля, ин- информация на машинных носителях для программно-управ- программно-управляемого технологического оборудования БИС (для изготов- изготовления фотошаблонов или непосредственно БИС) 1.4. Методы проектирования Разнообразие конструктивно-технологических методов создания БИС обусловлено стремлением не только улуч- улучшить их технико-экономические показатели, но и достичь общих целей: минимизировать длительность процесса про- проектирования, обеспечить проектирование БИС высокой сложности, повысить качество проектирования БИС (глав- (главным образом, безошибочность). Длительность процесса проектирования значительно со- сокращается при использовании средств вычислительной тех- техники, библиотек компонентов, характеризующих базовый технологический процесс, стандартизации программ и т. д. А это, в свою очередь, сокращает сроки проектирования и производства РЭА. Классификация методов проектирования. Методы про- проектирования классифицируются: 1) по способам организации выполнения проектных процедур на экспериментальные (ма- (макетирование, физическое моделирование) и теоретические (расчет по аналитическим выражениям, математическое мо- моделирование); 2) по степени автоматизации выполнения про- проектных процедур (автоматизированные и автоматические). Рассмотрим наиболее распространенные методы в порядке их появления в практике проектирования. Макетирование. Исходя из требований ТЗ на разраба- разрабатываемую БИС выбираются два-три технологических про- процесса, при которых предположительно могут быть удовлет- удовлетворены требования ТЗ по функциональным параметрам ИС (БИС). Затем для получения образцов активных компонен- компонентов и базовых логических элементов разрабатывается специ- специальная тестовая топологическая схема, в которую должны входить активные компоненты и базовые аналоговые и ло- логические элементы. Обычно такая схема включает специа-
26 Глава 1. Методология проектирования интегральных схем льные тестовые компоненты для контроля параметров физи- физической структуры и ошибок изготовления. С помощью тес- тестовой схемы решаются следующие задачи: выбор нескольких типов геометрических конфигураций активных компонентов и ЛЭ, которые предположительно должны удовлетворять схемотехническим требованиям; накопление статистических данных по параметрам активных компонен- компонентов, анализ АЭ и ЛЭ в различных режимах работы; исследо- исследование характера и определение параметров паразитных свя- связей между компонентами ИС; контроль процессов изготов- изготовления фотошаблонов и фотолитографии и определение минимально допустимых размеров топологических элемен- элементов и запасов на совмещение, необходимых при решении то- топологических задач; выявление систематических ошибок процессов изготовления фотошаблонов и фотолитографии для учета их при разработке топологических схем. При разработке тестовой схемы необходимо учитывать возможность выбора того или иного технологического мето- метода изготовления БИС. Если ни по одной из имеющихся тех- технологий невозможно спроектировать данную БИС, удовлет- удовлетворяющую требованиям ТЗ, которые определяются на этапе синтеза и анализа принципиальной электрической схемы, то необходимо сформулировать требования к вновь разраба- разрабатываемому технологическому процессу. При этом на основа- основании справочных данных и имеющегося опыта определяются наиболее перспективные для разрабатываемой схемы физи- физико-топологические параметры ИС (геометрия активных и пассивных компонентов, диффузионный профиль). На полученных образцах активных компонентов соби- собирается макет БИС, который затем исследуется методами, традиционными для обычной схемотехники на дискретных компонентах. Основные недостатки макетирования: высокая стоимость и значительное время проектирования. Основное достоинст- достоинство — относительная достоверность результатов. Физическое моделирование заключается в изучении объектов одной физической природы с помощью объектов, имеющих другую физическую природу, но одинаковое с ними математическое описание. В основе метода лежит принцип подобия (аналогий). Наиболее известным приме-
1.4. Методы проектирования 27 ром является применение электролитических ванн при мо- моделировании поля потенциалов в транзисторной структуре. Расчет по аналитическим выражениям. Для получе- получения формул, связывающих выходные параметры ИС (фун- (функциональные и измеряемые) с внутренними (параметрами компонентов), делаются значительные упрощения (на- (например, экспоненциальные вольт-амперные зависимости считаются линейными). По сложности расчеты по аналитическим выражениям ориентированы на вычислительную мощность имеющихся. в распоряжении каждого разработчика средств — «челове- «человеческий мозг», логарифмическая линейка, микрокаль- микрокалькулятор, программируемый микрокалькулятор, персональ- персональная ЭВМ и т. д. Основные недостатки данного метода проек- проектирования БИС — высокая трудоемкость вывода формул и, как правило, низкая точность расчетов. Основное достоинст- достоинство — доступность. Математическое моделирование. Наиболее существен- существенное отличие этого метода в том, что математические модели БИС получают без или при минимальных упрощениях, и они более адекватно описывают процессы, происходящие в реальных устройствах. Кроме того, при математическом моделировании (и только при нем) можно математически «точно» решать экстремальные и статистические задачи, определяющие качество проектирования. По степени автоматизации выполнения проектных про- процедур методы проектирования делятся на автоматизиро- автоматизированные и автоматические. Конечно, это деление условно, так как с развитием средств вычислительной техники, а также в связи с успехами вычислительной математики и программирования, роль автоматического проектирования постоянно возрастает. В литературе понятие «авто- «автоматическая система проектирования» часто отождествляют с понятием «кремниевый компилятор», хотя это и неверно. Кремниевый компилятор (см. гл. 5) действительно является автоматической системой проектирования БИС, в которой для описания функционирования используют ПЗУ, ПЛМ, ОЗУ, АЛУ, ЗУ с произвольной выборкой и другие типовые блоки. С помощью экспертных систем компилятор может синтезировать БИС в соответствии с заложенными в него
28 Глава 1. Методология проектирования интегральных схем правилами. Для описания схемы используют языки высоко- высокого уровня (VHDL, Verilog и др.). Описывать проектируемую БИС можно на различных уровнях: поведенческом (архитектурном), структурном и др. Создание автоматических систем проектирования требует решения ряда сложных проблем: структурного синтеза на всех этапах проектирования БИС, экстракции (восстановле- (восстановления принципиальной электрической схемы по известной то- топологии), межэтапной верификации и организации взаимо- взаимосвязанного контроля на всех этапах проектирования, орга- организации поддержания и совершенствования базы знаний, обеспечение возможности моделирования разрабатываемой БИС совместно с другими функциональными узлами в со- составе сложной технической системы (вычислительной, ра- радиолокационной, радионавигационной и т. д.). Важной проблемой, которую удалось решить с помощью автоматических систем, является относительно простой пе- переход при проектировании БИС от одних конструктивно- технологических ограничений к другим. Особенности проектирования ИС. Как правило, прин- принципиальная электрическая схема ИС содержит, помимо функционально необходимых, большое число паразитных компонентов, образующихся при одновременном групповом изготовлении по планарно-эпитаксиальной технологии. Процесс изготовления ИС приводит к необходимости учи- учитывать в процессе проектирования следующие особенности: параметры компонентов и допуски на них, возникающие за счет технологических разбросов, являются взаимосвязанны- взаимосвязанными; в схемах с изоляцией /?-д-переходами образуются пара- паразитные четырехслойные п-р-п-р-структуры, которые могут нарушить работу схемы; трудно изготовить большие емкости и индуктивности; для сокращения площади, занимаемой схе- схемой, необходимо, чтобы была минимальной сумма номиналь- номинальных сопротивлений и емкостей схемы и т. д. Различия в стоимости, надежности, габаритах дискрет- дискретных компонентов наложили отпечаток и на схемотехнику. Например, в схемах на дискретных компонентах более широ- широко используют пассивные компоненты по сравнению с актив- активными, что объясняется их лучшими технико-экономи- технико-экономическими показателями. В ИС для достижения тех же показа-
1.4. Методы проектирования 29 телей чаще используют большое число активных компонентов. В этом смысле интегральная технология от- открывает новые потенциальные возможности в схемотехнике. Следующая особенность создания ИС связана с оценкой их работоспособности. Практически невозможно контроли- контролировать характеристики ИС путем измерения параметров со- составляющих ее элементов. Отсюда возникла так называемая проблема тестируемости ИС. Методы обеспечения тестируе- тестируемости в процессе проектирования ИС условно делят на кон- конструктивные и структурно-логические. Среди конструктив- конструктивных методов выделяют методы шинной архитектуры, сигна- сигнатурного анализа и контрольных точек. Метод шинной архитектуры заключается в обеспечении доступа к любому узлу ИС путем перевода входных шин всех других узлов, за исключением анализируемого, в высокоимпедансное состоя- состояние. Сигнатурный анализ осуществляется с помощью сдви- сдвигового регистра с линейной обратной связью, подключаемо- подключаемого к выбранному контакту. В этом регистре запускается тес- тестовая программа, в результате получается число-сигнатура, отражающее информацию об исправности схемы. Для лока- локализации неисправного узла следует разрывать межузловые цепи обратной связи, соблюдая такую последовательность тестирования: сначала основные функциональные узлы, за- затем периферийные. Суть тестирования методом контроль- контрольных точек очевидна. Отметим, что в качестве этих точек можно использовать как свободные внешние контакты, так и специальные контрольные точки на кристалле. Структурно-логические методы (поуровневого сканиро- сканирования и контрольных сдвиговых регистров) используют для разработки такой логической структуры схемы, при кото- которой можно задавать и считывать состояния всех элементов схемы. Это принципиально позволяет свести задачу тестиро- тестирования последовательностных схем к тестированию комбина- комбинационных схем, которое достаточно хорошо изучено. Метод поуровневого сканирования состоит в том, что элементы памяти схемы в режиме тестирования соединяют- соединяются в один сдвиговый регистр, что позволяет задавать и счи- считывать состояние этих элементов. Объединение в единый сдвиговый регистр элементов памяти на кристалле и созда- создание цепей сдвиговых регистров с переходом на более высо-
30 Глава 1. Методология проектирования интегральных схем кий системный уровень позволяют получать тесты для всех уровней системы. Общесистемные тесты формируются пу- путем объединения тестов подсистем. Существуют модифика- модификации этого метода: сканирование с произвольной выборкой, избирательное сканирование и др. В другом методе этой группы предполагается введение контрольных сдвиговых регистров, используемых для тес- тестирования и занесения заданной информации в ячейки па- памяти БИС. Существует также комбинированный метод, реализован- реализованный с помощью встроенных (аппаратных) средств контроля. В нем по существу соединены методы сигнатурного анализа и поуровневого сканирования. Основная идея заключается в создании набора элементов памяти изменяемой конфигура- конфигурации (в одном режиме они работают как обычные сдвиговые регистры, в другом — как многовходовые сдвиговые регист- регистры с обратной связью), что приводит к существенному со- сокращению тестов. Применение структурно-логического под- подхода для обеспечения тестируемости БИС на стадии проек- проектирования является наиболее перспективным. 1.5. Этапы проектирования БИС При проектировании сложных технических систем (СТС) (в т. ч. БИС и других изделий микроэлектроники) использу- используется блочно-иерархический подход. При блочно-иерархиче- ском подходе процесс проектирования разделяется на уров- уровни (этапы). На высшем уровне используется наименее дета- детализированное представление, отражающее только самые общие черты проектируемой системы. На каждом низшем последовательном уровне проектирования степень подробно- подробности рассмотрения возрастает, при этом система рассматрива- рассматривается не в целом, а отдельными блоками, как правило, функ- функционально законченными. Такой подход позволяет на каж- каждом этапе формулировать и решать задачи приемлемой сложности, поддающиеся пониманию одним человеком. Основное достоинство блочно-иерархического подхода состоит в том, что сложная задача большой размерности разбивается на последовательно решаемые задачи меньшей
1.5. Этапы проектирования БИС 31 размерности. При блочно-иерархическом подходе на каж- каждом уровне абстракции имеются свои представления о сис- системе и элементах. То, что на одном уровне называлось эле- элементом, становится системой на следующем уровне. При проектировании сложных систем используются так называемые нисходящее или восходящее проектирование или их комбинации. Суть нисходящего — от общих требо- требований к системе к технологическому процессу изготовле- изготовления, а при восходящем — наоборот. Проектирование современных СТС, в том числе и систем на кристалле (SoC), включает следующие уровни (этапы): • системный (процессор — память — коммутатор, ППК); • микросхемный; • регистровый; • логический; • схемотехнический; • топологический; • компонентный. Целесообразно разделить их на следующие группы уров- уровней (этапов) проектирования: • 1 — компонентный, топологический, схемотехниче- схемотехнический — сфера интересов только проектировщика ИС, • 2 — микросхемный, системный — сфера интересов толь- только разработчика аппаратуры, • 3 — логический, регистровый, микросхемный — сфера интересов обеих сторон. В работе [4.1] введено понятие, связанное с указанной иерархией, — это так называемое окно проекта. Этим тер- термином обозначается группа уровней (этапов проекта), с ко- которыми работает каждый конкретный проектировщик. В данном разделе рассматриваются этапы, входящие в окно проектировщика БИС. 1.5.1. Разработка спецификации Разработка спецификации включает процедуры проекти- проектирования алгоритма функционирования БИС и исходных тес- тестовых последовательностей, моделирования алгоритма и по- получения выходных последовательностей. Полученная спе-
32 Глава 1. Методология проектирования интегральных схем цификация записывается в базу данных проекта и служит основанием для проверки корректности последующих эта- этапов проектирования. Кроме того, на этом этапе в базу дан- данных проекта в формализованном виде вводятся требования к конструкции БИС (размер кристалла, расположение выво- выводов, конструкция корпуса), необходимые сведения о техно- технологических процессах, требования на выходные электриче- электрические параметры и т. д. Как правило, функциональный со- состав БИС и технические требования определяются при разработке РЭА. После этого разработчик РЭА готовит тех- технические требования на серию, на основании которых раз- разработчик БИС составляет техническое задание на их разра- разработку с учетом технологических возможностей изготовления и унификации серии БИС. Технологические возможности изготовления БИС прак- практически однозначно определяют сложность и предельные технические характеристики схем, которые могут быть реа- реализованы в виде БИС. На рис. 1.5 приведена кривая, харак- характеризующая зависимость процента выхода годных БИС от площади, занимаемой одной схемой. При уменьшении пло- площади, занимаемой БИС, процент выхода годных мал из-за ограниченной разрешающей способности технологического оборудования, используемого для изготовления фотошабло- фотошаблонов и процесса фотолитографии. С другой стороны, с увеличением размеров БИС процент выхода годных также падает из-за увеличения вероятности появления дефектов в активных областях компонентов. Рис. 1.5. Зависимость процента выхода годных БИС от площади кристалла
1.5. Этапы проектирования БИС 33 1.5.2. Логическое проектирование Процесс проектирования БИС, номенклатура которых определяется при разработке конкретной РЭА, отличается от проектирования МИС и СИС тем, что разработке принци- принципиальной электрической и топологической схем предшест- предшествует этап логического проектирования. Логическое проекти- проектирование БИС заключается в составлении функциональных схем БИС. Компонентами функциональной схемы являются элементарные блоки, образующие логический базис проек- проекта. Задачей логического синтеза, например, функционально- функционального узла ЭВМ, является выбор базиса логических элементов (ЛЭ) для построения различных БИС и соединение их между собой так, чтобы осуществлялось заданное функциониро- функционирование. На этапе логического проектирования необходимо учитывать особенности выбранных ЛЭ и их технической ре- реализации, т. е. учитывать схемотехнику, топологические и технологические ограничения, а также решать следующие взаимосвязанные задачи: логический синтез, логическое мо- моделирование БИС на уровне ЛЭ, синтез контролирующих и диагностических тестов. Синтез логических схем может производиться как автоматически по структурной схеме (или по описанию поведения схемы) в заданном логическом базисе, так и вручную. В обоих случаях САПР поддержива- поддерживает этот этап средствами логического моделирования. Логи- Логическое моделирование на ЭВМ выявляет ошибки в схеме, позволяет оценить правильность временных соотношений, минимизировать число ЛЭ, оптимизировать перечень и со- состав частей (блоков) системы. Проверка функционирования логической схемы включает анализ логических функций, реализуемых схемой, и временных соотношений (наличие критических путей, рисков сбоя и состязаний сигналов). Проверка реализуемых схемой логических функций выпол- выполняется путем прогонки теста, т. е. моделирования работы схемы при некотором наборе входных сигналов. При этом нужно в заданные моменты времени сравнивать полученные при моделировании значения выходных сигналов с парамет- параметрами спецификации (ТЗ).
34 Глава 1. Методология проектирования интегральных схем Аппарат логического моделирования работает со следую- следующими объектами: • с представлениями логических элементов; • с межсоединениями этих элементов (списками цепей); • с наборами булевых выражений и • с описаниями временных характеристик элементов. На уровне логического проектирования БИС и цифровой аппаратуры с помощью аппарата моделирования решаются следующие задачи: 1) Проверяется логическая структура БИС или цифровой электронной аппаратуры до этапа его технологическо- технологического воплощения. 2) Сравниваются характеристики различных вариантов схемных решений. 3) Проверяется правильность и полнота процедур тесто- тестового контроля БИС и цифровой аппаратуры. 4) Получается детальная информация о функционирова- функционировании схемы с учетом временных характеристик элемен- элементов логического базиса и межкомпонентных соедине- соединений. Общая схема процесса логического моделирования при- приведена на рис. 1.6. Процесс логического моделирования состоит из двух ша- шагов: обработка логического описания устройства БИС и соб- собственно моделирование. Входные данные, описывающие ло- логику цифрового устройства, преобразуются и совмещаются с заранее записанными данными с целью построения модели логической схемы и при этом, как правило, происходит об- обращение к справочному каталогу (библиотеке) заранее раз- разработанных логических элементов. Формы входных сигна- сигналов могут меняться в широких пределах, начиная от явно заданных во времени значений и кончая сигнальными по- последовательностями произвольно-сложной конфигурации. В качестве входных данных поступают также сведения о на- начальном логическом состоянии схемы и специальные усло- условия (например, сведения о возможных неисправностях, не- необходимые для описания реальных ситуаций). Описания ло- логической схемы и условий моделирования могут быть изменены независимо друг от друга, что позволяет исследо-
1.5. Этапы проектирования БИС 35 О ев ? ?3 а о О § о К О Входные данные: логические элементы и их соединения Построение модели i f Справочный Л V каталог У ^-^-. -^ Модель логической схемы Программное моделирование г Выходные сигналы Начальное состояние схемы Специальные условия Управление выводом ( Вывод Рис. 1.6. Блок-схема моделирования БИС вать различные варианты схем при одинаковых условиях или, наоборот, одну схему при разных условиях. На печать выводятся диаграммы, показывающие состояния выбран- выбранных элементов в моделируемые моменты времени. Таким образом, логическое моделирование включает: • построение модели логической схемы; • выполнение вычислений на модели для последовательно- последовательности дискретно изменяющихся во времени двоичных вход- входных сигналов. Входной язык должен обеспечивать проектировщику возможность полного и прямого описания логической схе- схемы. Входные языки большинства систем логического моде- моделирования используют описание элементов цифровой логи- логики и их связей системой булевых уравнений. Обычно такое описание строится на уровне логических элементов микро- микросхем — интегральных триггеров, полусумматоров, регист- регистров и т. д.
36 Глава 1. Методология проектирования интегральных схем Объектами языка могут быть: 1) Основные типы логических элементов (и, или, и-не, или-не), триггеры, инверторы, линии задержки и т. д., а также элементы с более сложными функциями, представленными в виде «черного ящика». 2) Функциональное описание каждого элемента, выра- выраженное явным или неявным образом. 3) Связи между этими элементами. Модель цифрового устройства БИС формируется из сово- совокупности предложений входного языка, либо компиляций этих предложений из набора подпрограмм, каждая из кото- которых выполняет функцию логического элемента, либо путем трансляции входных предложений в структуру данных, представляющих схему. Особый интерес представляет моделирование схемы, за- заданной в виде ЛЭ и регистровых передач. Такой подход по- позволяет детально описывать на уровне ЛЭ некоторый фраг- фрагмент БИС при задании большей части схемы лишь алгорит- алгоритмом ее функционирования. Описание БИС на уровне регистровых передач состоит из двух частей: структурного и операционного описаний. В структурном описании выделя- выделяются устройства типа регистр, счетчик и т. д.; в операцион- операционном содержатся сведейия о действиях, выполняемых в объекте проектирования. Для моделирования цифровых устройств на уровне реги- регистровых передач применяют специальные языки высокого уровня. В большинстве программ данного типа используют разновидности алгоритма асинхронного событийного моде- моделирования (см. гл. 3). При решении задачи логического синтеза увеличение процента выхода годных (за счет уменьшения площади кри- кристалла) обеспечивается методами минимизации числа ЛЭ и связей между ними в логической схеме БИС. 1.5.3. Схемотехническое проектирование На этапе схемотехнического проектирования решаются задачи: 1) структурного синтеза принципиальной электри- электрической схемы БИС; 2) анализа полученной схемы (расчет статических состояний и переходных процессов; 3) стати-
1.5. Этапы проектирования БИС 37 стических анализа и оптимизации. Вопросы схе- схемотехнического проектирования ИС и БИС широко осве- освещены в литературе. Здесь же рассмотрим некоторые аспек- аспекты решения названных задач. Под структурным синтезом понимают получение конфи- конфигурации принципиальной электрической схемы, оптималь- оптимальным образом (по заданным критериям) удовлетворяющей требованиям ТЗ. Общего научно обоснованного подхода к ре- решению этой задачи к настоящему времени найти не удалось. Поэтому задачи структурного синтеза пытаются решать в рамках определенных ограничений и прежде всего в рамках существующей классификации электронных схем. Можно предложить следующую классификацию методов структур- структурного синтеза: 1) классический метод, когда желаемые характеристики аппроксимируются заданными функциями, а затем реализуются с помощью ЛЭ и компонентов из заданно- заданного набора; 2) метод перебора вариантов из заданного набора; 3) метод прямого неоптимального синтеза в заданном ба- базисе ЛЭ; 4) метод локальной модификации известной схемы; 5) метод компиляции — преобразования описания функ- функции схемы на языке высокого уровня в принципиаль- принципиальную электрическую или логическую схему, пригодную для разработки топологии; 6) метод экспертных оценок. Первый метод применяют для схем, состоящих из пас- пассивных компонентов. Второй имеет множество развет- разветвлений, и хотя считается наиболее общим, с его помощью йолучено минимальное число полезных решений. Локаль- Локальная модификация известной схемы представляет пример loro, что разделение задач проектирования на структурный И параметрический синтез весьма условно. Суть его состоит Й том, что после проведения процедур анализа чувствитель- чувствительности и параметрической оптимизации определяются пары ^злов схемы, к которым с целью улучшения их характери- характеристик целесообразно подключить новую подсхему. После это- этого процедуры составления математической модели, анализа, определения чувствительности и параметрической оптими-
38 Глава 1. Методология проектирования интегральных схем зации должны быть проведены заново Доминирующим на- направлением в решении задач структурного синтеза является применение экспертных оценок. Инструментальным средст- средством метода является экспертная система, содержащая ин- информацию о проектных решениях и гипотезах. Экспертная система получает свидетельства, подтверждающие или отвергающие ту или иную гипотезу с определенной вероят- вероятностью (каждое свидетельство имеет «цену»). Ее определяет эксперт. Математической основой экспертной системы явля- является формула Байеса, которая связывает вероятности под- подтверждения гипотезы до и после получения свидетельства. В качестве математического аппарата используют также аппа- аппарат булевой алгебры, но кроме нуля и единицы разрешается использовать любые действительные числа между ними. Все методы решения задач структурного синтеза на- находятся в постоянном развитии. В настоящее время пол- полностью задача синтеза активных ИС не решена. Выбор топо- топологии электрических схем производится исходя из опыта предыдущих разработок с учетом возможностей предполага- предполагаемого технологического процесса. Оптимизация схемы по выбранному критерию проводится лишь для ограниченного числа параметров компонентов. Рассмотрим выбор принципиальных электрических схем на примере разработки серии ИС для электронной вычисли- вычислительной техники. Как правило, каждый изготовитель ИС выпускает функционально полную и удобную для построе- построения того или иного класса ЭВМ серию логических элемен- элементов. В основу каждой серии положен один из типов логики. Каждая серия логических элементов оценивается по опреде- определенному набору параметров: задержке распространения сиг- сигнала, потребляемой мощности, помехоустойчивости, коэф- коэффициентам разветвления по входу и выходу, рабочему диа- диапазону температур и т. д. В зависимости от того, какое сочетание значений указанных параметров наиболее полно удовлетворяет требованиям технического задания, выбира- выбирается один из типов логических схем. Наибольшее распространение получили следующие типы логических схем (рис. 1.7): 1) комплементарная логика на полевых транзисторах (КМДП);
1.5. Этапы проектирования БИС 39 Вх. 1 Вх. 2 Вых. 2 Вых. 1 Вых. 1 Рис. 1.7. Типы логических схем: ТТЛШ (а); И^Л (б); ЭСЛ (б); КМДП (г) 2) ЭСЛ — эмиттерно-связанная логика; 3) ТТЛШ — транзисторно-транзисторная логика с дио- диодом Шоттки; 4) И2Л — транзисторные логические схемы интеграль- интегральной инжекционной логики. Тип логики в значительной мере определяет и принци- принципиальные электрические схемы функциональных устройств и блоков. После выбора принципиальных электрических схем необходимо определить параметры компонентов таким образом, чтобы наилучшим образом удовлетворялись требо- требования ТЗ к параметрам ИС. Эта задача является исключите- исключительно трудоемкой. Одним из немногих доступных для проек- проектировщиков ИС методов, позволяющим в какой-то мере оп- оптимально выбрать некоторые параметры компонентов, является метод граничных испытаний.
40 Глава 1. Методология проектирования интегральных схем Для применения метода граничных испытаний необхо- необходимо вывести соотношения, связывающие функциональные параметры ИС с параметрами компонентов. Функциональ- Функциональные параметры ИС являются нелинейными функциями па- параметров компонентов и в общем виде они могут быть запи- записаны следующим образом: Рп = /Х(Г, Д, С), A) где Рп — потребляемая ИС мощность; f1 — оператор; Г, Д, С — параметры транзисторов, сопротивлений и емкостей со- соответственно. Аналогичные соотношения можно записать и для других функциональных параметров ИС: *з.ср = /2(Г, Д, С), B) Un0M = f3(T,R,C)f C) N = /4(Г, Д, С). D) Считая параметры транзисторов и емкостей известными, определяют степень влияния сопротивлений (для схем, в ко- которых отсутствуют емкости и индуктивности) на параметры схемы и выбирают наиболее влияющие на них два сопротив- сопротивления. Это можно сделать следующим образом. Выбирается наиболее важный для разработчика аппаратуры один из функциональных параметров. В большинстве случаев это параметр, который определяет ее быстродействие, т. е. средняя задержка распространения сигнала в ИС. Далее проводится анализ ее чуствительности к изменению всех сопротивлений схемы, для чего определяются следующие производные: dR1 dR2 dRn и по численным значениям их величин выбираются два со- сопротивления для построения в их координатах области рабо- работоспособности. Для этого необходимо привести формулы для расчета функциональных параметров к другому виду. Полагая в фор- формуле A) параметры транзисторов, емкостей и сопротивлений
1.5. Этапы проектирования БИС 41 (за исключением R2 и Rx) известными, а потребляемую ИС мощность Рп равной требуемой по ТЗ, перепишем ее в следу- следующем виде: R2 = ф1(Л1). Применяя подобный подход к фор- формулам B-4), получим аналогичные формулы для остальных функциональных параметров: R2 = (p2(-Ri), R2 = ФзС^1) и R2 = ф4(Дх). После этого строится область работоспособности схемы с заданными параметрами в координатах выбранных сопро- сопротивлений (рис. 1.8). Остальные сопротивления выбирают на основании предварительного расчета схемы. В том случае, когда области работоспособности не существует, необходимо всю процедуру повторить с имеющимися другими наборами параметров активных компонентов. Если и в этом случае не удается построить область работоспособности, необходимо проверить другие принципиальные электрические схемы. После того как будет построена область работоспособности схемы, в ее пределах в зависимости от критерия оптималь- оптимальности выбираются оптимальные сопротивления. R Рис. 1.8. Область работоспособности логической схемы Основной недостаток метода граничных испытаний со- состоит в том, что оптимизация схемы проводится только по двум параметрам компонентов. Однако этот метод может быть обобщен и на случай п переменных, для чего, конечно, необходимо иметь программу, реализующую решение общей задачи нелинейного программирования. Суть обобщенного метода граничных испытаний описана в третьей главе.
42 Глава 1. Методология проектирования интегральных схем Задача анализа заключается в формировании матема- математической модели анализируемой ИС в виде систем диффе- дифференциальных или трансцендентных уравнений и решении этих систем. При этом проектировщик обычно проводит анализ статических, динамических или частотных харак- характеристик ИС. При анализе статических характеристик рассчиты- рассчитываются токи и напряжения в любом узле схемы, анали- анализируются вольтамперные характеристики и исследуется влияние параметров компонентов на них. Здесь же ставится задача расчета функциональных (потребляемая мощность, нагрузочная способность, помехоустойчивость и т. п.) и тес- тестовых (входные и выходные токи и напряжения и т. п.) па- параметров схемы. При анализе динамических характеристик ИС проекти- проектировщик обычно исследует с помощью ЭВМ поведение ИС при воздействии импульсных сигналов, получает графики переходных процессов в любом узле схемы при воздействии входных сигналов произвольной формы, затем проводится расчет частотно-зависимых параметров ИС, обычно линей- линейных. При анализе необходимо учитывать, что принципиаль- принципиальные электрические схемы ИС содержат помимо функциона- функционально необходимых компонентов большое число компонен- компонентов, отражающих паразитные связи. Статистический анализ занимает значительное место при анализе ИС. Различный подход к учету разброса пара- параметров компонентов обусловливает разнообразие этих мето- методов. При статистическом расчете ИС необходимо провести: 1) статистическую обработку результатов измерений или расчет параметров математических моделей компонентов; 2) статистический анализ схемы; 3) статистическую оптими- оптимизацию по параметрам компонентов; 4) статистическую опти- оптимизацию по тестовым нормам. Рассмотрим особенности статистического анализа бипо- биполярных ИС, изготовляемых по планарно-эпитаксиальной тех- технологии со скрытым слоем и имеющих следующие свойства: • распределения параметров активных и пассивных компо- компонентов имеют большие дисперсии, что, в свою очередь, приводит к тому, что параметры ИС имеют также значи- значительные дисперсии;
1.5. Этапы проектирования БИС 43 • сильные корреляционные связи между параметрами ком- компонентов; • зависимости параметров ИС от параметров компонентов, как правило, существенно нелинейны. Статистический анализ ИС — это расчет вероятности того, что вектор X, заданный параметрами хг, х2, х3, ..., хп, находится в области работоспособности G: P(XeG) или — 00 —00 —00 где yk — параметры схемы; ak — границы работоспособно- работоспособности; *Р — многомерная функция распределения плотности вероятностей функций yk как аргументов. Основное отличие методов статистического анализа за- заключается в способе расчета вероятности Р. Проектирование ИС, изготовляемых по технологии, за- законы распределения основных параметров которой извест- известны, можно осуществить таким образом, что процент выхода годных схем будет максимальным. Это возможно благодаря применению методов статистической оптимизации. Под ста- статистической оптимизацией понимают такую оптимизацию, при которой функционалом является вероятность удовлет- удовлетворения условий работоспособности схемы. Проведенный анализ позволяет сформулировать задачу оптимизации по нормам отбраковки для цифровых ИС в следующем виде. Рассмотрим в общем виде задачу статистической оптими- оптимизации ИС. На функциональные параметры проектируемой цифро- цифровой ИС обычно задаются следующие ограничения: t3cp <t™;Un >U™;N > N™;P < Р™. Первое неравенство представляет собой ограничение на динамические параметры, остальные — на статические. В обобщенном виде их можно записать следующим образом: Qt(Xl9X29 ..., Х„)>0, где Хг ... Хп — параметры компонентов при ? = 1,2, 3, 4.
44 Глава 1. Методология проектирования интегральных схем При оптимизации необходимо задать начальные при- приближения на граничные значения тестовых параметров. Отбраковка схем производится на основании следующих критериев: U0 <U° • U1 > U1 ¦ • 1° < 1° -1° > 1° • и т д и — и max ' и — и mm ' ¦'вх — -* вх max ' А вых — А вых mm kl х • А» Данную систему неравенств можно записать: Z}{Xl9X29...9Xn)>bj9 где Zj — тестовые параметры; bj — граничные значения max или min (нормы отбраковки тестовых параметров). В общем виде задачу параметрической оптимизации можно сформулировать так: Qi(Xl9 Х2, -., Хп; bl9 b2, ..., bm) > О, Zj{Xl9X29...9Xn;bl9b29 ..., bm)>0. Возможны три подхода к статистической оптимизации ИС: 1) Статистическая оптимизация Xt по нормам отбраков- отбраковки bj при заданных и неизменных моментах в законах распределения bj и Xj. 2) Статистическая оптимизация по параметрам Xt при заданных и неизменных нормах отбраковки bj. 3) Общая статистическая оптимизация по параметрам Xt и bj. В результате статистичесой оптимизации определяются нормы отбраковки bj, при проверке по которым процент вы- выхода годных схем будет максимальным и у всех схем, про- шедщих контроль по тестовым параметрам, гарантировано выполнение ТЗ по функциональным параметрам. Этап статистического расчета заканчивается выдачей документации, которая содержит принципиальную элект- электрическую схему, номиналы и типы компонентов, статиче- статические, динамические и частотные характеристики, рекомен- рекомендации по разработке топологии ИС и браковочные нормы на электрически измеряемые параметры ИС для кон- контрольно-измерительного оборудования.
1.5. Этапы проектирования БИС 45 1.5.4. Топологическое проектирование Топология — это аналог электрической схемы в виде на- набора геометрических образов слоев кристалла. В каждом слое имеется Определенное число фигур, расположенных от- относительно друг друга. Комбинация определенных фигур со- соответствует элементу электрической схемы, например, тран- транзистору (рис. 1.9). Металлиз. обл. колл. (слой кол. диф.) Эмиттер (слой эм. диф.) Коллектор Рис. 1.9. Условное обозначение транзистора и его геометрический аналог Соединения между элементами выполняются в соответ- соответствии с принципиальной электрической схемой. Они реали- реализуются в виде метализированных дорожек. Чтобы избежать пересечения металлических дорожек, соединения выполня- выполняют в различных слоях топологии. Количество слоев зависит от технологии изготовления ИС. Некоторые размеры топо- топологии (например, размеры эмиттерной области) определяют ее электрические свойства, другие (расстояние между фигу- фигурами одного слоя или допуска на совмещение фигур разных сдоев) должны удовлетворять конструкторско-технологиче- ским ограничениям (КТО). Разработка топологии ИС заключается в решении ряда взаимосвязанных задач: • относительного взаимного размещения компонентов с минимальным числом пересечений; • размещения компонентов в системе координат на крис- кристалле с учетом схемотехнических, технологических и нормативных ограничений; • трассировки (проведения внутрисхемных соединений); • подготовки информации для изготовления фото- фотошаблонов.
46 Глава 1. Методология проектирования интегральных схем В настоящее время все эти задачи решаются с помощью ЭВМ. Рассмотрим, как действует проектировщик при раз- разработке топологии ИС, изготовляемой по биполярной тех- технологии. Методика инженерного решения первых двух из пере- перечисленных задач состоит в следующем: 1) принципиальная электрическая схема перечерчи- перечерчивается таким образом, чтобы ее выводы располагались в желаемой последовательности и все компоненты соединялись с минимальным числом пересечений; 2) определяется число необходимых изолированных об- областей исходя из анализа распределения потенциалов коллекторных областей биполярных транзисторов; 3) все резисторы, имеющие на одном выводе фикси- фиксированный потенциал (питание), должны, как правило, подключаться к наиболее положительному потенциа- потенциалу схемы; 4) чтобы учесть диффузию примеси под маскирующий ок- оксид, при составлении топологии рекомендуется разме- размещать компоненты схем (за исключением контактов) на расстоянии от щели под разделительную диффузию, равном удвоенной толщине эпитаксиального слоя; 5) межкомпонентные соединения могут быть выполнены металлизацией поверх диффузионных сопротивлений; во избежание пересечений можно предусмотреть изго- изготовление на кристалле небольшого сопротивления на эмиттерном диффузионном слое; 6) для уменьшения паразитных емкостей подложку сле- следует соединять с наибольшим отрицательным потенци- потенциалом питания; 7) для улучшения развязки между коллекторными изо- изолированными областями контакт к подложке реко- рекомендуется делать рядом с наиболее мощным выход- выходным транзистором схемы; 8) для уменьшения паразитных связей и во избежание закорачивания контактной площадки на подложку при термокомпрессии контрольные площадки необхо- необходимо располагать на толстом слое оксида в изолиро- изолированных областях.
1.5. Этапщ, проектирования БИС 47 Так как процент выхода годных ИС сильно зависит от площади кристалла, необходимо ее минимизировать. При размещении компонентов и проведении межсоеди- межсоединений сначала вычерчивают 3-4 компонента и соединяют их в соответствии с принципиальной электрической схемой, затем подстраивают еще 3-4 компонента и т. д. В случае, если на одном кристалле создается несколько схем, то тогда вычерчивают в первую очередь наиболее сложную ИС. Основным требованием при проведении внутрисхемных сое- соединений является минимизация числа пересечений, так как использование эмиттерной диффузионной области в качест- качестве проводника хотя и возможно, но нежелательно. Изготовление конструкторской документации на ма- машинном носителе для фотошаблонов является не сложной, но трудоемкой процедурой. Правила проектирования топологии Мида—Конвей Основной тенденцией при проектировании ИС является постоянное уменьшение минимального расстояния, в преде- пределах которого может быть достигнуто успешное формирова- формирование элементов на пластине. При проектировании ИС задают- задаются не абсолютные размеры, а используются единицы, крат- кратные некоторому параметру размера, обозначаемому X. Этот параметр приблизительно равен максимальному значению случайного смещения границы топологического элемента, которое может возникнуть при его формировании на пласти- пластине. Наряду с другими факторами параметр X ограничивает ширину проводника. Если она будет меньше 2Х, то так как нельзя гарантировать положение границы проводника с точ- точностью до X, границы фактически могут попасть в одно и то же место, и тогда ширина проводника станет равной нулю. Технологический уровень изготовления ИС характеризуется именно этим параметром, значение которого за последние десять лет изменялось следующим образом: B-1,5-1,0-0,7- 0,5-0,35-0,18-0,08) мкм. Большинство современных изго- изготовителей ИС работают на проектных нормах 0,5 мкм и 0,35 мкм.
48 Глава 1. Методология проектирования интегральных схем Важным шагом на пути упрощения процесса проектиро- проектирования топологии ИС и ее конвертирования на новые проект- проектные нормы явились правила, разработанные Мидом и Кон- вей [1.7]. Следуя им, проектировщик должен быть уверен, что его проект будет реализован производителями я-МОП ИС. При выполнении этих правил в топологии не должна измениться связность проводников, даже если все границы сдвинутся независимо друг от друга на любые расстояния вплоть до X, но не включая его. Сформулируем ряд правил Мида—Конвей следующим образом: • минимальная ширина проводников. Проводники в поли- поликремниевом и диффузионном слоях должны иметь шири- ширину не менее 2Х. Ширина металлических проводников должна составлять по крайней мере ЗХ; • минимальное расстояние между проводниками. Проме- Промежутки между поликремниевыми проводниками должны составлять 2Х, а между диффузионными и металлически- металлическими проводниками — ЗХ. Поликремниевые и диффузион- диффузионные проводники, не предназначенные для формирования транзисторов, должны быть разнесены по меньшей мере на X. Если допустить более близкое расположение этих проводников, то смещение на X каждого из них может привести к полному перекрытию диффузионного слоя по- ликремнием. Металлические проводники не следует от- отделять от проводников других слоев. Эти правила проиллюстрированы на рис. 1.10; • формирование транзисторов. Если поликремниевый и диффузионный проводники используются для формиро- формирования транзистора, то поликремний должен распростра- распространяться за пределы диффузионного проводника по крайней мере на 2Х (рис. 1.10). Если поликремний рас- распространяется на меньшее расстояние, то смещение на границы диффузионного проводника и еще на границы поликремниевого проводника может привести к тому, что останется часть диффузионного слоя, не покрытая по- поликремнием, что приведет к нарушению работоспособно- работоспособности транзистора.
1.5. Этапы проектирования БИС 49 зх зх 2Х X 2Х гх ^Металлический слой Диффузионный слой •V 2Х Поликремниевый слой Рис. 1.10. Правила расположения проводников (а) и формирования транзисторов (б) Для электрического соединения проводников различных слоев необходимо расположить контактные окна. Контакты между металлическим и любым из двух других длоев, по су- существу, являются одинаковыми. Например, контакт ме- металл — поликремний (рис. 1.11, а) создается на участке из металлического и поликремниевого слоев размером 4А, х 4А,, внутри которого в этих слоях создается контактное окно размером 2Х х 2Х. Контакт металл—диффузионный слой со- создается точно так же, только слой поликремния заменен диффузионным. Контактные окна обозначаются черным цветом. Таким образом, на рис. 1.11, а в области контактно- контактного окна и вокруг нее имеются металл и поликремний. Соединение поликремниевого и диффузионного слоев мо- может быть осуществлено методом создания торцевого контак- контакта (рис. 1.11, б). Такой контакт состоит из металлического (М) прямоугольника размером 4Х х 6А, с контактным окном размером 2Х х 4А, в середине. С одной стороны окна распола-
50 Глава 1. Методология проектирования интегральных схем X 2Х X X 2Х 2Х 6Х а б в Рис. 1.11. Контактное окно в слоях металл-поликремний (а), торцевой (б) и скрытый (в) контакты гается диффузионная (Д) область размером 4Х х 4А,, с дру- другой — поликремниевая (П) область размером ЗА, х 4Х. Разме- Размеры выбраны в соответствии с основными рекомендациями Мида—Конвей. Позже были разработаны и другие методы соединения диффузионного слоя и поликремния, например метод создания скрытого контакта (рис. 1.11, в). Скрытый контакт формируется областью размером 2Х х 2Х, где пере- перекрываются поликремниевый и диффузионный слои, которая окружена областью размером 6Х х 6^. Еще один метод осно- основан на использовании для соединения поликремниевых и диффузионных проводников сложных сквозных отверстий в схемах поликремний — металл и металл —диффузионный слой, которые формируются на участке металлического слоя размером АХ х 8Х. Правила Мида — Конвей для контактов иллюстрируются рис. 1.11. Кроме того, существует правило, требующее, что- чтобы контактное окно или область скрытого контакта не были ближе, чем на 2Х к несвязанным с ними объектам. Сущест- Существует также общее ограничение, требующее, чтобы размеры контактных окон не превышали 2Х. При проектировании то- топологии ИС необходимо учитывать, что каждый контакт ох- охватывает два или три слоя, и правила, применимые к про- проводникам этих слоев, применяются также и к контакту.
1.5. Этапы проектирования БИС 51 Следует отметить, что расположение компонентов силь- сильно влияет на динамические характеристики ИС. Поэтому после топологического проектирования рассчитывают пара- паразитные элементы, а затем вновь учитывают их на этапах функционально-логического и схемотехнического проекти- проектирования. Трудоемкость работ на данном этапе резко возрас- возрастает с увеличением степени интеграции ИС. Необходимо также отметить, что чем выше технические требования к ИС, тем сильнее взаимосвязь этапов проектирования. Проектирование топологии БИС При проектировании топологии БИС необходимо решать следующие задачи: • синтез топологии; • контроль топологии; • проектирование фотошаблонов. Задачами синтеза топологии являются: • разработка библиотеки элементов; • разбиение схемы на части — декомпозиция электриче- электрической схемы; • размещение элементов на кристалле; • проведение соединений между эквипотенциальными вы- выводами элементов. Контроль топологии подразумевает решение таких за- задач, как: • проверка конструкторско-технологических ограничений; • проверка соответствия топологии электрической схеме; • экстракция электрической схемы из топологии. В задачу проектирования фотошаблонов входят: • представление области экспонирования в виде набора прямоугольных областей, которые могут быть обработа- обработаны микрофотонаборной установкой (МФНУ) или генера- генератором изображений (ГИ); • преобразование описания фотооригинала в последова- последовательность команд в соответствующем формате, представ- представляющих управляющую информацию для МФНУ и ГИ.
52 Глава 1. Методология проектирования интегральных схем Предварительно на основе опыта проектируется тополо- топология библиотечных элементов. Основной критерий — минима- минимальная площадь топологии схемы на кристалле. Важно прави- правильно выбрать состав библиотеки. Одному схемному элементу может соответствовать несколько топологических аналогов. Декомпозиция. Схема разбивается на части. Иначе нель- нельзя проектировать, т. к. объект сложен. Более того, декомпо- декомпозиция может быть многоуровневая, т. е. применяется иерар- иерархический метод проектирования. Деление на части прово- проводится по минимизации числа связей между частями или функциональному признаку. Размещение. Очередной уровень (этаж) схемы составля- составляется из фрагментов более низкого уровня. Делается их рас- расстановка без перекрытий в прямоугольной области наимень- наименьшей площади так, чтобы между ними осталось достаточно места для проведения всех необходимых соединений. Трассировка. Для каждого фрагмента после размещения соответствующих его элементов или параллельно с ним определяются соединительные дорожки. При этом стремят- стремятся к тому, чтобы дорожки были по возможности короче и об- область коммутации занимала как можно меньше места. Кроме того нужно следить за правильным распределени- распределением частей этих дорожек по слоям. Например, если для ком- коммутации используются металл и поликремний, стремятся к тому, чтобы большая часть соединений была выполнена в виде металла, иначе будет снижено быстродействие схемы. Наконец, «оборванные» связи должны выходить на границу фрагмента так, чтобы обеспечить успешную стыковку фраг- фрагментов на следующем уровне. Проверка КТО. В процессе проектирования или по его завершении для каждого слоя проверяется: • нет ли размеров фигур, меньших допустимого (иначе в го- готовом изделии будет разрыв); • не сближены ли две фигуры слоя на слишком малое рас- расстояние (после изготовления будет смыкание фигур); • не слишком ли мал зазор между совмещаемыми фигура- фигурами смежных слоев. К другим проверяемым КТО относят- относятся специальные области на кристалле, предназначенные (или запрещаемые) для размещения или трассировки.
1.5. Этапы проектирования БИС 53 Проверка соответствия топологии электрической схе- схеме. Проверяется ее совпадение с исходной принципиальной электрической схемой. Экстракция. Взаимное близкое расположение элемен- элементов топологии приводит к возникновению паразитных эле- элементов (сопротивлений, емкостей, р-л-р-я-структур), кото- которые могут нарушить работу схемы. Процесс извлечения из топологии паразитных элементов и их параметров называет- называется экстракцией. 1.5.5. Компонентное проектирование На данном этапе решаются следующие основные задачи: • рассчитывается физическая структура ИС (диффузионный профиль, электрофизические параметры в различных диффузионных слоях) для заданной последовательности технологических операций с заданными параметрами и проводится оптимизация параметров технологического процесса для получения заданной физической структуры; • рассчитываются характеристики и параметры резистив- ных и транзисторных планарно-эпитаксиальных струк- структур с учетом двумерного распределения плотности носителей заряда; • проводится оптимизация физической структуры и топо- топологии биполярного или МОП-транзистора при наложении ограничений на его параметры (рис. 1.12 и 1.13); Разделительная диффузия Эмиттер \\\\\\\У:(скр?7ыйслойК\\\\\\\\ р-подложка Рис. 1.12. Интегральный биполярный транзистор (БТ)
54 Глава 1. Методология проектирования интегральных схем 1 р и 3 с = 0 1 Si SiC С Рис. 1.13. п-канальный МОП-транзистор обогащенного типа. Контакты: И — исток; С — сток; 3 — затвор; П — подложка • рассчитываются характеристики, параметры метал- металлизированных внутрисхемных соединений (с учетом их распределенного или сосредоточенного характера) и их взаимное влияние. Физическая структура ИС определяется требованиями к основному транзистору, оказывающему наиболее сильное влияние на параметры схемы. Изменяя только геометрию компонентов, можно полу- получать их различные характеристики. Выбор оптимальной геометрии компонентов ИС (осо- (особенно транзисторов) становится в настоящее время одной из важнейших задач. Практически для каждой ИС следу- следует брать геометрию компонентов, наиболее целе- целесообразную в данном конкретном случае (рис. 1.14). На- Например, если в схеме используются транзисторы, вклю- включенные параллельно, то предпочтительно использовать общий коллектор внутри одной изолированной области; если схема должна обеспечивать высокую скорость пере- переключения, то используют компоненты малых геометриче- геометрических размеров; если схемы должны работать при больших токах, то используют компоненты с увеличенными геометрическими размерами.
1.5. Этапы проектирования БИС 55 1— ¦ 1 г 1 1 1 1 1 1 1 DO!!! б i !!!DO|! в • j • i . • • i ! • ' i j ! i i i • ' i DO ! * i i i i DO Рис. 1.14. Примеры топологий биполярного транзистора Проектирование ИС ведется на освоенном технологиче- технологическом процессе, либо для разрабатываемой серии ИС создает- создается новый технологический процесс. В зависимости от этого определяется и характер задач, решаемых на рассматривае- рассматриваемом этапе проектирования. В том случае, когда проектиро- проектирование ведется на освоенном технологическом процессе, необ- необходимо получить электрические параметры активных ком- компонентов различной геометрической конфигурации, причем желательны те параметры, которые описывают модели ком- компонентов, используемые на этапе схемотехнического проек- проектирования. На первых этапах развития микроэлектроники логи- логические ИС в смысле схемотехники представляли аналоги уже известных схем, выполненных на дискретных компонентах. Структурно-топологически они представляли собой сформи- сформированные в одном кристалле полупроводника активные и пассивные компоненты, расположенные в отдельных изоли- изолированных областях и объединенные в функциональную схему металлизацией. При таком способе изготовления схемотехни- схемотехнические и структурно-топологические решения были слабо взаимосвязаны. Сейчас получили большое распространение функционально-интегрированные элементы, в которых одни и те же области полупроводниковой физической структуры выполняют различные функции. Завершается этап определением численных значений пара- параметров компонентов различной геометрической конфигурации для имеющихся или предполагаемых технологических про- процессов изготовления ИС. В случае необходимости определяет- определяется комплекс требований ко вновь разрабатываемому техноло- технологическому процессу изготовления ИС.
56 Глава 1. Методология проектирования интегральных схем 1.6. Проектные процедуры процесса проектирования На каждом этапе проектирования проектировщик вы- выполняет одни и те же проектные процедуры: структурный синтез, составление математической модели, анализ матема- математической модели, оптимизация параметров математической модели и ее статистический анализ. Последовательность вы- выполнения проектных процедур представлена на рис. 1.15. тз Структурный синтез Составление ММ Ввод данных Решение ММ 8— Оптимизация Изменение структуры ТЗ \ нет ^выполняется? 10 Изменение ТЗ Оформление технической документации Рис. 1.15. Последовательность выполнения проектных процедур
1.6. Проектные процедуры процесса проектирования 57 На каждом этапе исходными данными являются требуе- требуемые параметры объекта проектирования, а выходными — информация для следующего этапа, если данный этап не по- последний, или информация для изготовления фотошаблонов и контрольно-измерительного оборудования, если этап — последний. На каждом этапе проектирование начинается с решения задачи структурного синтеза, т. е. с принятия тех- технического решения о начальном варианте структуры объек- объекта проектирования (блок 1). Затем выбранный вариант структуры оценивается с точки зрения удовлетворения тре- требованиям ТЗ (блоки 2-5). Для оценки каждого варианта структуры в блоке 2 составляется математическая модель, связывающая выходные параметры объекта проектирова- проектирования с его внутренними и внешними. После ввода значений внутренних и внешних параметров в математическую мо- модель (блок 3), определяются значения выходных параметров объектов проектирования (блок 4). В блоке 5 рассчитанные значения выходных параметров сравниваются с соответствующими значениями из ТЗ и при- принимается решение о дальнейших действиях. Блоки 1-5 со- составляют ветвь детерминированного проектирования. В том случае, если значения выходных параметров не удовлетво- удовлетворяют требованиям ТЗ, возможны три варианта дальнейших действий, направленных на их изменение с целью удовлет- удовлетворения предъявляемым требованиям: провести параметри- параметрическую оптимизацию, изменить структуру объекта проекти- проектирования или скорректировать ТЗ (блоки 8-10). Причем по- последнее крайне нежелательно, т. к. на это требуется согласие заказчика. После того, как в результате детерми- детерминированного проектирования требования к выходным пара- параметрам объекта проектирования будут удовлетворены, про- проводится статистический анализ с целью определения про- процента выхода годных ИС при производстве и, соответственно, их стоимости. Если процент выхода годных недостаточен (определяется в блоке 7), то дальнейшие дейст- действия проектировщика должны развиваться по тем же трем вариантам, описанным выше (блоки 8-10), с целью макси- максимизации процента выхода годных за счет учета реальных статистических распределений параметров материалов и технологических процессов, применяемых при изготовле-
58 Глава 1. Методология проектирования интегральных схем нии ИС. Следует отметить, что оптимальные электрические и экономические параметры не совпадают, т. к. экономиче- экономические параметры чаще всего связаны с поиском центра облас- области работоспособности G, а электрические — с поиском конк- конкретной точки области работоспособности в зависимости от критерия оптимизации, которая в большинстве случаев на- находится вблизи границ области допустимых значений пере- переменных. 1.7. Выводы и пути развития Кратко обобщим основные сведения, которые необходи- необходимо знать, чтобы составить общее представление о проектиро- проектировании БИС. 1. Полный цикл проектирования БИС состоит из этапов: логического, схемотехнического, топологического, компо- компонентного. На каждом этапе выполняются следующие проектные процедуры: структурный синтез; составление математи- математической модели (ММ); анализ ММ; параметрическая оптими- оптимизация; статистический анализ. Проектирование заканчива- заканчивается выдачей информации о топологии БИС для изготовле- изготовления фотошаблонов на микрофотонаборных или электронно- электроннолучевых установках (МФНУ и ЭЛУ) и информации о тестах для измерения параметров БИС на контрольно-измеритель- контрольно-измерительном оборудовании (КИО). 2. На каждом этапе проектирования существует свое по- понятие элемента и системы. При использовании концепции восходящего проектирования то, что было на предыдущем этапе системой, на последующем становится элементом. На- Например, МИС является системой на схемотехническом этапе и элементом на логическом. 3. Схемотехническое и топологическое проектирование проводится для разработки компонентов, ЛЭ и собственно БИС. 4. Наиболее распространенными являются БИС, изго- изготовленные по биполярной и МОП-технологиям. Кроме БИС и СБИС в РЭА широко применяют так на- называемые стандартные МИС и СИС, выпускаемыми массо-
7. Выводы и пути развития 59 выми сериями. Для имеющейся технологии их проектиро- проектирование осуществляется в следующем порядке: а) на этапе компонентного проектирования разрабатывается, изготав- изготавливается и аттестуется библиотека компонентов; б) для каждой ИС серии проводится этап схемотехнического проектирования; в) затем проводится топологическое проектирование. Существуют два основных пути совершенствования про- процесса проектирования БИС: 1) применение ЭВМ на всех этапах проектирования для существующих конструктивно-технологических мето- методов изготовления БИС; 2) создание конструктивно-технологических методов из- изготовления БИС, ускоряющих процесс проектирова- проектирования. Сокращение цикла проектирования БИС достигается благодаря использованию стандартных матриц наборов ком- компонентов, ЛЭ или структур широкого назначения, обобщен- обобщенных фрагментов; размещению внутрисхемных соединений в межблочных областях; параметризованному заданию стан- стандартных конструкций. Реализация функций БИС должна достигаться с наименьшим числом элементов (транзисторов и резисторов, ЛЭ, триггеров, регистров и т. д.) с использова- использованием регулярных структур. При проектировании полузаказных БИС на основе базо- базовых матричных кристаллов разработчик аппаратуры с помо- помощью программы логического моделирования в интерактив- интерактивном режиме отрабатывает логическую схему и систему конт- контролирующих тестов. Затем на этапе топологического проектирования решаются две задачи: определяются места вскрытия окон в окисле и трассировка. В последние годы доля выпуска БМК стала сокращаться в связи с несколькими причинами: • успехи в области технологии позволили создавать на одном кристалле до миллиарда транзисторов при цикле изготов- изготовления в несколько дней. Появилась реальная возможность создания сложных технических систем (СТС); • попытка создания СТС на базе БМК привела бы к огром- огромной избыточности и плохим техническим характеристи- характеристикам и при этом никакого выигрыша во времени не
60 Глава 1. Методология проектирования интегральных схем получилось бы, т. к. основные затраты времени опреде- определяются временем проектирования СТС, а не временем их изготовления. В этом смысле, определилась и ниша при- применения БМК — относительно несложные схемы, когда время проектирования ИС сравнимо с циклом ее изготов- изготовления; • при проектировании СТС возникла новая принципиаль- принципиальная проблема — необходимость использования укрупнен- укрупненного базиса. В качестве элементов такого базиса стали: микропроцессоры, контроллеры памяти, шины связи и др. Перед разработчиками СТС возник вопрос — разра- разрабатывать элементы базиса самим, что дорого и долго, или применять уже выпускаемые другими фирмами такие ИС, которые являются интеллектуальной собственностью фирм-разработчиков этих схем. Такие схемы получили название IP-блоков. Для проектирования систем на крис- кристалле (SoC) с использованием в качестве элементов базиса IP-блоков во многих странах стали создаваться специаль- специальные дизайн-центры. В заключение отметим наличие аналогии процедур про- проектирования и программирования [1.8]. Проектирование Структурная схема Функциональная схема Рабочий проект Настройка Компонент объекта Технология проектирования Программирование Схема алгоритма Блок-схема программы Программа Отладка Оператор языка Технология программирования В настоящее время это обстоятельство интенсивно испо- используется при разработке новых методологий высокоуровне- высокоуровневого проектирования СБИС и систем на кристалле с исполь- использованием IP-блоков.
1.7. Выводы и пути развития 61 Литература 1.1. Казённов Г. Г., Соколов А. Г. Основы построения САПР и АСТПП. — М.: Высшая школа, 1989 (учебник). 1.2. Казённов Г. Г., Соколов А. Г. Принципы и методология построения САПР БИС. — М.: Высшая школа, 1990. 1.3. Казённов Г. Г., Кремлёв В. Я. Полупроводниковые ин- интегральные схемы. — М.: Высшая школа, 1987. 1.4. Ульман Дж. Д. Вычислительные аспекты СБИС. — М.: Радио и связь, 1990. 1.5. Корячко В. П., Курейчик В. М., Норенков И. П. Теоре- Теоретические основы САПР. — М.: Энергоатомиздат, 1987. 1.6. Щемелинин В. М.. Автоматизация топологического проектирования БИС. — М.: МИЭТ, 2001. 1.7. Mead, С. A. and Conway L. A. A980). Introduction to VLSI Systems, Addison-Wesley, Reading, Mass. 1.8. Петренко А. И., Семенков О. И. Основы построения сис- систем автоматизированного проектирования. — Киев: Вища школа, 1985. 1.9. Казённов Г. Г. Структура, основные требования и прин- принципы построения систем автоматизированного проекти- проектирования микроэлектронных приборов. — М.: Машино- Машиностроение, 1978.
Глава 2 Архитектура САПР БИС. Маршруты проектирования Введение Многообразие изделий и методологий проектирования изделий электронной техники породило большое разнообра- разнообразие САПР. С их помощью в различных отраслях промыш- промышленности производительность труда при выполнении про- проектных работ удалось повысить в несколько десятков раз. О методологических проблемах создания систем автома- автоматизированного проектирования и производства известный экономист И. Хатвани замечает по поводу стратегии капита- капиталовложений в промышленное производство, что вековые кон- концепции окупаемости капиталовложений неприменимы в со- современных условиях. Классические критерии экономики, их целевые функции и процедуры оптимизации основаны на по- поиске стабильности при дополнительных предположениях о неизменности номенклатуры товаров, производимых по неиз- неизменяемой технологии, для неменяющегося рынка, использо- использования одних и тех же видов сырья, энергии, трудовых ресур- ресурсов при неизменной их стоимости. И далее И. Хатвани заме- замечает, что сегодня для сбалансированного и гармоничного роста требуется существенное расширение промышленности и изменение продукции и технологии. Одним из лучших пу- путей достижения гибкости и адаптивности промышленности является управление с помощью ЭВМ операциями проекти- проектирования и производства в целом, что позволит: • осуществлять производство мелкосерийной продукции с производительностью и эффективностью массового про- производства; • вносить быстрое изменение в структуру продукта с мини- минимальными капиталовложениями.
2.1. Классификация САПР 63 2.1. Классификация САПР САПР можно классифицировать по следующим призна- признакам [2.2]. По назначению систем: • Изделия микроэлектроники — проектирование интег- интегральных схем и систем на кристалле с использованием IP-блоков по полному циклу, принципиальных и мон- монтажных схем, печатных плат, автоматическое размеще- размещение элементов изделий и их трассировка. • Электротехнические — разработка принципиальных схем и схем подключения электротехнического оборудо- оборудования, его пространственная компоновка, ведение баз данных готовых изделий. • Машиностроительные — разработка различных изделий: от создания аэрокосмических систем до проектирования бытовой техники. • Архитектурные — трехмерное проектирование архитек- архитектурно-строительных конструкций, расчет специальных конструкций типа крыш, типовые статические расчеты строительных конструкций, ведение баз данных стандар- стандартных элементов, планирование территорий под строи- строительство. • Оборудование промышленных установок и сооруже- сооружений — создание принципиальных схем установок, про- пространственная разводка трубопроводов и кабельных трасс, проектирование систем отопления, водоснабже- водоснабжения, канализации, электроснабжения, вентиляции и кондиционирования, ведение баз данных оборудования, трубопроводной арматуры, готовых электротехнических изделий. • Геоинформационные — оцифровка данных полевой съем- съемки, анализ геодезических сетей, построение цифровой модели рельефа, создание в векторной форме карт и пла- планов, ведение земельного и городского кадастров, ведение электронного картографического архива.
>4 Глава 2. Архитектура САПР БИС. Маршруты проектирования По способу организации информационных потоков: • Индивидуальные автоматизированные рабочие места — системы подобного класса создаются на базе отдельных рабочих станций или ПК с соответствующим ПО. • Распределенная одноуровневая система — системы, объ- объединенные в локальную сеть с несколькими рабочими станциями и/или ПК; функциональные возможности ПО в этом случае больше всего зависят от технических параметров используемых средств вычислительной тех- техники и могут выполнять равноправные проектно-конст- рукторские функции. • Распределенная многоуровневая система — системы, объединенные в локальную сеть с одной или несколькими рабочими станциями и ПК; функциональные возможно- возможности ПО в этом случае отличаются: на высокопроизводите- высокопроизводительных рабочих станциях устанавливаются мощные и достаточно дорогие САПР, а на персональные компьюте- компьютеры — их существенно более дешевые, но несколько со- сокращенные функциональные аналоги; в этом случае на рабочих станциях осуществляется укрупнение и сборка деталей и узлов, сконструированных на ПК. • Интегрированная многоуровневая система — системы, предназначенные для проектирования и подготовки про- производства сложных изделий, как правило, имеют и доста- достаточно сложную внутреннюю иерархию информационных потоков, наложенную на структуру технических и про- программных средств; современные высокоуровневые САПР имеют все средства для управления работой как отдель- отдельных исполнителей, работающих в рамках одного проек- проекта, так и работой крупных проектных организаций. • Интегрированная система управления предприятием — системы, управляющие всем комплексом задач функцио- функционирования предприятия как единого целого. САПР/АСТПП в этом случае входят как отдельные струк- структурные элементы автоматизированной системы управле- управления предприятием.
2.1. Классификация САПР 65 По специализации программных средств: • Узкоспециализированные утилиты — предназначены для выполнения 1-й локальной функции системы, например, быстрого просмотра файлов моделей и чертежей или для преобразования файлов из формата 1-й системы в формат другой. • Специализированные системы — позволяют автоматизи- автоматизировать комплекс задач, связанных с 1-й достаточно узкой областью проектирования или подготовки производства; в качестве примера можно привести системы гибки лис- листовых деталей, проектирования оснастки для холодной штамповки, подготовки управляющих программ для станков с ЧПУ, контрольно-измерительных систем и т. д. • Универсальные системы — позволяют создавать изделия самого широкого профиля; большинство машиностроите- машиностроительных САПР можно отнести именно к универсальным си- системам. • Комплексные системы — предназначены для решения проблем проектирования и подготовки производства спе- специальных высокосложных изделий; например, специали- специализированные судостроительные системы позволяют автоматизировать практически весь цикл проектирова- проектирования судна: от определения формы корпуса судна, его основных размеров и расположения основных отсеков и помещений до создания рабочих чертежей блоков и сек- секций корпуса. По способу организации внутренней структуры САПР: • Масштабируемые модульные системы, формируемые во- вокруг базового ядра. Ядро таких систем включает все тре- требуемые базовые средства построения двухмерной и трехмерной графики, средства диалога с пользователем, базу данных графической информации и позволяют ком- компоновать специализированные системы на базе свободно подключаемых модулей, учитывающих специфику работ пользователя (например, модули раскроя листового мате- материала или развертки трубных соединений); большинство современных систем построено именно по этому принци-
66 Глава 2. Архитектура САПР БИС. Маршруты проектирования пу — горизонтально расширяемые системы. Интегрирую- Интегрирующим ядром таких систем является диспетчер пользовательской среды, организующий доступ к внеш- внешним приложениям и обмен данными с внешними систе- системами; объектно-ориентированная структура данных и стандартизованный их обмен между приложениями по- позволяет максимально децентрализовать процесс проекти- проектирования и упростить подключение специализированных модулей. По возможности функционального расширения системы пользователем: • Закрытые системы — не имеют средств индивидуальной настройки и возможности расширения системы пользова- пользователем. • Системы с настраиваемой системой интерфейса пользова- пользователем — обладают возможностью подстройки системы меню, создания диалоговых окон для создания среды, удобной пользователю. • Системы с пакетной обработкой команд — имеют воз- возможность выполнения последовательности команд САПР, сформированных в текстовом пакетном файле, со- созданном внешней программой. • Системы со встроенным макроязыком и библиотекой функций — обладают средствами для записи макрокоманд или создания новых функций пользователя, позволяющих автоматизировать специфические конструкторские опера- операции. • Системы с возможностью подключения внешних моду- модулей — позволяют подключать модули пользователя, на- написанные на языках высокого уровня типа C++, что значительно увеличивает потенциальные возможности расширения системы; большинство современных САПР высокого уровня обладают подобной возможностью. • Инструменты разработчика САПР — дают возможность, используя набор стандартных библиотек функций, созда- создавать свои собственные приложения для САПР или даже собственные САПР.
2.1. Классификация САПР 67 По возможности обмена информацией: • Замкнутые системы — сохраняют данные в своем собст- собственном внутреннем формате и не позволяют обменивать- обмениваться информацией с другими системами. • Системы с текстовыми файлами обмена информацией — сохраняют и считывают информацию об отдельных гео- геометрических примитивах в виде массивов цифр, разде- разделенных пробелами или запятыми. • Системы со стандартными средствами обмена информа- информацией — позволяют сохранять и считывать полную инфор- информацию о созданных моделях изделий в специальном текстовом или двоичном формате, описывающем все объ- объекты модели в специальных терминах графических при- примитивов с соответствующими им числовыми значениями. По способу создания изменяемых прототипов: • Неизменяемые готовые блоки — вставляются в модель или чертеж в виде готовых элементов, предварительно со- сохраненных на жестком диске. • Элементы, программно формируемые во внешних моду- модулях — создаются специальными программами в виде тек- текстовых пакетных файлов с последовательностью команд построения объекта или стандартных файлов обмена ин- информацией. • Параметрически задаваемые элементы — представляют собой графические объекты, размеры которых связаны между собой в виде взаимозависимых цепочек парамет- параметров; изменение какого-либо одного из них или зависимо- зависимости, определяющей взаимосвязь нескольких параметров, приводит к соответствующему пересчету по всей зависи- зависимой цепочке размеров и соответствующему изменению геометрии модифицируемого объекта. • Адаптивно изменяемые элементы — дают возможность несколько более простой корректировки объектов; про- простым указанием курсора мыши на модифицируемые эле- элементы геометрии объекта можно изменить форму контуров объекта или задать в диалоговом окне новую ве- величину определяющего параметра.
68 Глава 2. Архитектура САПР БИС. Маршруты проектирования • Комбинированные методы — сочетают адаптивную тех- технологию быстрой корректировки свободных размеров и параметрическую технологию изменения взаимозависи- взаимозависимых размеров; это направление, в котором движутся бо- большинство разработчиков САПР. По методам моделирования функций создаваемых изде- изделий: • Без специальных методов — в этом случае основные пара- параметры проектируемых конструкций определяются вне системы традиционными методами. • Проверочные расчеты с использованием метода конечных элементов — позволяют проводить широкий комплекс работ по определению основных прочностных характери- характеристик изделия, величин напряжений и деформаций в зави- зависимости от различных схем нагрузки и параметров материала. • Специализированные подсистемы моделирования — дают возможность анализировать поведение весьма спе- специфических материалов в не менее особых условиях: на- например, исследовать поведение пластмасс в процессе штамповки в термопластавтоматах или прогнозировать возникновение трещин в металле во время сварки с уче- учетом пластических деформаций материала. По используемым средствам вычислительной техники: • Персональные компьютеры на базе процессоров Intel Pen- Pentium. • Рабочие станции на базе разнообразных архитектур (RISC, SPARC, MIPS, PowerPC, Pentium Pro и т. д.) раз- различных производителей. По способу объединения технических средств: • Автономные рабочие станции. • Многотерминальные ЭВМ. • Локальная сеть с выделенным сервером.
2.2. Методология построения САПР 69 По способу организации диалога системы с пользовате- пользователем: • С помощью командной строки. • С помощью системы иерархических меню и диалоговых окон с контекстно зависимой помощью: в виде текстовых строк или в виде условных пиктограмм. • С помощью объектно-ориентированного интерфейса и мультимедийной системы помощи. 2.2. Методология построения САПР Методология создания САПР в самом общем виде (с точ- точки зрения организации работ) может быть сформулирована следующим образом: подготовка кадров; организация про- процесса разработки САПР; реализация распределенной систе- системы управления; использование аппарата искусственного ин- интеллекта. Подготовка кадров. Необходим новый подход к инже- инженерному образованию. Прежде всего создание гибких учебных планов, в которых должно уделяться время развитию творче- творческого склада инженера как элемента культуры личности. Реализация распределенной системы управления. Не- Необходимо овладеть данной техникой управления. Речь идет о разумном сочетании централизованной власти и власти на местах. Более конкретно как реальные можно рассматри- рассматривать кооперативные гетерархии — системы, архитектура ко- которых основывается на аналогии с локально шинно-ориен- тированной сетевой системой с соревнованием, а все входя- входящие в них подсистемы должны иметь равный доступ к ресурсам, равный взаимный доступ друг к другу, независи- независимые режимы работы, строго соответствовать общесистем- общесистемным протоколам и правилам. Участники иерархии получа- получают права в обмен на обязанности. Хотя в системе нет цент- центрального управляющего органа высшего уровня, каждый участник должен придерживаться определенных правил, чтобы получить определенные привилегии. Право на доступ к любой другой подсистеме зависит от готовности «вызыва- «вызывающего» разрешить другим доступ к собственной подсистеме.
70 Глава 2. Архитектура САПР БИС. Маршруты проектирования Правила работы в такой системе жестко оговорены и абсо- абсолютно обязательны для всех. Общесистемные цели никогда не могут сводиться к конкретным решениям, являющимся прерогативой органов нижнего уровня. Именно на этом уровне обеспечивается «выживание» системы в целом. Использование аппарата искусственного интеллекта. Остановимся на роли искусственного интеллекта в процессе проектирования БИС. В настоящее время трудно (а при определенной сложности проекта и невозможно) разрабо- разработать общую архитектуру проектируемого объекта, которая детерминированно определяла бы все будущие информаци- информационные потоки, все возможные состояния развивающейся си- системы. Поэтому необходимо разработать методы системного проектирования, которые позволяли бы синтезировать при- приемлемые системы по несовершенным и неполным описани- описаниям и автоматически прослеживать возможные эффекты сис- системных изменений в архитектуре. Как указывалось, современные САПР (по крайней мере, подавляющее большинство) основаны на исчерпывающей внутренней логике, требующей от пользователя явного опи- описания всех действий, определяющих процесс решения. Та- Такая организация процесса проектирования БИС с помощью САПР имеет существенные недостатки, вытекающие из ме- методологии построения, заключающиеся в том, что САПР не являются эволюционными; область их применения ограни- ограничивается решением типовых задач; сложность структуры управления системой экспоненциально возрастает с универ- универсальностью использования. Введение методов искусственного интеллекта в САПР устраняет указанные недостатки. Наглядным примером яв- являются кремниевые компиляторы — новые системы полно- полностью автоматического проектирования. Опыт проектирования БИС позволяет сформулировать требования к современным САПР БИС: • производительность (число проектируемых БИС за- заданной сложности в единицу времени); • инвариантность структуры к изменению средств, методов проектирования и технологии изготовления БИС; • совместимость автоматизированного и автоматического проектирования;
2.2. Методология построения САПР 71 • разнообразие режимов взаимодействия проектировщика с САПР (интерактивный, мультипрограммный и др.); • адаптивность, т. е. возможность быстрой перестройки прикладного программного обеспечения на новый объект проектирования; • одновременность проектирования нескольких изделий; • независимость ввода в действие и эксплуатацию отдель- отдельных подсистем; • быстрая настраиваемость системы на выбранный техно- технологический маршрут проектирования; информационная согласованность подсистем и пакетов прикладных про- программ для различных этапов проектирования БИС; • разнообразие форм представления выходной документа- документации (что связано с большой номенклатурой програм- программно-управляемого технологического оборудования для изготовления фотошаблонов и собственно БИС); • высокая надежность и приемлемая стоимость. Перечисленные требования могут быть удовлетворены, если при создании САПР БИС использовать следующие принципы: • комплексности, т. е. возможности решения задач по все- всему циклу проектирования изделия (от составления ТЗ до получения информации на машинных носителях для программно-управляемого технологического оборудова- оборудования); • совместимости автоматического, автоматизированного и традиционного проектирования (в общем цикле проектирования БИС имеются формализуемые, плохо формализуемые и неформализуемые задачи); • наличия общего банка данных — хранилища информа- информации или базы данных со своей системой управления, вы- выполняющей функции приема, поиска, упорядочения и выдачи информации; к общему банку данных обращение осуществляется из различных подсистем и прикладных программ; • модульности, что позволяет реализовывать отдельные подсистемы в виде функционально самостоятельных мо- модулей с последующей их заменой другими модулями по
72 Глава 2. Архитектура САПР БИС. Маршруты проектирования мере развития и совершенствования технических средств, программного и информационного обеспечения; • мультидоступа, т. е. САПР БИС должна быть системой коллективного использования; • открытости, т. е. система должна быть построена таким образом, чтобы добавление новых подсистем, пакетов прикладных программ, отдельных программ сводилось к локальной модификации отдельных блоков и не приво- приводило к необходимости изменять способы организации управления, описания и обработки информации. Из наиболее распространенных современных систем про- проектирования перечисленным требованиям в наибольшей мере удовлетворяют САПР, разработанные компаниями CA- CADENCE, SYNOPSYS и MENTOR GRAPHICS. 2.3. Архитектура САПР Как и любая современная сложная техническая система, САПР состоит из двух основных составляющих: аппаратной и программной. Роль аппаратной составляющей в САПР вы- выполняют технические средства (компьютеры и периферий- периферийное оборудование), а программной — пакеты прикладных программ (ППП) для различных уровней проектирования, совокупность которых в современной научной литературе принято называть средствами проектирования. Как правило они функционируют в общей среде проектирования. 2.3.1, Технические средства Технические средства — это совокупность ЭВМ и пери- периферийных средств для ввода, хранения, переработки ин- информации, передачи программ и данных, организации взаимодействия проектировщика с ППО САПР и изготовле- изготовления машинными методами проектной документации. Со- Состав и организационная структура технических средств САПР БИС определяется требуемой производительностью, т. е. числом проектируемых БИС в единицу времени (на- (например, в год).
2.3. Архитектура САПР 73 В последние годы в связи с резким увеличением выпуска мини- и микроЭВМ число организационных структур техни- технических средств САПР возросло. Среди них можно выделить: 1) персональный профессиональный компьютер с соот- соответствующей периферией, обеспечивающий сквозное проектирование элементов и фрагментов БИС; 2) профессиональные персональные компьютеры в ло- локальной сети ЭВМ для выхода на мощные вычисли- вычислительные средства; 3) рабочую станцию, обеспечивающую сквозное проекти- проектирование БИС; 4) рабочие станции в локальный сети ЭВМ; 5) открытые вычислительные системы; 6) интелектуальную инженерную САПР БИС на основе персональных ЭВМ с необходимым набором перифе- периферийных устройств; 7) использование средств Интернета. 2.3.2. Программные средства проектирования Общесистемные программные средства (ОПС) пред- представляют совокупность системных программ, организу- организующую выполнение прикладных программ на технических средствах САПР. Часть ПО, предназначенную для пла- планирования и организации ввода/вывода, подготовки и от- отладки программ, распределения ресурсов и обработки дан- данных, называют операционной системой. Операционная сис- система состоит из обрабатывающих программ, составляющих подсистему подготовки программ (внешнее ПО), и управля- управляющих, образующих подсистему исполнения программ (внутренее ПО). Прикладное программное обеспечение (ППО) представ- представляет совокупность пакетов прикладных программ (ППП) Для всех этапов проектирования БИС и инструкций по их Использованию. Прикладное программное обеспечение САПР БИС должно состоять из набора ППП, причем для Каждого этапа проектирования должен использоваться свой ППП. Необходимо, чтобы в пределах каждого ППП исполь- использовались единые правила для описания исходных данных.
74 Глава 2. Архитектура САПР БИС. Маршруты проектирования ППП должны иметь в своем составе программы, позволяю- позволяющие решать такие задачи, как: 1) структурный синтез (логической и электрической схем, топологии и компонентов); 2) составление математической модели (логической и электрической схем, топологии и компонентов); 3) решение математической модели (логической и элект- электрической схем, топологии и компонентов); 4) оптимизация (числа логических элементов БИС, физи- физической структуры и геометрических размеров ком- компонентов, параметров пассивных и активных компо- компонентов электрической схемы, числа пересечений межкомпонентных соединений в топологической схе- схеме); 5) статистический анализ (компонентов, логической, электрической и топологической схем). Структура прикладного программного обеспечения (ППО) представлена на рис. 2.1. Изучение структуры ППО позволяет сделать ряд важных практических выводов. ППО САПР БИС Этапы | ППП для логи- логического проек- проектирования \. Проектные процедуры Структур- Структурный синтез Маршрут ы ППП для схемо- схемотехнического проектирования \ Составле- Составление матема тической модели ППП для топо- топологического проектирования Анализ матема- математической модели ППП для физико- топологического проектирования Параметри- Параметрическая оп- оптимизация Статисти- Статистический анализ Маршруты проектирования Рис. 2.1. Структура прикладного программного обеспечения САПР БИС На рис. 2.1, например, видно, что решение четвертой и пятой задач достигается соответствующим образом органи-
2J. Архитектура САПР 75 зованным многократным решением третьей задачи. Отсюда можно сделать вывод, что трудоемкость проектирования БИС с известными математическими моделями определяет- определяется в основном трудоемкостью решения экстремальных и ста- статистических задач. Исследование этих двух классов задач с точки зрения снижения трудоемкости проектирования пред- представляет значительный интерес. Если в пределах одного ППП число программ велико A0...20), то пользоваться ими затруднительно по соображе- соображениям трудоемкости. Естественным решением этой проблемы является интеграция отдельных программ в более крупные. Наиболее простым является их последовательное объедине- объединение в пределах одного ППП. Однако возможно и параллель- параллельное объединение, т. е. решение с помощью одной программы задач из различных этапов проектирования. Для обеспечения взаимодействия программ в маршрутах проектирования необходимо их информационное обеспечение, т. е. адаптация к работе с информационными массивами соот- соответствующей структуры. Оно представляет собой совокупность каталогов, справочников и библиотек на машинных носителях информации, в которых содержатся сведения об унифициро- унифицированных элементах, математических моделях, численных зна- значениях параметров и т. д., и обеспечивает формирование, хра- хранение и выдачу необходимой для проектирования изделия информации, информационное согласование, реализацию справочных функций, накопление и передачу опыта проекти- проектировщиков (создание и использование базы знаний). Примечание: в подсистеме схемотехнического проекти- проектирования массив параметров элементов для подпрограмм эле- элементов удобно составить в виде подмассивов, каждый из ко- которых включает в себя параметры одного элемента. Однако тот же массив для подпрограммы интегрирования ДУ явны- явными методами целесообразно скомпоновать по-другому, вы- выделив в отдельные подмассивы значения емкостей и индук- тивностей. А для программы статистического анализа пара- параметры компонентов желательно группировать по принципу одинаковости законов распределения и т. д. Информационная согласованность программ обеспечива- обеспечивается построением общей для соглашаемых программ БАЗЫ ДАННЫХ (БД) — совокупности всех тех данных, которые
76 Глава 2. Архитектура САПР БИС. Маршруты проектирования обрабатываются в более, чем одной программе. Основной способ информационного согласования программ — струк- структура с централизованной БД, общей для всех программ ППО. Совокупность программ, создающих и обслуживаю- обслуживающих БД называется системой управления базой данных (СУБД). БД и СУБД вместе образуют банк данных. Принципы построения баз данных [2.6] Использование языков, ориентированных на операции хранения данных, является первым принципом баз данных, т. к. невозможно хранить в вычислительной системе про- программы для всех случаев применения, поэтому пользовате- пользователю и предлагается язык высокого уровня и транслятор. Так- Также как и применение языков высокого уровня, применение языка данных перемещает пользователя на новый, более вы- высокий уровень абстракции (в смысле того,что не надо указы- указывать конкретные виды внешних ЗУ). Централизованное хра- хранение информации, которое дает возможность сократить дублирование как данных, так и программ, и обеспечивать независимость данных, т. е. неизменяемость программ при увеличении объема данных, можно считать вторым принци- принципом баз данных. Дадим еще одно определение. СУБД — это комплекс программ, служащий интерфейсом между пользо- пользователем и хранимыми данными. СУБД дает возможность ор- организовать интегральное множество данных, доступное ши- широкому кругу пользователей; поддерживать достоверность и непротиворечивость данных; обеспечить централизованные средства сохранения тайны; продлить неопределенно долго срок существования данных. Взаимодействие пользователя с СУБД строится на основе некоторой модели или абстракции данных. Модели можно разделить на три группы: • иерархическая (древовидная); • сетевая; • реляционная. Наиболее широко распространенная абстракция — это представление объектов внешнего мира в виде определенной иерархии. Наиболее общая абстракция — это представление внешнего мира как отношений объектов или реляций. Сете-
2.3. Архитектура САПР 77 вая модель занимает промежуточное положение, в ней, с од- одной стороны, вводится достаточно универсальное представ- представление данных, имеющее широкое применение, а с другой стороны, учитываются возможности современных устройств прямого доступа. Именно поэтому в первую очередь рас- рассмотрим сетевую модель. Сетевая модель базы данных Существует специальная международная организация — рабочая группа по банкам данных РГБД (наз. КОДАСИЛ), результатами работы которой являются руководящие доку- документы по базам данных. Рекомендация РГБД прежде всего относится к классификации языков. Предлагается рассмот- рассмотреть три отдельных языка: • язык описания данных (ЯОД); • язык манипулирования данными (ЯМД); • включающий язык (ВЯ) обработки, в который входит язык манипулирования данными, как подъязык. Описание БД составляется независимо от программ пользователя на ЯОД. Это описание называется схемой. Схе- Схема транслируется в таблицы, содержимое которых исполь- используется при выполнении операторов ЯМД. Основу взаимодей- взаимодействия программы с БД составляет рабочая область пользова- пользователя (РОП). Основной структурный объект БД называется записью. Запись — неделимая единица БД, поэтому опера- операторы ЯМД могут обращаться к записи, задавая ее имя. За- Запись состоит из элементов. Для того чтобы обратиться к эле- элементу, надо сначала извлечь запись из БД, а затем из записи элемент. Из записей можно строить произвольные структу- структуры, называемые наборами. Набор — это упорядоченная со- совокупность записей. Наборы дают возможность построить сложные сетевые структуры. Схема БД включает как описа- описание записей, так и наборов. В сетевой модели имеется поня- понятие области — совокупности записей, которые должны быть вместе. Вообще, в организационном смысле, схема составля- составляется специальным системным программистом — админист- администратором базы данных (АБД), учитывающим противоречивые потребности пользователей и имеющиеся ресурсы. Сетевая модель строится по следующему принципу. Во-первых,
78 Глава 2. Архитектура САПР БИС. Маршруты проектирования часть записей выделяется в отдельную группу, обращение к которой происходит прямо из системы. Такие записи назы- называются сингулярными. Далее записи связываются между со- собой следующим образом: один экземпляр записи некоторого типа выделяется как экземпляр записи владельца, и произ- произвольное количество экземпляров записей других типов, на- называемых экземплярами записей членов, объединяется с владельцем в экземпляр набора. По запросу пользователя в этом наборе можно найти экземпляр записи-члена, кото- который является владельцем для следующего набора и т. д. Каждому набору приписывается определенная упорядочен- упорядоченность экземпляров записей-членов: 1) в возрастающем (убывающем) порядке значений эле- элементов данных; 2) в порядке включения в набор новых экземпляров за- записей-членов сетевой модели; 3) в порядке, заданном СУБД. Одни и те же записи могут быть членами разных наборов и, следовательно, по-разному упорядочены. Средство, избав- избавляющее от полного просмотра всех записей-членов при поис- поиске, называется индексом. Обычно для каждого экземпляра набора имеется свой индекс. Способ выбора экземпляра на- набора определяется критериями выбора. Критерий выбора может состоять в задании непрерывного пути в БД к нужно- нужному набору. При описании пути указываются элементы дан- данных, значения которых используются во время поиска. Для всех наборов СУБД осуществляется поиск только в пределах записей членов текущего набора, выбранного на предыду- предыдущем шаге. Текущий набор фиксируется выбором записи владельца. Таким образом, в сетевой модели отношения между объектами представлены в виде наборов, реализуе- реализуемых указателями. Реляционная модель данных В реляционной модели и объекты и отношения между ними представлены одним и тем же образом — выборками из доменов. Реляционная модель данных ориентирована на поддержание максимальной степени независимости данных. Она предполагает большую степень абстракции, чем сетевая модель (которая учитывает специфику существующих дис-
2.3. Архитектура САПР 79 ков). В реляционной модели важную роль играет реализа- реализация языка запросов пользователя ЯЗ. По сравнению с типичными языкам манипулирования данными язык запро- запросов обычно выше уровнем и ориентирован на непрофессио- непрофессионального программиста. Реляционная модель данных испо- использует алгебру отношений или реляционное исчисление. От- Отношение обычно представляется в виде таблицы. Имя таблицы соответствует имени записи, имена столбцов — именам элементов записи, строки таблицы представляют эк- экземпляры записи. Пример: СТУДЕНТ № 1 2 Ф.И.О. Иванов И.И. Петров П.П. Год рожд. 1955 1945 Место рожд. г. Москва г. Москва Место жительства ул. Свободы, 1, 15 ул. Тверская, 8, 9 В данном примере студент — имя отношения; №, Ф.И.О., Год рожд., Место рожд., Место жительства — имена столбцов. В произвольное отношение R входят множества (столб- (столбцы) ?>!, D2, ..., Dn так, что отношение R задается множест- множеством п выборок, каждая из которых содержит dl9 d2, ..., dn составляющих, где dt е Dt. Множества DL называются доме- доменами отношения Д, п — степенью отношения. Столбец Dt или множество столбцов, значения в которых однозначно определяют строки, называется ключом отношения или ключевым доменом. В каждом отношении должен быть хотя бы один ключ. Отношение R называется отношением первой нормальной формы, если каждое значение dt домена Dt неде- неделимо, т. е. не может быть представлено в виде отношения. Домены отношения в первой нормальной форме могут быть связаны функциональными зависимостями, соответствую- соответствующими их информационному содержанию. Домен Dt отноше- отношения R функционально зависит от домена D;, если каждое значение di связано только с одним значением dp где dt и d} принадлежат к одной и той же д-выборке. Алгебра отношений содержит ряд операций над отноше- отношениями, основными из которых являются проекция, объеди- объединение, вычеркивание.
80 Глава 2. Архитектура САПР БИС. Маршруты проектирования Проекция отношения R со столбцами Sv *S2, ..., Sn над отношением Р со столбцами SiV Si2, ..., Sik состоит в исклю- исключении из R всех столбцов с номерами j] * iv ... in и исключе- исключении тех дублирующих строк, которые появляются при иск- исключении столбцов. Например: проекция СТУДЕНТ на Год. рожд. есть отно- отношение 1955 1945. Объединение U отношений Q и R над общими значения- значениями da, ... dik состоит в построении отношения из конкатена- конкатенации выборок из Q и Ry у которых совпадают da, ..., dik> и исключении дублирующих строк: Qv <?2> •••> ?mi — только в Q; гг, г2, ..., гт1 — только в R; dfi, d-fti •••> dik — общие для Q и R, Операция вычеркивания исключает указанные в ней строки из таблицы. Характер взаимодействия пользователя с реляци- реляционной моделью отражается в операторах языков запросов. Ти- Типичный класс языков запросов образуют графические языки, фразы которые пользователь записывает на экране монитора. Приложение Терминология информационного обеспечения Структуры данных. В САПР различают входные данные, выходные данные и промежуточные данные. Входные и выходные данные распо- расположены вне тела програмнного модуля (либо в оперативной памяти (ОП), либо во внешней памяти (ВП), либо там и там). Промежуточные данные располагаются либо в ОП либо во ВП. Под структурой данных понимают типы и взаимосвязи элементов. Простыми типами данных являются: • целое 1, 2, ..., j, ..., k; • вещественное 5,345...; • булевое (логическое); • строка; • указатель. Тип данных строка — тексты, в которые входят наборы символов естественного языка, десятичные цифры и ряд специальных символов.
2,3. Архитектура САПР 81 Тип данных указатель — предназначен для ссылки на элементы данных в тех случаях, когда невозможно исполь- использование имен элементов данных. Основное назначение этого типа данных — создание сложных структур данных. Константа — фиксированное имя, тип и значение. Переменная — фиксированные имя и тип, переменное значение. Массив — конечное множество переменных единого фик- фиксированного типа, объединенных единым фиксированным именем. Ссылка на отдельные переменные массива осущест- осуществляется посредством имени массива и одного или несколь- нескольких индексов. Запись — структура данных, позволяющая группировать данные различных типов. Запись состоит из ряда поимено- поименованных полей, каждое поле определяется как переменная, массив или запись более низкого уровня иерархии. Таблица — объединение структур данных типа записи. Фрейм — структура данных для представления знаний в конкретных предметных областях. Подобно записи, фрейм состоит из отдельных полей, заполненных содержательны- содержательными понятиями предметной области. Поля фрейма связаны между собой отношениями. Лингвистическое обеспечение содержит совокупность языков: алгоритмические языки высокого уровня (С, АДА, C++ и др.); входные языки (VHDL, Verilog, SystemC); языки СУБД (системы управления базой данных); выходные языки. Алгоритмические языки используют для написания текстов прикладных и системных программ. Входные языки должны обеспечивать описание задания на проектирование и обычно включают: язык описания объектов проектирования, язык описания проектных процедур и операций, язык описания процессов проектирования. Языки СУБД содержат средства редактирования данных и эксплуатации баз данных: опера- оперативной базы данных; базы данных проектов; инвариантной базы данных. Выходные языки проектирования обеспечива- обеспечивают вывод результатов проектирования в соответствии с дей- действующими стандартами и другими нормативными ма- материалами на все виды документации и совместимость вы- выходной информации САПР с программно-управляемым
82 Глава 2. Архитектура САПР БИС. Маршруты проектирования контрольно-измерительным и технологическим оборудо- оборудованием, применяемым при изготовлении и контроле БИС. 2.4. Маршруты проектирования БИС Под маршрутом проектирования БИС понимается пос- последовательность проектных процедур, которые необходимо выполнить при разработке конкретной схемы, начиная от технического задания и кончая получением информации для программно-управляемого технологического и измери- измерительного оборудования, предназначенного для изготовления фотошаблонов или непосредственно БИС на пластине и кон- контроля параметров готовых БИС. Конечно, такое определение не отражает степень автоматизации работ в цикле проекти- проектирования БИС. Применительно к проектированию БИС с помощью САПР можно ввести понятие маршрута проектирования БИС, под которым будем понимать любой согласованный между собой набор программ из ППП для различных эта- этапов, обеспечивающий проектирование данной конкретной схемы по всему циклу, — от получения технического зада- задания на схему до изготовления промежуточных или рабочих фотошаблонов. В зависимости от особенностей конкретных БИС понятие маршрута проектирования может быть введе- введено и для набора программ в пределах одного ППП. Маршрут проектирования определяет разработчик БИС, так как про- процесс проектирования в значительной мере является творче- творческим и динамичным (т. е. постоянно изменяется в связи с появлением новых конструктивно-технологических методов изготовления и требований к функциям и параметрам БИС). Имея ППП для решения задач на различных этапах про- проектирования и пользуясь введенным определением маршру- маршрута проектирования, можно формировать маршруты, обеспе- обеспечивающие высокое качество проектирования в приемлемые сроки. Для удобства формирования, эксплуатации и попол- пополнения ППП приняты единые рекомендации по подготовке материалов для ППО, по подготовке и оформлению тестовых программ, вариантов и исходных данных к ним, а также до- дополнения, сопровождающие представленные программы.
2.4. Маршруты проектирования БИС 83 Например, маршрут для расчета параметров компонентов формируется на основании следующих положений: • состав ППП в конкретном маршруте проектирования определяется разработчиком в зависимости от требова- требований к параметрам рассчитываемого компонента и нали- наличия технологического процесса его изготовления; • в полном маршруте проектирования должны быть про- программы, обеспечивающие решение задач моделирования, оптимизации и статистического анализа заданного ком- компонента ИС; • суммарное машинное время, затрачиваемое на расчет компонента, в значительной степени зависит от схемы объединения программ и порядка их функционирования, а также от правильного выбора математической модели компонента и экономичности используемых в програм- программах численных методов. Разнообразие технических требований к БИС, техно- технологических процессов их изготовления, методик проектиро- проектирования привело к большому разнообразию маршрутов проек- проектирования БИС. Рассмотрим некоторые из них. 2.4.1. Автоматизация проектирования полузаказных БИС В целом проектирование полузаказных БИС зависит от возможностей заказчика и изготовителя БИС. Возрастание сложности проектов БИС и самих ЭВМ почти исключает возможность использования традиционных методов для их проектирования. Наибольшее распространение получила концепция базового матричного кристалла (БМК), когда при разработке БИС используется специальная заготовка — базовый кристалл (БК), представляющий собой матрицу ячеек нескоммутированных транзисторов или базовых логи- логических и аналоговых элементов. При матричном методе сна- сначала создается базовый матричный кристалл (БМК) в виде матриц из N строк и М столбцов (N и М — числа в диапазо- диапазоне 5...103) ЛЭ и более сложных структур. На каждом наборе реализуется серия библиотечных элементов, которая прохо- проходит полную аттестацию по всем параметрам (электриче- (электрическим, конструкторским и т. д.), и затем проектируется
84 Глава 2. Архитектура САПР БИС. Маршруты проектирования логическая схема БИС в базисе библиотечных элементов. Для реализации проекта необходимо разработать индиви- индивидуальную систему межсоединений этих транзисторов, т. е. достаточно спроектировать и изготовить только фото- фотошаблоны для переменных слоев коммутации. Изготовлен- Изготовленную таким образом полузаказную БИС называют матричной (МаБИС). Маршрут проектирования МаБИС приведен на рис. 2.2, а. Системное и функциональное проектирование Логическое проектирование в библиотечном логическом базисе Логико-временное моделирование без учета влияния паразитных элементов, вносимых технологией Анализ тестопригодности t Автоматическая трассировка Окончание в интерактивном ПР^+f ОТЛ/ГР Трассировка в интерактивном Бежиме 1 Экстракция I Генерация тестов i Подготовка документации Временное моделиро- моделирование с учетом влияния паразитных элементов Подготовка документации Рис. 2.2, а. Маршрут проектирования БИС на БМК
2.4. Маршруты проектирования БИС 85 Маршрут проектирования матричных БИС состоит из че- четырех основных этапов: 1) разработка принципиальной ло- логической (электрической) схемы МаБИС; 2) разработка то- топологии переменных слоев МаБИС; 3) контроль проекта Ма- МаБИС; 4) разработка технической документации — программ тестовой проверки работоспособности МаБИС и управляю- управляющих программ для изготовления фотошаблонов. Разработка принципиальной электрической схемы осуще- осуществляется с помощью подсистемы функционально-логическо- функционально-логического моделирования. Разработчик (схемотехник) сначала рису- рисует эскиз принципиальной логической (электрической) схемы, затем описывает ее на входном языке. Описание является од- одним из разделов задания для моделирования БИС на ЭВМ. Другие разделы задания содержат информацию о воздействи- воздействиях, при которых должно осуществляться моделирование, описание внешних выводов МаБИС, контрольных точек для распечатки временных диаграмм и т. п. Текст задания прохо- проходит синтаксический и семантический контроль с выдачей диагностических сообщений об ошибках. После исправления всех ошибок в исходном описании начинается процесс моде- моделирования МаБИС. Разработчик контролирует правильность функционирования проекта по распечаткам временных диа- диаграмм в контрольных точках. При обнаружении ошибок про- проводится доработка схемы и, следовательно, исправление тек- текста ее описания. Этап функционально-логического моделиро- моделирования завершается, когда при всех входных воздействиях на выходах схемы получаются требуемые сигналы (реакции на воздействия). Таким образом, смоделированный текст описа- описания схемы становится эталонным, а система воздействий и реакций — исходной информацией для программ топологи- топологического проектирования. Этап разработки переменных слоев топологии может быть реализован тремя способами — путем традиционного проектирования с последующей машинной обработкой, автоматизированного проектирования с последующей дораз- водкой и путем автоматического синтеза. При традицион- традиционном проектировании инженер в соответствии с чертежом электрической схемы разрабатывает эскиз топологии Ма- МаБИС. Затем эскиз кодируется, информация обрабатывается и передается на этап контроля. Параллельно с проведением
86 Глава 2. Архитектура САПР БИС. Маршруты проектирования контроля на графопостроителе получают прорисовку топо- топологии МаБИС. Список ошибок, получаемых на этапе контро- контроля, локализуют на прорисовке, определяют пути их исправ- исправления и проводят коррекцию проекта с помощью графиче- графических средств. Процесс коррекции и контроля продолжается итерационно до исправления всех ошибок. В настоящее вре- время этот метод не используется и его описание приведено для получения полного представления исторических аспектов ре- решения рассматриваемой проблемы. При автоматизированном проектировании или автоматическом синтезе переменных слоев топологии МаБИС исходной информацией является эталонный текст описания принципиальной электрической схемы. В первом случае проектировщик может вмешиваться в процесс размещения элементов на поле базового кристалла, а трассировка осуществляется автоматически. Если некото- некоторое число связей оказалось неразведенным, то необходимо либо изменить вручную размещение элементов и повторить процедуру трассировки, либо передать информацию о тополо- топологии на доразводку, которая проводится с помощью графиче- графических средств. При автоматическом синтезе достигается полная реа- реализация топологии проекта в автоматическом режиме и поэтому отпадает необходимость в проведении контроля. Так как этот процесс может быть реализован при том же инфор- информационном обеспечении, что и логическое моделирование, то появляется возможность аттестовать работоспособность про- проекта МаБИС с учетом его топологической реализации. Для этого с помощью специальной программы-экстрактора по то- топологии восстанавливается электрическая схема МаБИС с учетом ЛС-структур, моделирующих межсоединения. Эти структуры преобразуются в элементы задержки, которыми доопределяется исходная электрическая схема. Затем при тех же воздействиях проводится повторное моделирование схемы. Таким образом удается аттестовать работоспособность проекта МаБИС до этапа изготовления, что невозможно при других способах проектирования топологии. Выбор маршрута топологического проектирования опре- определяется числом элементов и числом выводов элементов. Наиболее распространенным критерием оценки качества по- полученной топологии является критерий максимума плотно-
2.4. Маршруты проектирования БИС 87 сти заполнения базового кристалла, равный отношению чис- числа элементов МаБИС к числу ячеек (посадочных мест) крис- кристалла. При плотности заполнения 90... 100% применяют традиционное проектирование, при плотности 80...90% — автоматизированное, а при плотности менее 80% — автома- автоматический синтез. Соответственно меняются сроки разработки топологии. На этапе контроля происходит сравнение исходной и восстановленной принципиальных схем, а также контроли- контролируется соблюдение конструкторских и технологических пра- правил и норм проектирования. Подсистема контроля реализует- реализуется на высокопроизводительных ЭВМ. При подготовке техниче- технической документации проводится компиляция магнитных лент с информацией о тестах для контрольно-измерительного обору- оборудования и с программами управления электронно-лучевыми или оптическими генераторами изображения. Основное достоинство метода состоит в высокой скорости проектирования благодаря минимизации числа фотошабло- фотошаблонов, необходимых для реализации заданной функции БИС (по существу, нужны лишь шаблоны металлизации для про- проведения внутрисхемных соединений). 2.4.2. Автоматизация проектирования заказных БИС К классу полностью заказных БИС можно отнести схе- схемы, реализующие проекты частного применения. Такими проектами могут быть однокристальные ЭВМ, микропроцес- микропроцессорные БИС, БИС, реализующие быстрое преобразование Фурье, специальные копроцессоры, процессоры и т. п. Мож- Можно говорить, что такие проекты содержат произвольные ло- логические построения. К тому же методология проекти- проектирования заказных БИС сильно отличается от методологии проектирования полузаказных БИС. Если полузаказные БИС чаще всего проектируются сверху вниз (от фун- функционального описания до реализации на уровне библио- библиотечных логических элементов), то заказные БИС проек- проектируются снизу вверх (от проектирования ЛЭ до функци- функциональной реализации). При такой методологии достигаются оптимальные параметры на каждом иерархическом уровне представления проекта. В качестве технических показате-
88 Глава 2. Архитектура САПР БИС. Маршруты проектирования лей заказных БИС используются тактовая частота работы, площадь кристалла, на котором реализован проект, мощ- мощность рассеяния на единицу площади кристалла, степень интеграции. Если не требуется, чтобы параметры были оп- оптимальными, то методология проектирования может меня- меняться — от снизу вверх до сверху вниз. Например, если не предъявлять жестких требований к тактовой частоте и пло- площади кристалла, то можно использовать автоматические системы проектирования, реализующие методологию сверху вниз (как при проектировании полузаказных БИС). Заказные БИС проектируются методами стандартных ячеек и блоков, функционально-интегрированных ячеек и блоков, а также кремниевым компилированием. Исходные данные для проектирования — техническое задание, выходные — информация на машинных носителях для технологических автоматов и контрольно-изме- контрольно-измерительного оборудования. Наибольшее распространение в настоящее время для проектирования заказных БИС полу- получил метод стандартных ячеек (элементов) и блоков. Суть метода стандартных ячеек и блоков заключается в накоплении, систематизации и применении при проекти- проектировании БИС заранее разработанных компонентов, функци- функциональных узлов и блоков (сопротивлений, транзисторов, ЛЭ, триггеров, регистров, ОЗУ, АЛУ, ПЗУ, ППЗУ и т. д.), ин- информация о которых хранится в памяти ЭВМ. Применяется метод в основном при разработке нерегулярных интеграль- интегральных схем средней степени интеграции и стандартных БИС: ОЗУ, АЛУ, ПЗУ, ПЛМ и т. д. Однако его можно применять и для разработки нерегулярных БИС, характеризующихся применением унифицированных ячеек и блоков. На рис. 2.2, б приведен один из возможных маршрутов проек- проектирования заказных БИС. Наиболее часто при проектировании заказных БИС счи- считаются известными технология и библиотека компонентов, изготовленных по данной технологии, с их электрическими и геометрическими параметрами. С применением САПР в интерактивном режиме разрабатывается, изготовляется и аттестуется библиотека ЛЭ; затем с использованием этого базиса разрабатываются БИС, т. е. выполняются этапы ло- логического, схемотехнического и топологического проекти-
2.4. Маршруты проектирования БИС 89 ТЗ на проектируемую систему Системное проектирование Расчет блоков ТЗ на логическое проектирование Проектирование стандартных ячеек Логическое проектирование Временные диаграммы f Стандартные Ч. ячейки Проектирование макроячеек Проектирование топологии кристалла Проектирование тестовых программ Магнит- ' ная лента д изготовления фотодатчи- фотодатчиков Магнит- Магнитная лента для\ измерительно- измерительного оборудо- оборудования Рис. 2.2, б. Укрупненный маршрут проектирования заказных БИС рования. Иногда первые два этапа объединяются в один — логико-схемотехнический. Прикладное программное обеспечение содержит пробле- проблемно-ориентированные программные модули (ПРОПМ), управляющие программы, банки данных. Каждый модуль имеет входной блок (ответственный за обработку языка описания задачи), блок решения (ответственный за обра-
90 Глава 2. Архитектура САПР БИС. Маршруты проектирования ботку математической модели) и выходной блок (ответствен- (ответственный за выдачу или передачу результатов работы блока ре- решения). Данные ПРОПМ объединяются в единую среду САПР. Следует отметить, что различные ПРОПМ могут со- создаваться различными организациями и интегрироваться в систему, сохраняя индивидуальные входные и выходные протоколы. В этом случае пользователь вызывает из банка данных соответствующий ПРОПМ и решает задачу проекти- проектирования БИС. Результаты работы модуля могут выдаваться в соот- соответствующей форме на печать или заноситься в БД согласно внутреннему унифицированному представлению данных. Последнее подразумевает, что эти данные могут использова- использоваться многократно при работе с другими ПРОПМ. Отдельные ПРОПМ могут объединяться в пакеты прикладных про- программ целевого назначения со своими входными языками в пределах данного ППП. Такое объединение играет огромную положительную роль в создании рентабельных и эффективных САПР различного назначения и структуры. Кроме того, интегрирование идет как по числу решаемых проблем, так и по числу и возможно- возможностям подключения ПРОПМ. Интегрированные САПР необхо- необходимы для создания и исследования новых системно-схемно- технологических решений на предприятиях-изготовителях БИС различного назначения. Они же интегрируют опыт спе- специалистов-разработчиков ПРОПМ за многие годы. Естествен- Естественно, что такие системы требуют очень развитых вычислитель- вычислительных средств. Дальнейшее совершенствование интегрирован- интегрированных САПР шло по пути улучшения системы управления единой базой данных, объединения языков описания объек- объектов проектирования, упрощения операции добавления нового модуля или новых математических моделей объектов проек- проектирования. Важнейшей подсистемой любой САПР с точки зрения трудоемкости выполняемых работ является подсистема то- топологического проектирования, которая в значительной мере определяет эффективность всей системы. В качестве иллюстрации перспективной подсистемы топологического проектирования рассмотрим подсистему [1.2], построенную на основе параметрической модели логического элемента
2.4. Маршруты проектирования БИС 91 (ЛЭ), не зависящей от конкретной технологии и правил про- проектирования. Вместо отдельных элементов и соединений рассматривается прямоугольная область, содержащая эле- элемент и примыкающие к нему участки соединений. Парамет- Параметрами, описывающими прямоугольник, являются его пло- площадь, коэффициент формы (отношение сторон), расположе- расположение выводов, список цепей, отношение инцидентности це- цепей выводам. Система из двух прямоугольников — обобщенный фрагмент — позволяет описать граничные условия для соединений смежных уровней иерархии фраг- фрагментов БИС. Построение топологии заказных БИС в этой си- системе сводится к последовательному вычислению парамет- параметров обобщенных фрагментов, их координат в плотной уклад- укладке и состоит из следующих этапов: декомпозиция БИС на отдельные фрагменты, микроразмещение фрагментов, мик- микротрассировка цепей, оценка площадей обобщенных фраг- фрагментов, размещение обобщенных фрагментов, трассировка цепей. При декомпозиции элементы электрической схемы представляются в виде групп и для каждой группы опреде- определяется список цепей с учетом функциональной завершенно- завершенности, связности и информационной сложности фрагментов. Целью декомпозиции (помимо снижения размерности) яв- является создание условий для равномерного использования коммутационного пространства. Критерием является требо- требование одинаковой линейной плотности внешних выводов для фрагментов любого уровня. На этапе микроразмещения устанавливается взаимное расположение фрагментов, свя- связанных между собой деревом ссылок, построенным на этапе декомпозиции. На этапе микротрассировки выявляется принадлежность внешних выводов каждого фрагмента его сторонам, т. е. приближенное распределение выводов и при- приближенное отношение инцидентности цепей выводам. При размещении обобщенных фрагментов вычисляются коэффи- коэффициенты их форм и точное расположение в пределах уровня иерархии. Для решения этой задачи используются алгорит- алгоритмы плотной укладки, эффективность которых при проекти- проектировании конкретной БИС в заданном базисе ЛЭ наиболь- наибольшая. Основной критерий качества — минимум площади кристалла.При трассировке цепей уточняется расположение выводов на сторонах обобщенного фрагмента, отношение ин-
92 Глава 2. Архитектура САПР БИС. Маршруты проектирования цидентности цепей выводам. Кроме того, для каждого фраг- фрагмента определяются участки соединений в области обобщен- обобщенного фрагмента (между внешними и внутренними прямо- прямоугольниками). Для этой цели используется модифицирован- модифицированный волновой алгоритм. Скорость распространения волны в разных направлениях выбирается пользователем. Она зави- зависит от расположения выводов на границах обобщенного фраг- фрагмента, загруженности коммутационных слоев и технологиче- технологических ограничений. В процессе трассировки скорость может изменяться. Параметрическая настройка программы трасси- трассировки позволяет помимо управления режимом распростране- распространения волны менять число коммутационных слоев, шаг диск- дискретного рабочего поля, осуществлять/запрещать прокладку соединений под элементом. Таким образом, в этой системе формируется математиче- математическая модель топологии, не зависящая от конкретной техноло- технологии и правил проектирования. Затем адаптация к конкрет- конкретной БИС осуществляется путем параметрической настройки программ на конструкторско-техпологические ограничения. Наиболее трудоемким является выбор критериев оценки пло- площадей обобщенных фрагментов в интерактивном режиме. От качества этой работы зависит окончательная площадь крис- кристалла. Система реализована в виде шести модулей верхнего уровня, каждый из которых предназначен для выполнения определенного этапа синтеза топологии. Модуль верхнего уровня состоит, в свою очередь, из нескольких модулей сле- следующего уровня. Исходной информацией для системы явля- является функционально-логическое описание БИС в базисе стан- стандартных топологических элементов. Это описание должно на- находиться в базе данных САПР и включать следующие параметры: число элементов и число цепей, размеры каждого элемента, список номеров и координат внешних выводов для каждого элемента, число внешних выводов БИС, списки но- номеров этих выводов и координаты контактных площадок. Кроме того, необходим учет следующих конструктивно-тех- конструктивно-технологических параметров: размеров межслойных переходов и контактных площадок, числа слоев коммутации, инфор- информации о приоритетных слоях, ширины проводников и мини- минимального расстояния между соседними проводниками для каждого коммутационного слоя.
2.4. Маршруты проектирования БИС 93 Выходной информацией о топологии для системы явля- являются координаты левого нижнего угла каждого элемента схемы и представление о проведенных соединениях в симво- символьном виде. Данные о соединениях получаются последовате- последовательно для каждого обобщенного фрагмента и записываются через интерфейс прикладных программ в базу данных САПР в том формате, который используется для их описания в конкретной САПР БИС. Связь данной подсистемы с други- другими подсистемами конкретной САПР БИС осуществляется через базу данных с помощью программного интерфейса. 2.4.3. Средства проектирования компании CADENCE Современная СБИС, в частности — типа системы на кри- кристалле, может объединять программные и аппаратные сред- средства, в том числе процессорные ядра, программируемую ло- логику, память, интерфейсы, встроенные средства тестирова- тестирования, аналоговые компоненты. Технология Cadence охватывает практически все уровни разработки сложных си- систем — от системного уровня, свойственного разработчикам аппаратуры, до уровней логического, схемотехнического и топологического проектирования СБИС, их корпусирова- ния, а также разработки печатных плат, на которых эти СБИС будут монтироваться [2.4]. В целом проектирование СБИС в среде Cadence включает следующие этапы (рис. 2.3): • системное проектирование — построение модели системы на высоком уровне абстракции с использованием языков программирования C/C++ и SystemC, разбиение на про- программные и аппаратные модули, исследование парамет- параметров системы, получение спецификаций (набора требуемых параметров) на программные и аппаратные блоки; • аппаратное проектирование и верификация; • разработка на основе спецификации поведенческих моде- моделей отдельных блоков системы с использованием языков Verilog/VHDL, реализация проекта в базисе библиотек производителя ИС, проверка программно-аппаратной ре-
94 Глава 2. Архитектура САПР БИС. Маршруты проектирования ализации на соответствие спецификациям, полученным на системном уровне; • математическое макетирование — предварительное раз- размещение элементов, оценка потребляемой мощности, планирование шин питания и иерархии тактовых сигна- сигналов; • качественная оценка возможных искажений сигнала; • проектирование и верификация топологии кристалла — разработка топологии заказных блоков, трассировка на уровне ячеек, проверка правил проектирования тополо- топологии, экстракция паразитных параметров. ка тестов зработ 03 Он 11111 Системное i Библиотеки и стандарты Программное проектирование троектирование IP-блоки С, C++, SystemC Аппаратное проектирование Verilog, VHDL Цифровые блоки Логический синтез 1 FPGA ASIC 1 Системное прототипирование, эмуляция v Верификация топологии щ щ Производство AMS —» Заказные блоки Библиотеки производителя Физическое прототипирование ^н Проектирование топологии jjgj Корпусирование ИЯ^^^^^ВЯ Разработка печатной платы PC В I 1 Рис. 2.3. Маршрут проектирования СБИС в среде Cadence
2.4. Маршруты проектирования БИС 95 Системное проектирование На этом этапе определяются функциональные параметры будущей системы на кристалле, ее характеристики, опера- операционная среда, необходимые стандарты и протоколы, разра- разрабатывается модель системы. На системном уровне анализи- анализируют характеристики и производительность системы, прове- проверяют архитектуру, определяют способы разрешения конфликтов, оптимизируют алгоритмы и протоколы. При необходимости вносят функциональные изменения в отдель- отдельные блоки, перераспределяют программные и аппаратные средства и повторно моделируют работу системы. Для этого предназначены такие инструменты Cadence, как SPW2000 и i-Architect. Система SPW2000 (Signal Processing Worksys- tem — рабочая среда обработки сигналов) — это среда про- проектирования системного уровня. В нее входят средства моде- моделирования системного уровня (включая поддержку моделей на языках C/C++, SystemC, Verilog, VHDL, VerilogAMS, а также созданных в среде MATLAB), системные библиоте- библиотеки элементов, виртуальные генератор и анализатор сигна- сигналов, инструментарий разработки фильтров, средства эмуля- эмуляции системы. Сама модель строится в удобном специализи- специализированном графическом редакторе BDE (Block Diagram Editor) в виде иерархической блок-диаграммы — от общего описания системы до дефрагментации ее на отдельные фун- функциональные блоки. Каждый блок описывается поведенче- поведенческой моделью и набором требуемых характеристик — специ- спецификацией блока. Разработчику совершенно не обязательно создавать модели всех блоков — библиотека SPW2000 со- содержит более 3500 модулей. Среди них — коммуникацион- коммуникационные системы сотовой связи WCDMA, cdma2000, IS-95, GSM/GPRS/HSCSD/EDGE, IS-54/136; беспроводные сети стандартов IEEE802.11a/b, HiperLAN/2, Bluetooth; телеви- телевизионные системы стандартов DVB-T, ISDB-T, NTSC; модемы физических линий ADSL; библиотеки высокочастотных сис- систем и радаров, MPEG 1/2-кодеки, оптические системы, дат- датчики, системы компрессии и т. д. Кроме библиотечных модулей SPW2000, разработчик может использовать собственные системные модели на язы- языках C/C++/SystemC и модели, созданные в среде MATLAB.
96 Глава 2. Архитектура САПР БИС. Маршруты проектирования Принципиально, что при моделировании система может включать блоки, описанные на разных уровнях представле- представления — как на системном, так и на уровне регистровых пере- передач (RTL-уровень) на языках VHDL/Verilog (т. е. уже «гото- «готовые» блоки). Таким образом, в системной модели можно ис- использовать непосредственно описания IP-блоков. Это существенно сокращает число циклов проектирования и по- повышает вероятность успешной реализации с первого раза. Модели C/C++, SystemC, MATLAB, HDL, ВЧ-блоки Библиотеки WLAN и сотовых мобильных устройств тестирование ! а> ! О : М ! о i и j ^ \/ Разработка и тестирование всей системы Представление с плавающей точкой Представление с фиксированной точкой Представление на RTL-уровне / —> Проверка/моделирование Синтез схемы Размещение и трассировка интеграция со Рис. 2.4. Последовательность этапов проектирования на системном уровне Для работы с библиотеками IP-блоков, их пополнения из on-line-библиотек других компаний через Интернет, а также для поиска требуемых IP-блоков по заданным характеристи- характеристикам служит платформа i-Architect. Средства SPW2000 позволяют моделировать работу всей системы в целом или ее отдельных блоков. При этом можно использовать реальные сигналы и данные — например, про- промоделировать передачу изображения через цифровой канал связи.
2.4. Маршруты проектирования БИС 97 Платформа SPW использует алгоритмы вычислений с плавающей точкой. Их преобразование в алгоритмы с фиксированной точкой, необходимые для аппаратной реа- реализации системы, выполняет пакет HDS2000. Он содержит специальную библиотеку стандартных блоков, а также под- поддерживает такие опции SPW, как виртуальный ге- генератор/анализатор сигналов и логический анализатор. Именно HDS позволяет из структурного описания системной модели генерировать ее описание на языках Verilog/VHDL. В результате проектирования на системном уровне фор- формируются детальное описание архитектуры системы, специ- спецификации отдельных программных и аппаратных блоков и их функциональное описание на языках C/C++ и SystemC (рис. 2.4). Последующий этап программно-аппаратного про- проектирования могут проводить уже другие проектировщики. Аппаратное проектирование и верификация На уровне аппаратного проектирования разрабатывается HDL-модель СБИС, формируется ее схема в базисе библиотеч- библиотечных элементов конкретного производителя ИС и создается список цепей (netlist) для последующего топологического проектирования. Генерация схем цифровых блоков происхо- происходит преимущественно автоматически. Аналоговые узлы и мо- модули смешанной обработки проектируются в интерактивном режиме с использованием средств Cadence SPICE и Spectre. Основа аппаратного проектирования в системе Caden- Cadence — платформа Incisive. Она представляет собой единую r- среду программно-аппаратного проектирования, отладки, I верификации и генерации тестов для цифроаналоговых СБИС от системного уровня до уровня RTL. Incisive поддер- поддерживает языки Verilog, VHDL, SystemC, библиотеку SCV для ^SystemC и PSL/Sugar assertions. Наряду с этим Incisive пре- I доставляет разнообразные средства отладки, в том числе — * на уровне транзакций, и унифицированный генератор тес- тестов. При необходимости платформу Incisive можно допол- дополнить различными элементами, включая выборочное ускоре- ускорение, аналоговое и смешанное моделирование с ВЧ-элемента- ми, средствами разработки и отладки алгоритмов, аппаратным ускорителем моделирования Palladium. Испо-
98 Глава 2. Архитектура САПР БИС. Маршруты проектирования льзование ускорителя Palladium совместно с платформой In- Incisive позволяет в 100 раз повысить производительность ап- аппаратного проектирования по сравнению со стандартным маршрутом разработки, сократить на 50% цикл разработки тестов и на 25% — время отладки. Инструментом реализации проекта в базисе библиотеч- библиотечных элементов производителя СБИС служат средства логиче- логического синтеза BuildGates. Этот пакет предназначен для логи- логического синтеза схемы с учетом физических и технологиче- технологических особенностей проектируемого кристалла. В дальнейшем полученный в результате синтеза список цепей может слу- служить входной информацией для трассировки топологии кри- кристалла. Средства Cadence позволяют вести и разработку заказ- заказных модулей СБИС, главным образом — аналоговых блоков и модулей смешанной обработки сигнала. Для этого, в част- частности, предназначен пакет AMS (analog mixed-signal). С по- помощью этой многоуровневой платформы можно разрабаты- разрабатывать, моделировать и отлаживать схему от системного уров- уровня вплоть до выхода на топологическое проектирование. По завершении этапа аппаратного проектирования про- происходит верификация и моделирование SoC с использовани- использованием различных уровней представления. Математическое макетирование Математическое макетирование (прототипирование) предназначено для аппроксимации основных характеристик кристалла высокой степени интеграции и их оптимизации до трудоемкого этапа трассировки топологии СБИС и после- последующей экстракции ее параметров. Используемый на этом этапе виртуальный макет СБИС позволяет с точностью до 90% определить ее основные параметры: временные характеристики, паразитные параметры, занимаемую пло- площадь, потребляемую мощность и др. Весь комплекс задач по математическому макетированию решает платформа Caden- Cadence First Encounter Ultra. Она позволяет произвести физиче- физический синтез до 2 млн. ячеек, размещение элементов на крис- кристалле, пробную трассировку, быстрый анализ с экстрак- экстракцией, анализ задержек и временных характеристик, анализ
2.4. Маршруты проектирования БИС 99 качества. Платформа включает средства физической опти- оптимизации, автоматическое разбиение кристалла, присвоение выводов; иерархический синтез сигнала синхронизации; планирование сетки питания; содержит интерфейсы с веду- ведущими средствами разработки топологии и удобный пользо- пользовательский интерфейс. С помощью First Encounter Ultra можно быстро — в течение одного дня — и эффективно ма- макетировать сложные цифровые системы, включающие до не- нескольких миллионов вентилей. Топологическое проектирование Как правило, современные SoC содержат и цифровые, и аналоговые блоки. Для разработки топологии цифровых блоков при технологиях до 0,18 мкм традиционно использо- использовались средства автоматической трассировки Silicon Ensem- Ensemble от Cadence. Однако в настоящее время наиболее распро- распространенными становятся технологические нормы 0,13 мкм и менее. Для таких технологий Cadence предлагает совре- современные средства разработки топологии цифровых ИС Nano- Route. Для трассировки заказных аналоговых блоков предназ- предназначен топологический редактор Virtuoso-XL. Он имеет удоб- удобный пользовательский интерфейс, поддерживает иерархиче- иерархические модели, параметризацию ячеек, легко интегрируется с ведущими системами проектирования различных уровней. Встроенный язык yi SKILL позволяет настроить процесс проектирования топологии на требования заказчика. По окончании разработки топологии ее необходимо про- проверить на соответствие правилам проектирования и произве- произвести экстракцию паразитных параметров с учетом реального размещения компонентов и проводников на кристалле. Для решения всего комплекса задач верификации топологии ИС предназначены пакеты Dracula, Assura. Они содержат сред- средства проверки правил проектирования (DRC), позволяют сравнить разработанную топологию и принципиальную электрическую схему (LVS) списками их цепей. С помощью средств верификации из топологии можно экстрагировать паразитные параметры (RCX) и временные задержки, а за- затем с их учетом промоделировать схему.
100 Глава 2. Архитектура САПР БИС. Маршруты проектирования Проектирование СБИС с использованием технологий @,13 мкм и менее) становится невозможным без детального анализа разработанной топологии, учета влияния на вре- временные характеристики кристалла наводок и помех на про- проводниках и источниках напряжения питания. Современные технологии проектирования компании Cadence основаны на открытых данных Open Access и легко конфигурируются в сквозной маршрут проектирования. Маршрут проектирования БИС, этапы которого рассмот- рассмотрены в первой главе, приведен на рис. 2.5. Функционально- логическое проектирование Composer 1С Entry C4500) Планировка кристалла Preview Expert A4020) Размещение и трассировка Gate Ensemble D60) Верификация топологии Dracula G00) Опции функционально-логического проектирования ? Логико-временная верификация Composer HDL Option B1040) Verilog XK B6000) Verilone B6400) Импорт данных EDF IN C40) Синтез Synergy SynthesizerB50) Synergy Optimizer B51) Cadence/Synopsis E10) Создание тестов Test Synthesizer F1400) Test Generator F1300) Verifondt XL B6500) Опции топологического проектирования Трассировка цепей синхронизации Clock Tree Synthesis D60) Размещение с учетом временных задержек цепей Timing Assurence Option D60) Рис. 2.5. Маршрут проектирования БИС в среде Cadence
2.4. Маршруты проектирования БИС 101 2.4.4. Средства проектирования компании SYNOPSYS САПР компании Synopsys предназначена для работы с любыми КМОП-технологнями, вплоть до глубоко субмик- субмикронных (до 0,13 мкм и ниже) на всех этапах маршрута про- проектирования. Маршрут проектирования Synopsys (рис. 2.6) включает системный уровень (разработка и отладка системы на функциональном уровне и уровне транзакций, отработка ТЗ системы как для аппаратной, так и для программной ее частей, совместная верификация ПО и аппаратуры), уровень регистровых передач RTL (разработка синтезируемого опи- описания аппаратной части СБИС), вентильный уровень (разра- (разработка логического проекта СБИС) и топологический уровень (разработка топологического проекта) [2.3]. На системном уровне разработка происходит в среде Co- Centric System Studio. Этот уровень включает два подуровня: функциональный и уровень транзакций. На функциональном уровне (уровне алгоритмов) создается и верифицируется мате- математическая модель системы в целом. На уровне транзакций можно моделировать архитектуру системы. Очень важно, что уже на системном уровне CoCentric System Studio позволяет совместно моделировать аппаратную и программную части си- системы, определять оптимальное распределение функций меж- между ними. Верификация встраиваемого ПО в среде Centric Sys- System Studio может происходить совместно с верификацией сис- системной модели аппаратной части. Кроме SystemC, на системном уровне можно использовать модели на языках C/C++, Verilog, VHDL, Matlab, а также применять уже разра- разработанные IP-блоки. Для моделирования Verilog- и VHDL-ko- дов предназначены симуляторы VCS и Scirocco, соответствен- соответственно. В частности, это позволяет, разработав системную модель сложного устройства, довести отдельный его блок до вентиль- вентильного и даже до технологического уровня и верифицировать си- системную модель, иор#льзуя уже готовый блок. В этом случае может выясниться, например, что какие-либо параметры, за- заложенные в блок на системном уровне, не реализуются, и тог- тогда можно изменить саму систему. Для перехода с системного уровня к непосредственному проектированию СБИС необходи- необходимо описание проекта на уровне регистровых передач (RTL).
Глава 2. Архитектура САПР БИС. Маршруты проектирования QJ И О ft Я а 3 д CD PQ а Встроенная библиотека адресов ASIC/FGPA библиотека произво- производителей CoCentric, System Studio — алгоритмический уровень - уровень транзакций Модели VHDL/ Verilog/Matlab Поведенческая SystemC-модель Симуляторы VCS/Scirocco RTL-модель на SystemC ¦> CoCentric, SystemC Compiler HDL Compiler Логический синтез Design Compiler/Physical Compiler Netlist Верификация логического проекта Prime Time, VSC/Scirocco Верификация логического проекта Astro Экстракция RC-параметров Star RCXT -->» О о и о Верификация топологии Hercules Передача проекта производителю СБИС Рис. 2.6. Базовый маршрут проектирования в среде Synopsys
2.4. Маршруты проектирования БИС 103 Переход от системной модели к RTL возможен двумя путями. Традиционный подход — это вручную писать соответствую- соответствующий код на языках Verilog/VHDL. Описывать модели RTL по- позволяет и SystemC, причем для этого не надо заново пе- переписывать код — достаточно лишь дополнить существующее описание определенными конструкциями. Другой подход, предоставляемый CoCentric System Studio, — это генерация так называемой поведенческой модели на SystemC (синтезабе- льный код SystemC). При этом формируется некая модель в виде «черного ящика», у которой определены интерфейсы, временные характеристики, выполняемые функции, однако внутренняя структура не детализирована. Особенностью САПР Synopsys является то, что из такой модели можно син- синтезировать логическое описание проекта. Иными словами, си- система сама синтезирует внутреннюю микроархитектуру СБИС. Для этого предназначен CoCentric SystemC Compiler, который формирует список цепей (netlist) в базисе внутренней библио- библиотеки элементов Synopsys (библиотека GTECH). Технология логического синтеза на основе поведенческой RTL-модели позволяет быстро получить ответ на вопрос, ре- реализуема ли в принципе та или иная система и какие аппа- аппаратные ресурсы СБИС (число вентилей, площадь кристалла, энергопотребление, частотные характеристики и т. д.) для этого нужны. Причем синтезируемые CoCentric SystemC Compiler структуры если и превышают по числу вентилей разработанные вручную, то в среднем не более чем на 10%. Отметим, что процесс разработки и верификации систем- системных моделей существенно упрощают и ускоряют различные библиотеки системного и RTL-уровней. Основные из них — это Design Ware и Reference Design Kit (RDK). Библиотека Design Ware не имеет аналогов на рынке средств САПР бла- благодаря уникальному набору функциональных параметризи- руемых блоков (от арифметических устройств до микропро- микропроцессорных ядер). RDK представляет собой набор системных моделей множества стандартов и протоколов — в области проводной и беспроводной связи, шинных интерфейсов и т. д. Он удобен, например, при разработке коммуникацион- коммуникационного процессора для системы GSM, а модели всего стека GSM-протоколов для верификации модели этой СБИС можно взять из RDK.
104 Глава 2. Архитектура САПР БИС. Маршруты проектирования За RTL следует вентильный уровень. Для работы на нем предназначено семейство продуктов Design Compiler. Эти продукты занимают на рынке долю около 80%, и фактиче- фактически Design Compiler стал промышленным стандартом. Он представлен в двух версиях: стандартной Design Compiler Expert и расширенной — Design Compiler Ultra. C Design Compiler стыкуются различные дополнительные инст- инструменты. Например, DFT-Compiler формирует аппаратные средства контролепригодности синтезируемой структуры (JTAG, BIST, SCAN и т. п.), Power Compiler позволяет опти- оптимизировать схему с точки зрения энергопотребления и т.д. Отметим, что готовые блоки и библиотечные элементы не транслируются повторно, а в Design Compiler передаются указатели на них. Design Compiler оптимален для технологии до 0,25-0,18 мкм. На технологиях следующего уровня, с раз- разрешением менее 0,18 мкм, начинают проявляться более тон- тонкие физические эффекты. Для работы на этих глубоко суб- субмикронных уровнях предназначен Physical Compiler. В от- отличие от Design Compiler, этот инструмент использует библиотеки топологического уровня и синтезирует не только список цепей, но и реальное размещение элементов на крис- кристалле. Получив размещение, можно оценить длину связей между элементами и по значениям их емкостей и сопротив- сопротивлений определить времена задержек распространения сигна- сигналов в цепях. Очень важно, что выходной формат Design Compiler и Physical Compiler стандартны: netlist — на языках Verilog или VHDL, результаты размещения элементов — в универ- универсальных форматах def, LEF, которые понятны продуктам других компаний. Таким образом, Physical Compiler можно использовать в маршрутах проектирования и других фирм, например, компании Cadence. По завершении логического синтеза необходимо провес- провести верификацию проекта. Для анализа временных и стати- статических характеристик предназначен пакет Prime Time. Это также весьма распространенный на рынке продукт. Он по- позволяет получить адекватное представление о поведении схемы, проанализировать его в наихудших случаях, обнару- обнаружить скрытые ошибки.
2.4. Маршруты проектирования БИС 105 Для синтеза топологии служит инструмент Astro. Он предназначен для размещения, трассировки и оптимизации топологии. При размещении и трассировке учитывается взаимовлияние между отдельными проводниками и фраг- фрагментами схемы (например, можно запретить вести длинные связи в одном слое, размещать рядом мощные буферные эле- элементы и т. д.). Astro позволяет учитывать влияние физиче- физических эффектов, проявляющихся при технологическом раз- разрешении меньше 0,18 мкм. Предусмотрена защита от так называемого антенного эффекта, когда остаточный заряд формирующего проводника способен повредить уже подсое- подсоединенный к нему вентиль. Для борьбы с подобными явлениями предусмотрены определенные меры, например разбиение длинного провод- проводника на несколько коротких в разных слоях, введение за- защитного диода, и Astro позволяет определить те места, где антенный эффект может проявиться. На выходе Astro получается готовая топология кристал- кристалла в формате gds2. Однако ее надо проверить, прежде все- всего — на паразитные ЛС-параметры. Для экстракции ДС-па- раметров уже готовой топологии предназначен инструмент Star RCXT. Полученные с его помощью ДС-характеристики реальной топологии можно проанализировать с помощью того же Astro. Кроме анализа временных параметров проверяются со- соблюдения правил проектирования (DRC) и правильности электрической схемы (ERC), т. е. правильность соединений, наличие несоединенных входов/выходов и т. п. Третья со- составляющая проверки топологий — восстановление из нее списка цепей и сравнение с исходным netlist (LVS). Все эти проверки реализует инструмент Hercules. 2.4.5. Средства проектирования компании MENTOR GRAPHICS Компания Mentor Graphics — один из мировых лидеров в области САПР электроники. В данном разделе рассмотре- рассмотрены ее основные продукты для проектирования СБИС на всех уровнях абстракции [2.5].
106 Глава 2. Архитектура САПР БИС. Маршруты проектирования Системный уровень Проектирование СБИС начинается с алгоритмического описания проекта на поведенческом уровне на языках C/C++, SystemC, System Verilog и т. д. (рис. 2.7). Можно использовать IP-блоки системного уровня, в том числе модели MATLAB и Simulink. На этом этапе решают, как будет реализована система — чисто аппаратно, либо программно-аппаратно. В последнем случае выбирается процессорное ядро (PowerPC, ARM, MIPS, и т. п.) и его пе- периферийное окружение. Остановившись на конкретном ядре, уже на системном уровне можно начинать разработку встроенного программного обеспечения. Для этого предназ- предназначен комплекс таких инструментальных средств, как про- программно-отладочные среды XRAY Debugger и code/lab, ком- компиляторы C/C++ Compilers, операционные системы реально- реального времени VRTX и Nucleus. Компиляцию проекта на основе IP-блоков процессорного ядра и его периферийного окружения (контроллеры перифе- периферии, памяти, интерфейсы и т. п.) на уровне шинной архи- архитектуры реализует пакет Platform Express. При необходимо- необходимости уже на данном этапе можно подключать RTL-блоки, описанные на языках VHDL и Verilog — созданные пользо- пользователем либо взятые из IP-библиотек. Так, библиотека 1п- ventra IP Mentor Graphics включает более 300 синтезируе- синтезируемых IP-блоков, в том числе устройства для телеком- телекоммуникационного оборудования (IEEE 802.11, Bluetooth, USB 2.0), шин передачи данных (CAN 2.0, PCI, PCMCI, UART), кодеров (Viterbi, Reed Solomon) и др. Для повыше- повышения скорости и точности верификации уже на системном уровне можно использовать мощные системы аппаратной эмуляции VStation (технология Virtual Wires) или Celero Pro. В этом случае часть блоков, описанных на C/C++, моде- моделируется программно, а блоки RTL-уровня — аппаратно. На этапе поведенческого моделирования решается и во- вопрос о включении аналоговых/смешанных/высокочастот- аналоговых/смешанных/высокочастотных блоков в общий проект системы на кристалле. Проекти- Проектирование таких блоков в составе SoC выделяется в отдельный тракт с объединением и глобальной верификацией проекта на последующих этапах.
2.4. Маршруты проектирования БИС 107 VHDL Verilog Генератор ASIC- библиотек Precision С Алгоритмическое описание проекта C/C++, SystemC, System Verilog, PCI Assertions Библиотеки системного уровня Разработка встроенного ПО XRAY Debugger, C/C++ Compilers, code/lab, VRTXD RTOS, Nucleus RTOS Моделирование и программно- аппаратная верификация на системном уровне ModelSimC, Seamless CVE/C-Bridge Seamless CVE/ASAP Синтез RTL-описания системы на базе C/C++ Precision С Synthesis ± Создание проекта на уровне RTL HTL-Designer Моделирование и программно- аппаратная верификация уровне RTL ModelSim, Seamless CVE, XRAY Debugger Логический синтез ASIC/FPGA LeonardoSpectrum DC Библиотеки поставщиков ASIC/FPGA Библиотеки поставщиков FPGA Компиляция проекта SoC Platform Express RTL- библиотеки IP Inventra IP и др. Аппаратная эмуляция VStation Celero Pro Моделирование аналого- цифровых систем ADMS Заказные СБИС Логический и физический синтез FPGA Precision RTLSynthesis, Precision Physical Synthesis Размещение и трассировка (инструментальные средства изготовимтелей СБИС) Размещение и трассировка (инструментальные средства изготовимтелей СБИС) !1| ill !«1 III ASIC/FPGA ASIC/FPGA Рис. 2.7. Маршрут проектирования СБИС в среде Mentor Graphics
108 Глава 2. Архитектура САПР БИС. Маршруты проектирования Для верификации на системном уровне предназначены пакеты ModelSim (цифровое моделирование на VHDL, Veri- log, C/C++, SystemC, System Verilog, PSL Assertions) и Se- Seamless CVE/C-Bridge — программно-аппаратная верифика- верификация (в том числе на уровне транзакций) и С-моделирование. Существенно, что пакет Seamless анализирует производите- производительность программно-аппаратной системы и определяет ее «узкие» места. Например, обнаружив, что программная реа- реализация некоторых функций не обеспечивает требуемого быстродействия, можно изменить архитектуру системы, поддержав эти функции аппаратными средствами. Данная задача реализуется модулем Seamless ASAP. Уровень регистровых передач Верифицированные на поведенческом уровне С/С++-опи- сания алгоритмов можно синтезировать непосредственно в RTL-уровень с помощью пакета Precision С Synthesis. Его предваряет временное планирование реализации алгоритмов, генерация микроархитектуры и ее оптимизация с учетом су- существующих ограничений. При необходимости возможно по- цикловое моделирование посредством пакета ModelSim. По- После выполнения этих процедур включается механизм синтеза RTL-кода Отличительные особенности пакета Precision С — полностью автоматизированный процесс генерации RTL-кода на основе стандартного С/С++-описания и возможность опре- определения микроархитектуры без промежуточных представле- представлений проекта. Причем качество автоматического синтеза часто выше, чем при ручной кодировке. На уровне RTL-блоков весь проект компонуется с помо- помощью системы HDL Designer. При этом используются макро- макросы из собственной библиотеки HDL Designer, библиотеки In- ventra IP компании Mentor Graphics, из IP-библиотек дру- других поставщиков, а также модули, синтезированные с помощью Precision С или написанные вручную. После полного определения цифровой части проекта на уровне RTL ее детально моделируют посредством программы ModelSim и верифицируют с помощью пакета Seamless CVE. При больших объемах проекта и необходимости исчерпываю- исчерпывающей верификации в максимально короткий срок на этом эта- этапе широко используются системы аппаратной эмуляции.
2.4. Маршруты проектирования БИС 109 Аналоговые, смешанные и ВЧ-блоки системы моделиру- моделируют отдельно либо вместе с цифровой частью с помощью сис- системы ADMS. При этом возможно иерархическое представле- представление проекта с различной степенью детализации отдельных блоков. В качестве языков описания могут быть использова- использованы Spice, С, C++, VHDL-AMS, VHDL, Verilog, Verilog-A. ADMS имеет также встроенную систему ускоренного дина- динамического моделирования на транзисторном уровне Mach ТА, опцию для моделирования в ВЧ-диапазоне ADMS-RF и мощную встроенную библиотеку функциональных блоков на языке VHDL-AMS — ADVance CommLib. Логический уровень После окончательной верификации цифровой системы на RTL-уровне проект может быть синтезирован в виде FPGA или ASIC. Синтез описания на уровне элементов библиотек изготовителей реализуют такие средства, как LeonardoSpec- trum (ASIC/FPGA), продукт компании Synopsys Design Com- Compiler (ASIC), системы Precision RTL Synthesis и Precision Physical Synthesis (FPGA). Отметим, что последний инстру- инструмент имеет встроенный статический временной анализатор. Компания Mentor Graphics придает большое значение маршруту проектирования систем на ПЛИС (FPGA/FPSoC). Это связано с наблюдающейся в последнее время тенденцией роста числа проектов на FPGA и их снижения на ASIC. Про- Проектирование на FPGA становится более рентабельным даже для крупных партий изделий, поскольку позволяет сущест- существенно сократить и удешевить циклы как проектирования, так и изготовления. Поэтому специально для FPGA компа- компания Mentor Graphics создала комплексный, включающий все основные инструменты проектирования, маршрут FPGA Advantage. Он полностью совместим с программными сред- средствами изготовителей ПЛИС (Xilinx, Altera, Actel, Lattice и др.) и поддерживает все IP-ядра для FPGA. При прохождении проекта от RTL до вентильного уровня эквивалентность контролируется с помощью системы фор- формальной верификации FormalPro. На этих же этапах испо- используется комплекс средств тестирования и обеспечения кон- контролепригодности DFT (Design-for-Test) (рис. 2.8).
110 Глава 2. Архитектура САПР БИС. Маршруты проектирования RTL Gates P&R GDSII RTL-уровень Логический уровень Размещение и трассировка Топологическое описание Встроенное тестирование памяти, логики, граничное сканирование, встроенная компрессия MBISTArchitect, LBISTArchitect, BSDArchitect, TestKompress Генерация цепей сканирования, автоматическая генерация тестов DFTAdvisor, FastScan, TestKompress Тестирование кристалла и диагностика FastScan, TestKompress, MBISTArchitect, LBISTArchitect Изготовление Тестирование Рис. 2.8. Средства тестирования и диагностики Основные инструменты этого комплекса — система авто- автоматической генерации и диагностического анализа тестов для СБИС с высоким процентом сканирования FastScan ATPG, программа автоматической генерации цепей гранич- граничного сканирования СБИС в соответствии со стандартом IEEE 1149.1 BSDArchitect, инструмент автоматической генерации структур самотестирования для СБИС со встроенной памя- памятью MBISTArchitect, анализатор контролепригодности с автоматической генерацией встроенных структур самотести- самотестирования и встроенных тестов для СБИС с произвольной ло- логикой LBISTArchitect и генератор встроенных структур ком- компрессии тестов на основе запатентованной технологии Em- Embedded Deterministic Test (EDT) TestKompress.
2.4. Маршруты проектирования БИС 111 Заказное проектирование аналоговых и смешанных схем Маршрут проектирования заказных аналого-цифровых СБИС (рис. 2.9) включает все основные этапы проектирова- проектирования — создание принципиальной схемы проекта, функцио- функциональную верификацию проекта, проектирование топологии ИС и ее физическую верификацию, в том числе экстракцию паразитных параметров. Техноло- Технологические библиотеки TDK Цифровой блок (VHDL, Verilog) Аналоговый блок (принципиальная схема, Spice) Визуали- Визуализация и отладка Calibre, DESIGNrev, Calibre RVE Создание проекта и управление верификацией Design, Architect-IC Планирование кристалла, размещение, трассировка 1С Station, ICassemble, AutoCells Моделирование ADMS Языки VHDL Verilog VHDL-AMS Verilog-A Spice С IBIS Физическая верификация Calibre DRC, Calibre LVS, Calibre Interactive Экстракция паразитных параметров Calibre xRC Коррекция (RET) Calibre OPC, Calibre PSM Пост-моделирование ADMS Подготовка маски Изготовление маски и кристалла Рис. 2.9. Маршрут проектирования заказных аналого-цифровых СБИС
112 Глава 2. Архитектура САПР БИС. Маршруты проектирования Все модули маршрута полностью совместимы между со- собой и базируются на стандартных промышленных форма- форматах, что позволяет использовать их в любом сочетании со средствами проектирования других поставщиков. Под- Поддерживается методология проектирования как полностью заказных схем, так и на базе стандартных ячеек. Общая схема проекта создается в среде Design Archi- tect-IC, включающей редактор ввода принципиальной схе- схемы, модуль генерации списка цепей в форматах SPICE, HSPICE или Verilog, модуль подготовки и настройки моде- моделирования аналоговых и смешанных схем и визуализатор для просмотра результатов моделирования. Функциональное моделирование выполняется с помо- помощью уже упоминавшейся системы ADMS, которая базирует- базируется на платформах цифрового VHDL\Verilog-мoдeлиpoвaния ModelSim и аналогового моделирования Eldo Analog Design Station. Основные преимущества последней — высокая про- производительность, большой допустимый объем проектов E00 тыс. транзисторов) и высокая точность. Наряду с клас- классическим алгоритмом численного моделирования Ньюто- на-Рафсона она использует более совершенные алгоритмы OSR и IEM, а также позволяет назначать различные алгоритмы моделирования разным блокам. Поддерживают- Поддерживаются практически все модели MOS, биполярных и MES- FET-транзисторов. Топологическое проектирование По завершении функционального моделирования начи- начинается проектирование топологии СБИС. Для этого предназ- предназначены пакеты 1С Station, ICassemble и AutoCells. 1С Station включает интерактивный редактор топологии ICgraph Basic, генератор топологии на основе электрической принципиаль- принципиальной схемы ICgraph SDL, параметрические генераторы циф- цифровых ICdevice Digital и аналоговых ICdevice Analog ячеек. 1С Station может применяться как для проектирования то- топологии кристалла в целом, так и для проектирования отде- отдельных ячеек. Планирование, размещение, интерактивную и автомати- автоматическую трассировку аналоговых и аналого-цифровых бло-
2.4. Маршруты проектирования БИС 113 ков, а также всего кристалла в целом выполняет модуль ICassemble. Инструмент AutoCells предназначен для разме- размещения и трассировки цифровых блоков. В качестве входных данных он может использовать файлы GDSII и LEF, а также net-листы в форматах Verilog, EDIF и DEF. Проектирование топологии завершается этапом физиче- физической верификации и экстракции паразитных параметров. Для этого предназначена платформа Calibre — фактически промышленный стандарт в области верификации топологии СБИС. Она включает модуль контроля топологических про- проектных норм Calibre DRC, модуль проверки соответствия то- топологии и электрической схемы Calibre LVS, модуль инте- интерактивной верификации ячеек и блоков, работающий непо- непосредственно в среде топологического редактора — Calibre Interactive, модуль визуализации результатов верификации и отладки Calibre RVE/QDB, модуль экстракции паразит- паразитных параметров для ячеек, блоков и кристаллов Calibre xRC. Последний поддерживает ЗБ-экстракцию в форматах « сосредоточенный-С », « распределенный-СС », « распределен- ный-RC», «распределенный-RCC SPICE». Результаты экст- экстракции могут быть использованы для более точного модели- моделирования с учетом реальных физических параметров и соот- соответствующей модификации схемы проекта. В целом можно отметить, что все продукты компании Mentor Graphics интегрированы в сквозной маршрут, вери- верифицированный и поддерживаемый технологическими биб- библиотеками от ведущих изготовителей СБИС (UMC, TSMC, Chartered, IBM, STMicroelectronics, AMS и др.) и позволяют решать сложные задачи проектирования СБИС. 2.4.6. Выводы и проблемы Ввиду возрастания роли САПР во всех областях науки, техники и производства, особенно в области электроники, важно правильно оценить потребность организации или предприятия в средствах автоматизации проектирования. Начинать необходимо с оценки объема текущей работы за какой-то период (месяц, квартал, полугодие, год), включаю- включающей и число требуемых проектов за данный период. Естест- Естественно, оценки должны быть усредненными. Нужно также
114 Глава 2. Архитектура САПР БИС. Маршруты проектирования знать, сколько планируется новых проектов и сколько модифицированных, какова средняя сложность проектов. Определив сложность проектов и число самых сложных из них, необходимо оценить объем работ по реализации самого сложного проекта. Последнее поможет определить и мак- максимальные возможности будущей САПР. Приведем примерный перечень вопросов, которые не- необходимо рассмотреть на начальном этапе создания САПР. 1. Предполагаемый объем работ на текущий период (на следующий год, на следующие три года): число новых про- проектов; число модифицируемых проектов (например, перевод аппаратуры на МИС и СИС); средняя сложность проектов (число транзисторов, ЛЭ и т. д.); кадровый (количественный и качественный) состав отдела проектирования БИС; «уз- «узкие» места при создании проекта (ожидаемые); какие и ско- сколько субподрядчиков необходимо; анализ существующих технологических возможностей и ожидаемых в близкой и далекой перспективе изменений в технологий проектирова- проектирования и производства. 2. Предполагаемые стоимостные характеристики (на основе существующих на данный период расценок): стои- стоимость вычислительных ресурсов в единицу времени при на- наличии своих вычислительных средств или их аренды; стои- стоимость обслуживания САПР; стоимость вспомогательного оборудования; стоимость внешних услуг (например, выход на мощные суперЭВМ или на завод-изготовитель). 3. Затем производится оценка качества проектирования на каждом этапе и даются три оценки (минимальная, сред- средняя и максимальная) по критериям: производительность разработчика, время цикла проектирования, качество про- проекта, стоимость проекта, затраты на данном предприятии по сравнению с затратами на других предприятиях, возможная прибыль и темпы ее прироста, пиковый объем проектирова- проектирования, проблемные области проекта и подходы к их решению; организационные возможности проектирования, число ите- итераций, необходимых для полной реализации ТЗ на проект, стоимость одной итерации. 4. К возможным направлениям, по которым ожидается повышение эффективности проектирования, можно отнести следующие: увеличение процента выхода годных, сокраще-
2.4. Маршруты проектирования БИС 115 ние времени, повышение качества и снижение затрат на проектирование. Важное значение для успешного функцио- функционирования САПР на предприятии имеет оперативное взаи- взаимодействие различных подразделений на уровне руководи- руководителей, инженеров и технических средств. 5. Идеальная САПР, в свою очередь, должна отвечать следующим требованиям: обеспечивать максимальную производительность; иметь более высокие технические показатели САПР по сравнению с показателями на других предприятиях; иметь четкую формализацию представле- представления проекта на всех этапах его прохождения; наилучшие технические средства, быстродействие центрального про- процессора, емкость дисковой памяти, наличие необходимой периферии; иметь простые языки общения с САПР, оптима- оптимальное соотношение специалистов различного профиля, совершенный аппарат спецификации проекта БИС, доста- достаточное число терминалов и рабочих станций; иметь локаль- локальные и глобальные сети ЭВМ, связь автоматизированного проектирования с автоматизированным производством. Сис- Система должна быть открытой к новациям, САПР и быть гиб- гибкой по отношению к новым техническим средствам и новым методологиям проектирования. Литература 2.1. См. литературу к главе 1. 2.2. Лаборатория САПР. http://www.csa.ru/CSA/CADS/enter.htm 2.3. Кравченко В., Радченко Д. SYNOPSYS — Основные средства и возможности. ЭЛЕКТРОНИКА: Наука, Тех- Технология, Бизнес 5/2003. 2.4. Бухтеев А. Среда проектирования компании Cadence. CHIP NEWS, #4G7), апрель, 2003. 2.5. Лохов А. Средства проектирования СБИС компании Mentor Graphics. ЭЛЕКТРОНИКА: Наука, Технология, Бизнес 7/2003. 2.6. Четвериков В. Н., Ревунков Г. И., Самохвалов Э. Н. Базы и банки данных. — М.: Высшая школа, 1987.
Глава 3 Проектные процедуры Введение При проектировании любого изделия на каждом этапе необходимо выполнять одни и те же проектные процедуры: структурный синтез, составление математической модели, анализ математической модели, параметрическая оптимиза- оптимизация, статистический анализ. В зависимости от того, на каком этапе проектирования выполняются соответствующие вычисления и какие физиче- физические принципы положены в основу действия объекта проек- проектирования, содержательная сторона этих процедур будет различной. Однако следует подчеркнуть, что в том случае, если математические модели объектов проектирования раз- различной физической природы имеют одинаковую форму, то и математические методы их анализа могут быть одинаковы- одинаковыми. Что касается других проектных процедур, то и там та- такой подход возможен. Можно трактовать эти подходы как частные случаи известного принципа подобия. Конкретные особенности применения алгоритмов выполнения различ- различных проектных процедур будут рассмотрены ниже. 3.1. Структурный синтез Структура объекта определяется природой элементов и способом их связи между собой в составе обьекта. Если под обьектом проектирования понимать некоторую схему, то это межэлементные связи: функциональные, электрические и т. д. А если обьект проектирования — пространственная конструкция, то связи отождествляются со взаимным распо-
3.1. Структурный синтез 117 ложением элементов в пространстве. Поэтому результатом структурного синтеза должны быть перечень типов элемен- элементов вместе с таблицей соединений (списком цепей) или схе- схемы расположений элементов с указанием их типов или эс- эскизный чертеж или схема алгоритма функционирования устройства и т. д. Для большинства задач структурного синтеза возможна следующая формулировка. Найти экстремум целевой функ- функции F(X) при наличии ограничений в условиях, когда эле- элементы векторов управляемых параметров могут принимать только дискретное значение. Это, по существу, общая форму- формулировка задачи дискретного математического програмирова- ния. Например, к задаче линейного дискретного програмиро- вания могут быть сведены задачи размещения компонентов интегральной схемы, где в качестве управляемых параметров используются координаты и положение на плоскости, а целе- целевой функцией являются суммы взвешенных расстояний меж- между компонентами ИС или блоками аппаратуры. 3.1.1. Методы решения задач структурного синтеза Так как при проектировании сложных технических сис- систем используется блочно-иерархический подход, то и струк- структурный синтез также должен осуществляться по тому же принципу. Это означает, что на каждом этапе объект проек- проектирования синтезируется отдельно в базисе своих структур- структурных компонентов. В большинстве случаев на всех уровнях проектирования для решения задачи синтеза необходим пе- перебор вариантов и актуальной проблемой становится их со- сокращение. В основе решения задач синтеза чаще всего лежит пере- перебор вариантов счетного множества, алгоритм которого состо- состоит из выполнения трех ш&гов: • выбор очередного варианта; • оценка параметров выбранного варианта; • принятие решения о прекращении или продолжении пе- перебора вариантов. Как правило, для оценки параметров каждого варианта структуры требуется создание его варианта математической
118 Глава 3. Проектные процедуры модели, ее решение и выполнение процедуры параметриче- параметрической оптимизации. Существуют следующие общие подходы к решению задач структурного синтеза: • возможность полного перебора вариантов. Для выполне- выполнения перебора необходимо в памяти ЭВМ хранить полный перечень вариантов структуры. Такой перечень создается в виде каталога типовых вариантов структуры, который входит в состав информационного обеспечения САПР. Примером может являться перечень типовых конфигура- конфигураций интегральных транзисторов в подсистеме компонент- компонентного проектирования или перечень IP-блоков в подсистеме проектирования систем на кристалле (SoC); • если имеется большое число вариантов и прямой перебор невозможен, то используются следующие подходы для решения задач структурного синтеза: а) применение алгоритмов направленного перебора и б) сведение задачи к первому подходу путем ограничения области поиска еще на этапе разработки спецификации; • в том случае, если число вариантов практически неогра- ничено, например при синтезе электрической схемы, не- необходимо участие человека в решении этих задач. При этом характерным является использование специальных библиотек, элементами которых могут быть: а) описание физических явлений для синтеза принципов действия технических устройств, б) описание типовых решений в конкретной области, в) способы разрешения противоре- противоречий, возникших из-за наличия неудовлетворенных усло- условий работоспособности для некоторых значений параметров интегральных схем или систем. В САПР большое распространение, кроме переборных подходов, получили последовательные алгоритмы синтеза, в которых осуществляется последовательное создание струк- структуры путем дополнения элементов к некоторой начальной структуре, выбранной по принципу наибольшей связности с другими элементами. Главное достоинство последовательных алгоритмов — их сравнительно высокая экономичность по затратам машинно- машинного времени, т. к. здесь нет многоразового анализа вариантов
3.1. Структурный синтез 119 структуры. В этих алгоритмах не гарантируется оптималь- оптимальность полученной структуры. Подобные алгоритмы относят к классу эвристических. Например, рассмотрим последова- последовательный алгоритм компоновки для задач конструирования радиоэлектронного устройства. Задача заключается в рас- распределении элементов устройства по блокам. Блоки связы- связываются друг с другом с помощью разъемных соединений. При такой конструкции очевидно, что количество соедине- соединений между блоками желательно иметь как можно мень- меньше — при этом упрощается конструкция и возрастает помехоустойчивость, т. к. общая длина электрических сое- соединений уменьшается. Поэтому алгоритм компоновки дол- должен целенаправленно минимизировать количество меж- межблочных связей. Другой пример — разработка топологии БИС по имеющейся принципиальной электрической схеме и геометрическим конфигурациям компонентов: выбираются 3-4 компонента, имеющие наибольшее количество связей с соседними, к ним пристраиваются еще 3-4 и т. д. до получе- получения полной топологической схемы, соответствующей задан- заданной электрической схеме. На этапе схемотехнического про- проектирования для решения задач структурного синтеза часто применяется метод локальной модификации, суть которого состоит в следующем. Предположим, что имеющаяся ИС не устраивает проектировщика по какому-либо выходному па- параметру или зависимости выходного параметра от внешних условий. Для определенности возьмем, например, схему, температурная зависимость одного из выходных параметров которой не устраивает проектировщика. Тогда производится анализ чувствительности выходных параметров схемы от компонентов и определяется наиболее чувствительный к из- изменениям температуры компонент (в общем случае это мо- может быть просто пара узлов схемы). Он заменяется схемой из имеющегося каталога, которая имеет характеристики, компенсирующие неудовлетворительную температурную за- зависимость. Итерационные алгоритмы являются эвристическими ал- алгоритмами улучшения первоначально выбранной структуры. По своей сути это алгоритмы перебора, в которых каждый очередной вариант структуры образуется по определенному правилу и перебор заканчивается, когда следование этому
120 Глава 3. Проектные процедуры правилу не позволяет добиться дальнейшего улучшения. Ко- Количество проб здесь меньше, чем при полном переборе. 3.1.2. Структурный синтез СБИС В последние годы для решения задач структурного син- синтеза все чаще применяются методы искусственного интел- интеллекта, в частности, экспертные системы. При этом полезно представить процесс проектирования сложной технической системы (СТС), в том числе СБИС, в обобщенном виде. В на- научной литературе рассматриваются три таких представле- представления: линейное, треугольное и Y-представление. С точки зрения содержащейся в них информации они равноценны, однако, с точки зрения наглядности несомнен- несомненным преимуществом обладает Y-представление [3.2]. Заме- Заметим, что в зарубежной научной литературе вместо более кор- Язык описания проекта Язык регистровых передач Язык описания логической структуры Язык описания схем Поведенческий уровень Алгоритмический или функциональный Уровень регистровых передач Логический уровень Уровень временного моделирования Структурное представление Схемотехническое моделирование Язык описания топологии Топологический уровень Физическая реализация Рис. 3.1. Линейное представление проекта СБИС
3.1. Структурный синтез 121 Топология ячеек Топология СБИС Фотошаблоны Физическое представление Рис. 3.2. Треугольное представление проекта СБИС ректного термина «модель процесса проектирования» испо- используется более краткий «модель проекта». В дальнейшем будут использоваться оба термина. Традиционный#подход, используемый для описания про- проекта СБИС и соответствующей документации, имеет единст- единственно доступный инструмент — язык высокого уровня опи- описания аппаратуры (HDL). Обычно большинство этих языков позволяют описывать как поведенческую, так и структур- структурную составляющие проекта. Однако такое представление не обладает наглядностью. Чтобы представлять все более и бо- более сложные проекты, разрабатываемые в настоящее время, рассмотрим обобщенную модель представления проекта, ко-
122 Глава 3. Проектные процедуры торая использует три области описания: поведенческую, структурную и физическую и позволяет представить пол- полный проект в более наглядной форме. Так как инструментальные средства для решения задач структурного синтеза СБИС становятся все более и более важными, данная модель может служить и как модель для их решения, иллюстрируя различные задачи синтеза, кото- которые могли бы быть решены. При нисходящем проектирова- проектировании решение задач синтеза создает все более и более детали- детализированное представление как в рамках своей области, так и дополнительных связей между областями, поскольку они преобразовывают поведенческое описание к структурному описанию и далее к физическому описанию. Модель представления проекта можно описать, исполь- используя три оси, на каждой из которых представлена одна из трех областей описания. По каждой из этих осей представ- представлены уровни абстракции, или уровни детализации (рис. 3.3 и 3.4). Первый рисунок показывает три области описания, названные поведенческими, структурными и физическими областями. Эти области представлены тремя осями, прибли- приближающимися к общей вершине, с уровнем уменьшения абст- абстракции представления проекта по направлению к этой вер- вершине. Следующий рисунок изображает то же самое представле- представление, добавляя в обычный набор уровней абстракции пред- представления проекта кольца, которые проходят через все три области. Таблица 3.1 является более привычным представлением этой же самой модели проекта. Она представляет модель как таблицу с уровнями абстракции, представленными строка- строками, и тремя областями описания — столбцами. Как и в пре- предыдущей модели, проект включает компоненты от всех трех областей. В этой модели представления проекта каждая область иерархически разделена на различные уровни абстракции. Каждая из областей описания представляет только одну часть полного описания проекта и должна быть скоордини- скоординирована с другими областями через связи между ними. В этой модели представления проекта каждая область иерархиче- иерархически разделена на различные уровни абстракции.
3.1. Структурный синтез 123 Поведенческое Спецификации4! Алгоритмы^ Регистровые передачиТ Булевы уравнения4! Дифференциальные уравнения4! Структурное Процессор, память ^Функциональные блоки регистры ^Ключи '"Транзисторы ) Элементы ячеек • Ячейки • Планирование кристалла 1 Кластеры 1 Физическая декомпозиция Физическое Рис. 3.3. Y-представление проекта СБИС Поведенческое Архитектурное 'Алгоритмическое^ Функциональное Спецификации Алгоригмы Регистровые/передачи Булевы ?^^ Дифференциальные уравнения Структурное Процессор, память "Функциональные блоки регистры изическая декомпозиция Физическое Рис. 3.4. Уровни абстракции и области описания проекта СБИС
124 Глава 3. Проектные процедуры Таблица 3.1. Уровни абстракции и области описания — табличное представление Архитектурный уровень Алгоритмический уровень Уровень функциональных блоков Логический уровень Схемотехнический уровень Поведенческая область Спецификации Алгоритмы Регистровые передачи Булевы уравнения Дифференциальные уравнения Структурная область Процессор, память, переключатели, контроллеры Функциональные блоки АЛУ, регистры Триггеры, ключи Транзисторы Физическая область Физическая декомпозиция Кластеры Планирование кристалла Ячейки Компоненты ячеек Поведенческая область описывает поведение, или функ- функциональные возможности проекта, и содержит статическую и динамическую составляющие. Статическая составляющая описывает операции, в то время как динамическая составля- составляющая — их упорядочение во времени и синхронизацию. Та- Таким образом, различия в функциональных возможностях, конвейерной обработке и синхронизации — все эти измене- изменения отражаются в поведении. Например, на уровне функци- функционального блока поведенческая область описывает проект в терминах регистровых передач, по возможности включая синхронизацию информации. Если на уровне регистрового описания произошли изменения, то и статическая составля- составляющая в поведенческой области также изменится. Точно так же изменение или введение конвейерной обработки или син- синхронизации информации изменяет динамическую составля- составляющую и, возможно, также статическую составляющую. Структурная область описывает логическую структуру СБИС в виде взаимосвязанного набора структурных компо- компонентов из соответствующего базиса, и находится между по- поведенческой и физической областями. Например, на уровне функционального блока структурная область описывает
3.1. Структурный синтез 125 проект в терминах абстрактных АЛУ, мультиплексоров и регистров, необходимых для реализации уровня регистро- регистровых передач, требуемых поведенческой областью. Физическая область описывает физическое воплощение проекта, или реализацию абстрактных структурных компо- компонентов структурной области в виде реальных физических компонентов. На верхних уровнях абстракции эта область обычно содержит ограничения на декомпозицию или разра- разработку общей топологии кристалла проекта. Например, на уровне функционального блока физическая область описы- описывает план кристалла, необходимый, чтобы реализовать тре- требуемые абстрактные АЛУ, мультиплексоры и регистры. На всех уровнях расчет быстродействия, потребляемой мощно- мощности и ограничений на площадь кристалла часто является ча- частью проектных работ в физической области. На более низ- низких уровнях абстракции эта область содержит описание реа- реальных физических компонентов и их геометрии. Каждая из этих трех областей описания иерархически разделяет проект на различные уровни абстракции. Таким образом, чтобы представить проект как скоординированное представление из этих трех областей, необходимо использо- использовать три различных структуры декомпозиции проекта. Каж- Каждая из этих трех областей может также иметь и статическую и динамическую составляющие. На верхнем уровне абстрак- абстракции статическая составляющая описывает инвариантную от времени часть описания — операции, структуры и т. д. Ти- Типичные статические составляющие — операции сложения и вычитания в поведенческой области, и сумматоры и вычита- тели в структурной и физической областях. Динамическая составляющая описывает упорядочение операций и времени между операциями. Типичными динамическими составляю- составляющими являются временные ограничения в поведенческой области, времена выполнения для абстрактных операторов в структурной области и реальные времена выполнения в физической области. Каждая из этих трех областей может также содержать и компонент описания и компонент ограничения. Первый компонент, описание, является представлением проекта, по- поскольку оно существует в процессе проектирования. Это описание может обеспечиваться пользователем (например,
126 Глава 3. Проектные процедуры как входное описание для системы структурного синтеза) или оно может быть построено как промежуточное или за- заключительное представление проекта и привязано к снаб- снабженной пользователем информации. Второй компонент каждой области, набор ограничений — временные ограниче- ограничения, ограничения по площади кристалла и мощности по- потребления являются типичными примерами. В модели представления проекта СБИС имеется ряд уровней абстракции, причем каждый содержит поведенче- поведенческую, структурную и физическую области. Архитектурный уровень. Поведенческая область на этом уровне описывает поведение системы как набор специ- спецификаций. Это обусловлено теми частями аппаратных средств, которые управляют данными и сохраняют резуль- результаты без того, чтобы интересоваться алгоритмами, описыва- описывающими детали того, как это происходит. Во многих случаях эти спецификации представлены как комбинация неформа- неформального поведенческого описания и ограничений физической области. Компоненты структурной области, которые соответст- соответствуют этим спецификациям, — процессоры, модули памяти, выключатели, шины и контроллеры устройства. Обычно по- полагают, что эти устройства работают согласованно и связы- связываются через порты или шины. В наиболее формальных опи- описаниях на этом уровне, структурная информация составляет основу описания, возможно из-за недостатка формальных методов для описания поведения. В физической области высокоуровневая декомпозиция проекта может быть также описана. В зависимости от техно- технологии изготовления и сложности проекта, это могло бы соот- соответствовать кристаллу или макроблочному уровню декомпо- декомпозиции. Помимо описания, физическая область может также содержать ограничения (например, на потребляемую мощ- мощность, площадь кристалла и т. д.). Алгоритмический уровень. Этот уровень, часто называе- называемый поведенческим уровнем, описывает проект на языке, синтаксически подобном языкам программирования. Слож- Сложные алгоритмические выражения, структуры данных, про- процедуры, процессы и scoped (контекстные) переменные — все используются, чтобы описать поведение проекта. Алгорит-
3.1. Структурный синтез 127 мы описывают необходимую манипуляцию структурами данных, процедурами, процессами и контекстными пере- переменными, чтобы обеспечивать необходимое управление ко- кодами. Примеры компонентов поведенческой области на этом уровне — инструкции по декодированию команд, эффектив- эффективное вычисление адреса и исполнение команды. В структурной области аппаратные модули (например, канал данных и контроллер) соответствуют процессам в по- поведенческой области. Полагают, что эти аппаратные модули работают параллельно, хотя их внутренние операции могут выполняться как последовательно, так и параллельно. В физической области кластеризация операторов в физи- физических подсистемах также может быть описана. Кластериза- Кластеризацию относят к группированию функционально подобных опе- операций, как определенную некоторой мерой близости. Опера- Операторы с высокой близостью имеют высокую вероятность для совместного использования аппаратных средств и могут быть сгруппированы вместе в той же самой физической подсисте- подсистеме. Помимо этой составляющей описания, ограничения на потребляемую мощность, площадь кристалла и т. д. могут также быть описаны. Синхронизация может стать проблемой на этом уровне, также как и высокоуровневые поведенческие ограничения синхронизации. Например, если разрабатывае- разрабатываемые аппаратные средства должны быть связаны с помощью интерфейса с другими аппаратными средствами, необходимо будет описать ограничения на его время выполнения и на синхронизацию интерфейса. Эти ограничения могут или быть описаны как часть поведенческих описаний, или они могут быть описаны на отдельном языке ограничений. Уровень функционального блока, часто называемый уровнем регистровых передач, описывает проект на уровне ближе к основным аппаратным средствам, чем предыдущие уровни. Поведенческая область содержит описание арифме- арифметических или логических операций и передач между регист- регистрами (отсюда и название — регистровые передачи). Широ- Широкий диапазон методов используется, чтобы описать это пове- поведение — от функциональных или потоковых языков до непроцедурных, машинно-ориентированных языков. Пове- Поведение в структурной области на этом уровне осуществляет-
128 Глава 3. Проектные процедуры ся, используя АЛУ, сумматоры, компараторы, регистры и некоторые другие структурные компоненты. В зависимости от конкретной технологии, возможно во- воплотить структурное описание непосредственно в аппарат- аппаратные средства. Если желательны большие подробности, физи- физическая область на этом уровне могла бы быть связана с пла- планированием топологии проекта, определяя геометрические конфигурации структурных компонентов. Наконец, как и с верхними уровнями абстракции, решение проблем потреб- потребляемой мощности и ограничений по площади кристалла мо- могут также быть частью работ в этой области. Так как этот уровень ближе к основным аппаратным средствам, чем пре- предыдущие уровни, синхронизации принадлежит большая роль, чем прежде. На этом уровне синхронизация состоит из главных циклов, или машинных циклов, и далее делится на установленное число младших циклов, или потоковых цик- циклов. Синхронизация на этом уровне может также содержать ссылки на дискретные события, особенно в асинхронных проектах. На этом уровне составляющая поведенческой области описывает манипуляцию и установление последовательно- последовательности сигналов управления, которые в свою очередь произво- производят действия с данными. Составляющая структурный облас- области, представляя абстрактное воплощение, описывает абст- абстрактные структуры типа PLA и микрокодированные управляющие ROM. Составляющая физической области — воплощение проекта в аппаратных средствах, или в плани- планировании топологии кристалла. Логический уровень, часто называемый вентильным уров- уровнем, является детализацией уровня функционального блока. В поведенческой области он описывает проект как переклю- переключающуюся схему, выражая ее поведение в терминах булевых уравнений и конечных автоматов. В структурной области это поведение осуществляется логическими ключами, триггера- триггерами и регистрами. Подобно уровню функционального блока, в физической области на этом уровне проект может быть не- непосредственно реализован в аппаратных средствах. Напри- Например, в проекте, основанном на TTL-логике, компоненты уровня функционального блока могли бы быть иерархиче- иерархически декомпозированы в ключи, триггеры и т. д., которые
3.1. Структурный синтез 129 могут быть реализованы в аппаратных средствах. Наконец, как и на верхних уровнях, решение проблем потребляемой мощности и ограничений по площади кристалла могут так- также быть частью проектных работ в этой области. Поскольку выполнение проекта становится все более и более детальным, временные описания и ограничения также могут стать более детальными, возможно во всех трех областях. Схемотехнический уровень в поведенческой области опи- описывает поведение проекта в терминах электрических потен- потенциалов и токов, используя дифференциальные уравнения. В структурной области он описывает структуру проекта в тер- терминах таких компонентов схемы, как транзисторы, диоды, резисторы и конденсаторы. В физической области имеются два действия, доминиру- доминирующие в проекте СБИС. Сначала это получение эскиза топо- топологии схемы в терминах приблизительных конфигураций и их размещения. Во вторых, детализация ячеек определяет точную геометрию и размещение компонентов. Эта модель представления проекта также служит как модель синтеза проекта, используя многоуровневые абстракции в трех областях описания, определенных ранее. В пределах этой модели синтез проекта определяется одним из вариантов: • преобразование проекта из поведенческой области к структурной области; • преобразование проекта из структурной области к физи- физической области; или • преобразование проекта с более высокого уровня абстрак- абстракции в одной области к более низкому уровню абстракции в этой же самой области или в другую область. Этот процесс пошагового преобразования означает, что может быть много структурных реализаций для отдельного поведения и много физических реализаций для каждой структуры, но для данного физического исполнения имеется немного соответствующих ему структур, и для данной структуры есть немного соответствующих поведенческих описаний.
130 Глава 3. Проектные процедуры В более привычных терминах, синтез проекта СБИС — процесс трансляции описания высокого уровня абстракции из поведенческой области к уровню описания в физической области. Этот процесс синтеза включает трансляцию и фор- формирование межобластных связей от поведенческой к струк- структурной и далее к физической области, а также добавление достаточного числа дополнительных деталей, чтобы произ- произвести описание низкого уровня из высокого уровня. Таким образом, конечная цель синтеза состоит в том, чтобы произ- произвести описание проекта в физической области на уровне, ко- который будет осуществлен в аппаратных средствах. Рис. 3.5 показывает некоторые примеры задач синтеза конкретного проекта. Поведенческое АлгоритмыПХ. \ Регистровые передачи Структурное АЛУ, регистры Элементы ячеек Ячейки Планирование кристалла Физическое Рис. 3.5. Задачи синтеза Первой задачей является трансляция с высокого уровня абстракции в поведенческой области к более низкому уров- уровню абстракции в этой же самой области. Второй задачей яв- является трансляция от поведенческой области до структур- структурной области на том же самом уровне абстракции. Третья за- задача определена подобно, но включает структурную и
3*2. Математические модели 131 физическую области. Все три задачи — пошаговые трансля- трансляции в том смысле, что, например, для данного набора реги- регистровых передач (поведенческая область) есть много наборов АЛУ, мультиплексоров, регистров, и т. д. (структурная об- область), которые могут использоваться, чтобы определить аб- абстрактное выполнение этих регистровых передач. Выбор од- одной из этих многих альтернатив реально может быть осуще- осуществлен только с помощью экспертных систем. Следует особо подчеркнуть, что любой шаг в процессе проектирования, как в пределах одной области описания, так и между областями требует применения соответствую- соответствующего алгоритма или экспертной системы. После определе- определения структуры проектируемого объекта необходимо разра- разработать его математическую модель. 3.2. Математические модели Математической моделью называют совокупность ма- математических объектов в виде чисел, множеств, векторов и связей между ними, которая отражает существенные с точки зрения проектировщика свойства изучаемого объ- объекта. На каждом этапе проектирования различают математи- математические модели элементов и систем. Математические модели систем, получаемые непосредственным объединением мате- математических моделей элементов в общую систему уравнений, называются полными математическими моделями. Пример. VR = Ш, Uс = - lidt, Uг = L —. С J dt e(t) = iR + - \idt + L — . С J dt Рис. 3.6. Последовательный резонансный контур и его математическая модель
132 Глава 3. Проектные процедуры Примечание. Если к индуктивности подключить дополнительно Д'С'-цепочку и для нее записать полную математическую модель, то совместно с предыдущим уравнением математи- математической моделью этой двухконтурной системы будет система обыкновенных дифференциальных уравнений. Математические модели, более простые по сравнению с полными с точки зрения затрат машинного времени и па- памяти при их использовании, называются макромоделями. Примечание. Часто макромодель определяют как ап- аппроксимацию полной математической модели. Пример. выход Рис. 3.7. Двухкаскадный широкополосный усилитель Для расчета динамического режима работы этого усили- усилителя можно использовать простую схему (макромодель). 0— ВХОД ВЫХОД Рис. 3.8. Макромодель усилителя
3.2. Математические модели 133 (Реальное) -> t Рис. 3.9. Эпюры напряжений на входах и выходах схемы и макромодели Если сигналы на выходах усилителя и макромодели сов- совпадают с нужной точностью, то схемой макромодели можно пользоваться для расчета импульсных характеристик уси- усилителей. 3.2.1. Классификация математических моделей Для теории математического моделирования необходимо знать цель моделирования и представить в математическом виде объект моделирования. Слово «модель» происходит от
134 Глава 3. Проектные процедуры латинского modus (копия, образ, очертание). Наиболее про- простым и наглядным примером моделирования являются гео- географические и топографические карты. Моделями являются структурные формулы в химии. Модель как средство позна- познания стоит между логическим мышлением и изучаемым про- процессом, явлением. Моделирование — это замещение некоторого объекта А другим объектом В. Замещаемый объект называется ориги- оригиналом, замещающий — моделью. Таким образом, модель — это заместитель оригинала. В зависимости от цели замеще- замещения модель одного и того же оригинала может быть различ- различной. В науке и технике основной целью моделирования яв- является изучение оригинала при помощи более простой его модели. Замещение одного объекта другим имеет смысл только в случае их определенного сходства, аналогии. Математическая модель является приближенным, выраженным в математических терминах, представлением объектов, концепций, систем или процессов. Объекты, кон- концепции, системы или процессы, подлежащие моделирова- моделированию, называют объектами моделирования (ОМ). Все объекты и явления в большей или меньшей степени взаимосвязаны, но при моделировании пренебрегают боль- большинством взаимосвязей и объект моделирования рассматри- рассматривают как отдельную систему. Если объект моделирования определен как отдельная система, то необходимо ввести принцип селективности, обеспечивающий выбор требуемых связей с внешней средой. Например, при моделировании электронных схем пренебрегают тепловым, акустическим, оптическим и механическим взаимодействием с внешней средой и рассматривают только электрические переменные. Принцип селективности вводит в систему ошибку, т. е. раз- разницу в поведении модели и объекта моделирования. Сле- Следующим важным фактором моделирования является прин- принцип причинности, связывающий в системе входные и вы- выходные переменные. Для количественной оценки системы вводят понятие «состояния». Например, под состоянием электронной схемы понимают значения напряжений и токов в электронной схе- схеме в данный момент времени.
&2. Математические модели 135 При выводе математической модели аналитически чаще всего используются широко известные категории: законы, структуры и параметры. Если какая-либо переменная величина у зависит от другой переменной х, то первая величина является функцией второй. Эта зависимость записывается в виде у = f(x) или у = у{х). В такой записи переменная х называется аргументом. Важной характеристикой функции является ее производная, процесс нахождения которой называется дифференцированием. Урав- Уравнения, которые по математическим правилам связывают неиз- неизвестную функцию, ее производные и аргументы, называются дифференциальными. Процесс, обратный дифференцирова- дифференцированию, позволяющий по заданной производной найти саму фун- функцию, называется интегрированием. Рассмотрим частный случай, когда функцией является путь, зависящий от аргумента — времени. Тогда производ- производная пути по времени — это скорость, а производная от ско- скорости (или вторая производная от пути) — ускорение. Если известна, например, скорость, то интегрированием находят путь, пройденный телом при движении за определенное вре- время. Если известно только ускорение, то для нахождения пути операцию интегрирования производят дважды. При этом после вычисления первого интеграла становится изве- известной скорость. Конечная цель создания математических моделей — установление функциональных зависимостей между пере- переменными. Функциональная зависимость для каждой конк- конкретной модели может принимать строго определенный вид. Когда моделируется устройство, на вход которого поступает сигнал х, а на выходе появляется сигнал у, то связь можно записать в виде таблицы. Для этого весь диапазон измене- изменения входного и выходного сигналов разбивается на некото- некоторое число участков. Каждому участку диапазона изменения входного сигнала будет соответствовать определенный учас- участок диапазона изменения выходного сигнала. В сложных си- системах, где имеется несколько входов и несколько выходов, аналитические зависимости выражаются системами диффе- дифференциальных уравнений. * Законы обычно формулируются для частных областей, Как, например, законы Кирхгофа, Ньютона. Применение
136 Глава 3. Проектные процедуры этих законов к системе обычно фокусирует наше внимание на единственной области науки и техники. Используя зако- законы Кирхгофа и уравнения Максвелла для анализа электри- электрической системы, исследователь игнорирует другие (напри- (например, тепловые) процессы в системе. Создание математической модели требует знания присут- присутствующих в системе элементов и их взаимосвязей. Парамет- Параметрами математической модели (ММ) являются входящие в системы уравнений различные коэффициенты. Эти ко- коэффициенты вместе с уравнениями и граничными условия- условиями образуют законченную ММ. Любую математическую модель можно получить в результате: 1) прямого наблюдения явления, прямого его изучения и осмысливания (модели являются феноменоло- феноменологическими); 2) некоторого процесса дедукции, когда новая модель получается как частный случай из некоторой более общей модели (такие модели называются асимптотически- асимптотическими); 3) некоторого процесса индукции, когда новая модель является естественным обобщением элементарных моделей (такие модели называются составными, или моделями ан- ансамблей). Все системы существуют во времени и в пространстве. Математически это значит, что время и три пространствен- пространственные переменные могут рассматриваться в качестве незави- независимых переменных. Существует много признаков классификации математи- математических моделей по признаку использования тех или иных переменных в качестве независимых, представленных в не- непрерывной или дискретной форме; ММ классифицируют следующим образом: 1) модели с распределенными параметрами (все независи- независимые переменные берутся в непрерывной форме); 2) модели с сосредоточенными параметрами (все независи- независимые пространственные переменные дискретные, а вре- временная переменная непрерывна); 3) модели с дискретными параметрами (все независимые переменные берутся в дискретной форме). На рис. ЗЛО, а...ж показана примерная классификация моделей. Все модели можно разделить на вещественные и идеальные (рис. 3.10, а). В данной главе рассматриваются
3.2. Математические модели 137 только идеальные модели, которые объективны по своему содержанию (отражая реальную действительность), но субъ- субъективны по форме и не могут существовать вне ее. Идеаль- Идеальные модели существуют лишь в познании людей и функцио- функционируют по законам логики. К логическим моделям относят- относятся различные знаковые модели. Существенным моментом создания любой знаковой модели является процедура фор- формализации (формулы, алфавит, системы счислений). В настоящее время в ряде областей науки и техники по- понятие модели трактуется не в духе классической физики, как наглядная, например, механическая система, а в духе современного этапа познания как абстрактная логико-мате- логико-математическая структура. В современном моделировании наряду с возрастанием в познании роли абстрактно-логических моделей существует другая тенденция, связанная с широким применением ки- кибернетических функционально-информационных моделей. Своеобразие кибернетического моделирования состоит в том, что объективное сходство модели и моделируемого объ- объекта касается только их функций, областей применения, связи с внешней средой. Основа информационного подхода к изучению кибернетических процессов — абстрагирование. Рассмотрим модели, которые имеют место в САПР БИС: структурные, функциональные, геометрические, знаковые, мысленные, аналитические, численные и имитационные. Структурные модели воспроизводят состав элементов объекта или системы, их расположение в пространстве и ^взаимосвязи, т. е. структуру системы. Структурные модели могут быть и вещественными (макеты), и идеальными (на- | пример, машиностроительные чертежи, топология печатной I платы и топология ИС). | Функциональные модели имитируют только способ пове- |дения оригинала, его функциональную зависимость от I внешней среды. Наиболее характерным примером служат ! модели, построенные на концепции «черного ящика». В этих моделях удается воспроизвести функционирование t оригинала, полностью отвлекаясь от его содержимого и структуры, связывая с помощью математического соотноше- I ния различные входные и выходные величины.
138 Глава 3. Проектные процедуры Модели а Вещественные Натурные I Физи- Физические Матема- Математические 1 Идеальные Наглядные Знаковые Матема- Математические Натурный эксперимент Натурные модели Технический эксперимент Производственный эксперимент Физические модели Макеты Муляжи Кинема- Кинематические Динами- Гидравли Тепловые Электри- Световые Вещественные математические модели Т Аналоговые | | Структурные | | Цифровые | | Кибернетические Наглядные модели | Схемы I IКарты| [Чертежи] [Графики] |Гипотезы] [Представления] | Аналогии | Знаковые модели Символы Алфавит Упорядоченная запись Топологическая запись Графовая запись Сетевое представление Идеальные математические модели | В виде уравнений Имита- Имитационные В виде схем замещения Аналити- Аналитические Функцио- Функциональные Рис. 3.10. Общая классификация моделей (а), а также моделей натурных (б), физических (в), вещественных математических (г), наглядных (д), знаковых (е), идеальных математических (ж)
3.2. Математические модели 139 Геометрические модели отражают только структуру объ- объекта и имеют большое значение в связи с проектированием электронных систем. Эти модели, построенные на основе геометрического подобия, позволяют решать задачи, связан- связанные с оптимальным размещением объектов, прокладкой трасс на печатных платах и интегральных схемах. Знаковые модели представляют собой упорядоченную за- запись символов (знаков). Знаки взаимодействуют между со- собой не по физическим законам, а по правилам, установлен- установленным в той или иной области знаний, или, как принято гово- говорить, согласно природе знаков. Знаковые модели имеют в настоящее время чрезвычайно широкое распространение. Практически каждая область знаний — лингвистика, про- программирование, электроника и многие другие — выработала свою символику для описания моделей. Таковыми являются программы, схемы и т. п. Мысленные модели являются продуктом чувственного восприятия и деятельности абстрактного мышления. К мысленным моделям можно отнести известную планетар- планетарную модель атома Бора. Для передачи этих моделей их пред- представляют в виде словесного или знакового описания, т. е. мысленные модели могут фиксироваться в виде различных знаковых систем. Аналитические модели позволяют получить явные зави- зависимости необходимых величин от параметров и перемен- переменных, характеризующих изучаемое явление. Аналитическое решение математического соотношения является обобщен- обобщенным описанием объекта Численные модели характеризуются тем, что значения необходимых величин можно получить в результате приме- применения соответствующих численных методов. Все численные методы позволяют получить только частную информацию относительно искомых величин, поскольку для своей реали- реализации требуют задания конкретных значений всех парамет- параметров, входящих в математическое соотношение. Для каждой искомой величины приходится по-своему преобразовывать математическую модель и применять соответствующую чис- численную процедуру. Имитационные модели реализуются на ЭВМ в виде мо- моделирующих алгоритмов (программ), позволяющих вычис-
140 Глава 3. Проектные процедуры лять значения выходных переменных и определять новое состояние, в которое переходит модель при заданных значе- значениях входных переменных, параметров и исходного состоя- состояния модели. Имитационное моделирование в отличие от численного характеризуется независимостью моделирую- моделирующего алгоритма от типа информации, которую необходимо получить в результате моделирования. Достаточно универ- универсальной, гибкой и эффективной является математическая модель, которая представляется в абстрактной математиче- математической форме посредством переменных, параметров, уравне- уравнений и неравенств. В ММ входят следующие элементы: переменные (зависи- (зависимые и независимые); константы или фиксированные пара- параметры (определяющие степень связи переменных между со- собой); математические выражения (уравнения или/и нера- неравенства, объединяющие между собой переменные и параметры); логические выражения (определяющие различ- различные ограничения в математической модели); информация (алфавитно-цифровая и графическая). Математические модели классифицируют по следующим критериям: 1) поведению моделей во времени; 2) видам входной информации, параметров и выражений, составляю- составляющих математическую модель; 3) структуре математической модели; 4) типу используемого математического аппарата. Применительно к интегральным схемам можно предло- предложить следующую классификацию. В зависимости от характера свойств интегральной схемы математические модели делятся на функциональные и струк- структурные. Функциональные модели отображают процессы функци- функционирования объекта, эти модели имеют форму систем урав- уравнений. При решении ряда задач проектирования широкое при- применение находят математические модели, отображающие только структурные свойства проектируемого объекта; та- такие структурные модели могут иметь форму матриц, гра- графов, списков векторов и выражать взаимное расположение элементов в пространстве, наличие непосредственной связи в виде проводников и т. д. Структурные модели используют в том случае, когда задачи структурного синтеза удается
3.2. Математические модели 141 формализовать и решать, абстрагируясь от особенности фи- физических процессов в объекте. Пример: вход Рис. 3.11. Структурная модель инвертора (Ci = [1,2,100],^ = [2. 3,5] и т. д.) По методу получения функциональные математические модели делятся на теоретические и формальные. Теоретические модели получаются на основе изучения физических закономерностей, причем структура уравнений и параметры моделей имеют четкое физическое обоснование. Формальные модели получаются при рассмотрении свойств реального объекта как черного ящика. Теоретический подход позволяет получать более универ- универсальные модели справедливые для различных режимов ра- работы и для широких диапазонов изменения внешних пара- параметров. Ряд признаков в классификации связан с особенностями уравнений, составляющих математическую модель; в зави- зависимости от линейности или нелинейности уравнений модели делят на линейные и нелинейные. В зависимости от мощности множества значений пере- переменных модели делят на непрерывные и дискретные (рис. 3.12). В непрерывных моделях фигурирующая в них перемен- переменная непрерывна или кусочно-непрерывна. Переменные в дискретных моделях — дискретные вели- величины, множество которых счетно.
142 Глава 3. Проектные процедуры Рис. 3.12. Непрерывные и дискретные переменные По форме связи между выходными, внутренними и внешними параметрами различают модели в виде систем уравнений и модели в виде явной зависимости выходных па- параметров от внутренних и внешних. Первые из них называ- называются алгоритмическими, а вторые — аналитическими. В зависимости от того, учитывают ли уравнения модели инерционность процессов в объекте проектирования, разли- различают модели динамические и статические. Математические модели предъявляют общие требования точности, экономичности, универсальности. Точность ММ — это ее свойство, отражающее степень совпадения предсказанных с помощью моделей значений параметров объекта с истинными значениями этих парамет- параметров. Количественная оценка точности модели вызывает за- затруднения по следующим причинам: 1) Реальные объекты и их модели характеризуются не одним, а несколькими параметрами, отсюда вытекает век- векторный характер оценки точности и необходимость сведения векторной оценки точности и скалярной для возможности сопоставления моделей друг с другом. 2) Модели сравниваются для многократного использова- использования при анализе разных вариантов объекта проектирования или многих типов объектов определенного класса. Напри- Например, математическая модель транзистора применяется при анализе транзисторных схем разных типов, с транзисторами разных марок и т. д. Поскольку характер проявления тех
3.2. Математические модели 143 или иных свойств объекта зависит от особенностей взаимо- взаимосвязи объекта с внешней средой и другими объектами систе- системы, то и показатели отображения этих свойств в математи- математической модели будут зависеть от конкретных условий функ- функционирования объектов. В результате оценка точности перестает быть однозначной. 3) Истинные значения параметров объекта проектирова- проектирования отождествляются с экспериментально полученными, од- однако погрешности эксперимента во многих случаях оказы- оказываются соизмеримыми с погрешностями математической модели, а иногда заметно их превышают. Для получения значений близких к истинным с помощью более точных ма- математических моделей, чем испытуемые, требуется наличие такой более точной модели, что выполняется не всегда. Сведение векторной оценки к скалярной осуществляется двумя путями: Пусть объект характеризуется параметрами: т; yijy j = 1,2, ... ,m. А значения тех же параметров, полученные при испыта- испытании моделей, — ymj. Образуем векторы относительных погрешностей / ч У}~ Уmj е =(е1,82,...,Б|Л), где s = -^ L . У} Для оценки точности будем использовать или т-норму (максимальный по абсолютной величине элемент вектора: 8max = max |е;-|, где j = \...т) или 1-норму: Для того чтобы уменьшить влияние неопределенности, вызываемое вторым фактором, целесообразно проводить сравнение моделей по результатам их использования в неко- некоторых стандартных ситуациях. Эти ситуации называются тестовыми, ограниченное количествово тестовых ситуаций упрощает исследования с целью получения значений у, до- достаточно близких к истинному (рис. 3.13). Экономичность математических моделей в САПР опре- определяется прежде всего затратами машинного времени на
144 Глава 3. Проектные процедуры вход Рис. 3.13. Пример тестовой схемы для сравнения программ схемотехнического моделирования решение задач, ее можно также оценивать количеством арифметических операций, выполняемых при однократной реализации уравнений моделей. Кроме того, показателем экономичности математической модели может служить также количество используемых в ней внутренних пара- параметров. Степень универсальности определяется ее применимо- применимостью к анализу достаточно большой группы однотипных объектов в одном или нескольких режимах работы. Требо- Требование высокой точности, большой степени универсальности с одной стороны и высокой экономичности с другой проти- противоречиво, поэтому для одного и того же элемента необходи- необходимо иметь несколько математических моделей, различаю- различающихся значениями показателей эффективности. 3.2.2. Компонентные и топологические уравнения (на этапе схемотехнического проектирования) На данном этапе проектирования для получения матема- математической модели используется теоретический подход. При этом первым этапом моделирования будет выделение элемен- элементов путем разбиения общей структуры системы на отдельные
3.2. Математические модели 145 участки, а вторым — переход к усредненным в пределах уча- участка значениям параметров и фазовых переменных. Ранее было выделено понятие выходных, внутренних и внешних параметров. Математические модели, в которых фигурируют входные, выходные, внутренние параметры, относят к классу аналитических математических моделей. В общем же случае уравнения математической модели связывают физические ве- величины, которые характеризуют состояние объекта, но не от- относятся к выходным, внутренним или внешним параметрам, например, [/, I, Q в электрических системах [1.6]. Эти величины называются фазовыми переменными. Век- Вектор фазовых переменных задает точку в пространстве, кото- которое называется фазовым пространством. Обычно при состав- составлении математической модели в получающихся уравнениях фигурируют не все фазовые переменные, а только часть из них, достаточная для однозначной идентификации состоя- состояния объекта. Эти фазовые переменные называются базисны- базисными координатами и обозначаются вектором v. Через базис- базисные координаты могут быть вычислены и все основные фа- фазовые переменные. Тогда в общем случае объекта с сосредоточенными параметрами его модель можно предста- представить в следующем виде: 4 =0, C.1) где v — базисные координаты, а1? — вектор-функция. Параметры компонентов X также входят в модель, но то- только в качестве коэффициентов для переменных. Например, для электронной схемы фазовыми переменными будут на- напряжения U и токи /, а коэффициенты при них определяют- определяются через внутренние параметры R> L, С и др. Возможны раз- разные способы выбора базисных координат из общего числа фазовых переменных. В большинстве программ анализа электронных схем в качестве базисных координат использу- используются переменные состояния, величины которых непосредст- непосредственно характеризуют запасы энергии в компонентах систе- системы и т. п. (емкостные С/, индуктивные /). Исходными уравнениями для получения математиче- математической модели элементов являются уравнения предыдущего
146 Глава 3. Проектные процедуры уровня. Усреднение значений параметров и фазовых пере- переменных заключается в замене частных производных 5Ф _ Фх - Ф2 Cв2) дх I на разностное отношение, где I — длина участка в направле- направлении оси х, а фх и ф2 — значения фазовых переменных на гра- границе участка. В простейших элементах связи между фазо- фазовыми переменными выражаются в трех видах: и ~ Ф1 ~~ Ф2 = 9 () dt dI — = 9i ~Ф2> dt где / — фазовая переменная типа потока, а ф — фазовая пе- переменная типа потенциала. Эти уравнения называются ком- компонентными уравнениями. Полные математические модели систем получают объе- объединением математических моделей элементов в общую сис- систему уравнений. Такое объединение осуществляется на основе физических законов, выражающих условия равнове- равновесия и непрерывности фазовых переменных. Уравнения этих законов называются топологическими уравнениями. Форма компонентных и топологических уравнений одинакова для многих систем различной физической природы. Это обстоя- обстоятельство обуславливает наличие аналогий между разнород- разнородными физическими системами, что позволяет рассматривать вопросы моделирования различных технических объектов с общих позиций. Применим это общее положение к электронным схемам. и=Ш, /=^>, ff = «H>, C.4) dt dt где / — ток, U — напряжение, С — емкость, L — индуктивность.
3.2. Математические модели 147 Если С и L = const, то I =C —, U=L—. C.5) При соединении элементов между собой образуется структура, состоящая из ветвей и узлов. Топологическое уравнение записывается относительно узлов и контуров, имеющихся в системе. Роль топологических уравнений вы- выполняют уравнения законов Кирхгофа ZI =0, УС/. =0. C.6) I 7 ?^j I V / i / Первый закон записывается для узлов, второй закон — для контуров. По общей теории 1-ый закон представляет разновидность уравнения равновесия, а 2-ой закон — разно- разновидность уравнения непрерывности. Примечание: Сложные многополюсные элементы, транзисторы, тирис- тиристоры и другие делят на элементарные участки с последую- последующим представлением каждого элемента простейшими двух- двухполюсниками. 3.2.3. Различные формы математических моделей Наиболее частый случай представления математической модели электронной схемы — представление в виде системы ОДУ в неявной форме: О, C.7) где v — вектор базисных координат, *F = {Ч^, Ч^, ••• > ^п) — вектор-функция. По существу эта система представляет собой совокуп- совокупность компонентных и топологических уравнений. В раз- различных методах моделирования по-разному выбирают сово- совокупность исходных топологических уравнений и систему ба- базисных координат. В результате получают и различные по свойству математические модели. Одной из распространен- распространенных форм является форма Коши:
148 Глава 3. Проектные процедуры ^ =F{v,t), C.8) at в которой производная вектора базисных координатах явно выражена через вектор базисных координат. Форма Коши удобна для применения большинства методов численного интегрирования, однако сама она получается по сложному алгоритму. Эти математические модели предназначены для решения задач анализа переходных процессов. Если в них положить — = 0, то получим F(v) = О, C.9) dt которая трактуется как система алгебраических и трансцен- трансцендентных уравнений и используется для анализа статическо- статического режима работы электронных схем. В частном случае линейных объектов система линейна и может быть записана в виде — =Bv + DU, C.10) dt где В и D — матрицы с постоянными элементами, U — век- вектор источника. При анализе частотных характеристик В, D постоянны, внешнее возбуждение подается только на один вход. В соот- соответствии с преобразованием Фурье система приводится к виду j(ov(jd}) = Bv(jo) + DU(j®)9 C.11) где со — частота , a j - V-1. Имеет место система линейных уравнений с комплекс- комплексными переменными, которая и является математической моделью при частотном анализе. Наиболее важные требования, предявляемые к методам моделирования: • возможность формализации получения систем ОДУ из исходных компонентных и топологических уравнений, так как данная формализация является основой автома- автоматического получения уравнений с помощью ЭВМ.
3.2. Математические модели 149 • получение эффективных математических моделей с точ- точки зрения затрат машинных ресурсов; • универсальность метода, то есть применимость к доста- достаточно широкому классу электронных схем. Для моделирования электрической схемы применяют следующие методы: узловых потенциалов, контурных то- токов, переменных состояния, а также табличный метод, в ко- которых математическая модель представляет собой систему исходных, топологических и компонентных уравнений, не подвергшихся никаким преобразованиям. 3.2.4. Математическая модель на этапе схемотехнического проектирования Основное отличие методов заключается в составе вели- величин, выбирающихся в качестве переменных. Эти перемен- переменные относятся к определенным категориям соединений электрической схемы (ветви, контуры или узлы). Метод контурных токов Этот метод состоит в выделении в схеме k независимых контуров и протекающих по ним токов jk и присваивании каждому току определенного направления. Эти токи приме- применяются в качестве независимых переменных. Для их опреде- определения составляют уравнения Кирхгофа для каждого контура: Zllh Z2lh = Е1 22kJk = /о где j - токи, k - число независимых контуров. В матричной форме nZ-i о • • • %ЛЬ 2\ Z2k kk h E'k C.13) kj
150 Глава 3. Проектные процедуры или Zj = E\ C.14) где Z — разреженная матрица контурных сопротивлений [ft х ft], диагональные элементы матрицы — собственные со- сопротивления, остальные — взаимные сопротивления ?-го контура для у-го контура. Метод узловых потенциалов Здесь независимыми переменными являются потенциа- потенциалы фл относительно некоторого базисного (опорного) узла. Уравнения для определения потенциалов составляются по первому закону Кирхгофа для каждого узла: C.15) В матричном виде: Ynl ... Yn <Pi ( Т' C.16) или Уф-Г, C.17) где У — матрица узловых проводимостей порядка [ft x ft], диагональные элементы матрицы — собственные проводи- проводимости узлов, равные сумме проводимостей компонентов, связанных с данным узлом, остальные — взаимосвязанные проводимости. Оба метода составления ОДУ приводят в общем случае к системе ОДУ, не разрешенных относительно производных, а многие численные методы решения систем ОДУ требуют представления в форме Коши. Метод переменных состояния Основная идея метода заключается в следующем. Извест- Известно, что переходные процессы в любой электрической цепи, содержащей реактивные элементы С и L, описываются диф- дифференциальным уравнением п-то порядка, где п — число не- независимых начальных условий, равное числу независимых
3.2. Математические модели 151 начальных запасов энергии в схеме. Так как энергия запа- запасается в реактивных элементах схемы (С, L), то порядок дифференциальных уравнений равен сумме числа емкостей С с независимыми начальными зарядами Q и числа индук- тивностей L с независимыми начальными потокосцеплени- ями *Р. Величины Q и Ч* определяют все степени свободы схемы, поэтому их можно выбрать в качестве независимых переменных состояния, так как эти величины полностью определяют состояние схемы как в текущий момент време- времени, так и во все последующие (рис. 3.14). Поскольку Q = CUC иЧ/ = LiL, то полагая, что емкости и индуктивности постоянны, будем считать независимыми пе- переменными Uc и iL. dUr dU j=k+i C.18) + Z Ьц% +Vn Такое же соотношение имеется и для индуктивностей. К \7 C-t Рис. 3.14. Иллюстрация метода переменных состояния Дифференциальные уравнения n-го порядка, описываю- описывающее переходные процессы в электронной схеме, эквивалент- эквивалентны п дифференциальным уравнениям 1-го порядка, относи- относительно Uc> iL.
152 Глава 3. Проектные процедуры В матричной форме: X = — = АХ + BV, dt C.19) где X — вектор-столбец независимых переменных состоя- состояния X=(UCi,Uc2>-->UCk,iLk+riLk+2,...,iLn), C.20) А — квадратная матрица коэффицентов, V — вектор-столбец сигналов. Уравнения, входящие в систему C.19), называются урав- уравнениями состояния. Выбор независимых переменных Uc и iL приводит к ОДУ в форме Коши, которые позволяют анали- анализировать как линейные, так и нелинейные системы в стати- статическом и динамическом режимах на основе численных мето- методов интегрирования. Если выходными величинами являют- являются переменные состояния ?/с, iL, то их находим из системы C.19). В противном случае необходимы дополнительные условия, которые выражают YBbIX, как линейную комбина- комбинацию переменных состояния и сигналов: Увых = СХ + DV, C.21) где Y — вектор системы выходных величин, С и D — матри- матрицы коэффициентов, выраженные через параметры компо- компонентов схем. Рис. 3.15. Пример схемы для иллюстрации метода переменных состояния
3.2. Математические модели 153 Воспользовавшись законами Кирхгофа: dt di dt L _ = UC- R2iL C.22) в матричном виде эту систему можно записать: \х = АХ + BV = СХ + DV, C.23) где X = и( вектор переменных состояния, У = UR — вектор выходной величины, V = I(t) — вектор сигналов, А, В, С, D — матрицы коэффицентов: А = 1 ДХС С С |, С = (О, Й2), D = @). C.24) 0, Полагая —— = —— = 0, a I(t) = const, получим систему dt dt алгебраических уравнений для расчета статического режи- режима: •^-i,+/=0 IUс - iLR2 = 0. C.25) Метод переменных состояния используется в большинст- большинстве пакетов прикладных программ для анализа БИС на этапе схемотехнического проектирования.
154 Глава 3. Проектные процедуры 3.2.5* Макромодели По назначению макромодели делят на факторные и фазо- фазовые. 1) Факторная модель предназначена р,яя использования на следующем более высоком уровне проектирования, при этом переменными являются величины той же физической природы, что и в полных математических моделях следую- следующего уровня. Факторные математические модели обеспечи- обеспечивают наличие необходимых информационных связей между разными уровнями проектирования, при этом на каждом уровне проектирования получаются обоснованные значения параметров элементов этого уровня благодаря макромодели- макромоделированию на предыдущем уровне. 2) Фазовое моделирование используется на том же уров- уровне, на котором оно получается. Служит для сокращения раз- размерности задач данного уровня путем замены данного уров- уровня макромоделью. Переменными являются величины той же физической природы, что и математическая модель пол- полного уровня. Задача получения макромодели состоит из следующих шагов: • определение структуры модели; • определение численных значений параметров модели. На практике чаще пользуются не математическими соот- соотношениями, а эквивалентными схемами, где физический смысл более ясен. Учитывая, что эквивалентные схемы и математические соотношения имеют однозначное соответст- соответствие, можно отождествлять структуру математической моде- модели со структурой эквивалентной схемы. Задача определения структуры трудно поддается формализации. Определение численных значений решается формальными методами: мо- моделирование, оптимизация. Эта задача ставится следующим образом. При определенной структуре модели требуется рас- рассчитать внутренние параметры так, чтобы в заданном диа- диапазоне изменения внешних параметров отличия выходных параметров макромодели от выходных параметров схемы были минимальными.
3.2. Математические модели 155 Примечание. Существуют и другие признаки классификации матема- математических моделей. Например, макромоделирование без уче- учета разброса параметров называется детерминированным, а с учетом — статистическим. 3.2.6. Математическая модель на этапе логического проектирования При логическом проектировании используется раздел математики «Алгебра логики». В нем изучается отношение между двузначными величинами, т. е. величинами, которые могут принимать одно из двух возможных значений A,0) и соответствуют понятиям (истина, ложь). Подобные величины можно отождествлять с разного рода высказываниями, если высказывание представляет факт их истинности или ложности. Эти величины называ- называются булевыми переменными, а операции над ними выра- выражаются булевыми функциями, которые могут принимать значения только из множества A,0). Булевые функции могут выражать часто встречающиеся в технике высказывания. Например, ТЗ выполнено, если выполнены все п условий работоспособности. Выполнение ТЗ обозначается: Y(T3), выполнение условия Xi9 i = 1, ..., п. Можно заметить, что Y есть функция аргументов Xt. В дан- данном случае имеют дело с булевой функцией, называемой конъюнкцией. Поэтому У = Х1лХ2л.,.лХга принимает значение 1 тогда, когда все аргументы истинны. К основным булевым функциям, кроме конъюнкции, относят дизъюнк- дизъюнкцию, инверсию. Y = Хг v X2 v ... v Xn принимает значение 1, если значение 1 принимает хотя бы один из Xt. Операция отрицания одноместна. Хх = Xl9 всегда принимает значение, противоположное аргументу (рис. 3.16-3.18). Рис. 3.16. Конъюнкция
156 Глава 3. Проектные процедуры Y Е а б Рис. 3.17. Дизъюнкция (а) и инверсия (б) Пример: И-НЕ И-НЕ И-НЕ И-НЕ Рис. 3.18. Комбинационная схема из элементов 2И-НЕ Математической моделью этой логической схемы являет- является система булевых уравнений е = а л Ъ f = е л с h = /л g — cl Л C.26) Подобные системы являются простейшими и не учитыва- учитывают временные задержки и различные помехи. С ростом сложности схемы число переменных в выражениях и число самих выражений соответственно увеличивается. Для автоматизации этапа логического проектирования необходимо программное обеспечение, позволяющее осуще- осуществлять анализ поведения БИС при заданном наборе тестов.
3.2. Математические модели 157 Наиболее часто при этом используется троичная логика (О, 1, X), где третье состояние (X) описывает, во-первых, переходное состояние ЛЭ с момента переключения его выхо- выхода до момента установления стационарного состояния на вы- выходе и, во-вторых, состояние статической неопределенности, возникающее на выходе ЛЭ вследствие отсутствия информа- информации о порядке переключения его входов. Недостаток этого метода состоит в том, что невозможно учесть влияние фрон- фронтов переключения ЛЭ и взаимодействие ЛЭ при их подклю- подключении к информационной магистрали. Следовательно, необ- необходимы методы детального описания переходных процессов в схемах, с помощью которых должны выявляться все слу- случаи появления статических и динамических рисков сбоя и состязаний сигналов. Для реализации этой цели используют аппарат много- многозначной логики, вводя новые логические состояния для опи- описания поведения ЛЭ в состоянии переключения сигнала. Это позволяет применять разработанные ранее программные средства моделирования при замене двоичных таблиц ис- истинности их многозначными аналогами. Однако это приво- приводит к значительному усложнению моделирования, лишь в незначительной степени повышая точность описания дина- динамических процессов. Одной из важных задач, которые приходится решать на данном этапе проектирования, является выбор мате- математической модели ЛЭ. При разработке модели необходимо учесть требования, определяемые совместимостью создавае- создаваемого программного обеспечения с другими подсистемами САПР БИС: возможность описания характеристик модели средствами входного языка, возможность представления мо- модели ЛЭ в рамках установленной внутренней структуры дан- данных, алгоритмическая совместимость на этапе анализа. Сис- Система должна обеспечить визуализацию исходной инфор- информации для моделирования ЛЭ и результатов в установленных объеме и форме представления; информация о модели не дол- должна превышать ресурсы ЭВМ. Получают распространение иерархические модели, в ко- которых отдельно описываются логическая и формирующая части. Формирующая часть модели устанавливает, какие переключения и в какие моменты времени произойдут на
158 Глава 3. Проектные процедуры выходе ЛЭ в процессе перехода его из текущего состояния в конечное, определяемое логической частью модели, т. е. де- делается прогноз поведения выхода. Формирование прогноза происходит на основании динамических характеристик мо- модели. При этом из всей информации о входном сигнале эле- элемента используется лишь время достижения сигналом поро- порогового значения. Предполагается, что дальнейшее поведение ЛЭ не зависит от изменения сигнала на его входе. Допускается неограниченное усложнение логической ча- части модели при условии, что это не влияет на ее остальные части. Описание модели ЛЭ возможно тремя способами. При табличном способе задания всякое увеличение значности ло- логики приводит к резкому увеличению объема таблиц истин- истинности, поскольку число возможных состояний на входе ЛЭ равно N в степени ft, где k — значность логики, N — число входов элемента. Описание логической части с помощью бу- булевых функций позволяет сравнительно просто дополнить логические операции арифметическими. Однако наиболь- наибольшие возможности для моделирования открывает алгоритми- алгоритмическое описание ЛЭ. При наличии специального входного языка описания алгоритмов возможно простое представле- представление сложных функциональных узлов БИС. После получения математической модели объекта проек- проектирования ее необходимо проанализировать с целью опреде- определения степени соответствия параметров модели требованиям спецификации. 3.3, Анализ математических моделей Понятие анализа включает выбор метода решения мате- математической модели объекта проектирования, алгоритма и его программной реализации. Результаты математического ана- анализа дают ответ на вопрос, какими свойствами обладает объ- объект проектирования, как хорошо он удовлетворяет требова- требования ТЗ. Программа анализа является основой пакета при- прикладных программ (ППП) любого назначения, т. к. последующие проектные процедуры сводятся к соответствую- соответствующим образом организованному многократному решению за- задачи анализа.
3.3. Анализ математических моделей 159 3.3.1. Особенности математических моделей А Высокая размерность Усложнение технических объектов выражается в размер- размерности математической модели и обычно характеризуется по- порядком соответствующей системы уравнений, порядками матриц и т. д. Наиболее удобной формой представления ма- математических моделей явилось их матричное представле- представление. Их распространение связано с компактностью представ- представления и удобством программирования матричных процедур для ЭВМ. Б. Разреженность матрицы в математической модели Разреженными матрицами называют матрицы, имеющие большое количество нулевых элементов. Разреженность матрицы оценивается отношением т0 — числа нулевых эле- элементов к общему числу элементов (д): S=^-. C.27) п Насыщенность матрицы определяются отношением т — числа ненулевых элементов к общему числу элементов: Р = — =1-S. C.28) п Причина сильной разреженности матрицы заключена в характере связи компонентов объектов проектирования друг с другом. Каждый компонент может быть представлен од- одним или несколькими моделями в матрицах, им соответст- соответствуют определенные строки и столбцы. На пересечении будут ненулевые элементы, если эти компоненты связаны иначе будут нули. Учет разреженности заключается в невыполне- невыполнении тех арифметических операций, результат которых зара- заранее известен. В. Жесткость систем уравнений Первая причина, приводящая к жесткости (плохо обу- обусловленным системам), связана со свойствами проектируе- проектируемого объекта. Например, в схеме на фоне медленно проте- протекающих процессов в заранее неизвестных коротких интер- интервалах появляется сигнал. Тогда исследование процессов
160 Глава 3. Проектные процедуры должно проходить с малыми шагами, определяемыми тре- требуемой точностью. Общая длительность переходных про- процессов велика. Таким образом, длительность времени шага определяется коротким импульсом, а их число — длитель- длительным импульсом. Вторая причина связана с учетом в математической мо- модели элементов ЛС-цепочек с резко различающимся посто- постоянными времени, но оказывающими несущественное влия- влияние на математическую модель. Примером подобной ситуа- ситуации может служить формирование математической модели в электронной схеме, когда стараются учесть все паразит- паразитные емкости и сопротивления, хотя их можно и не включать в схему. 3.3.2 Схемотехническое моделирование Анализ статического режима работы Этот анализ необходим для всех классов электронных схем, за исключением схем автогенераторов. Анализ стати- статического режима в малосигнальных усилителях позволяет определить рабочую точку на вольтамперной характеристи- характеристике транзистора, после чего возможно определение парамет- параметров малосигнальных эквивалентных схем и проведение дру- других видов анализа. В логических схемах анализ статических состояний сводится к расчету входных, выходных и переда- передаточных характеристик, по которым определяются уровни логического нуля и единицы, допустимые уровни помех, по- потребляемая мощность и т. д. Кроме того, статический ана- анализ предшествует анализу переходных процессов, задавая начальные условия для численного интегрирования систем ОДУ. Наибольшее распространение получили два подхода к ре- решению задачи анализа статического режима. Первый под- подход использует в качестве математической модели систему ОДУ ^ (,), C.29) dt где V — вектор базисных координат.
3.3. Анализ математических моделей 161 Е 95% Е 3RC Рис. 3.19. Иллюстрация первого подхода Численное решение этой системы при неизменных внешних воздействиях начинается с исходных базисных координат Vo и через промежуток tk приведет к стационар- стационарной точке, где — = 0. Эта точка будет решением, т. е. зада- dt ча анализа статического состояния может рассматриваться как частный случай анализа переходных процессов. Под- Подход к анализу статического режима через решение систем ОДУ имеет в САПР достаточно широкое распространение, т. к. с помощью одних и тех же методов проводится анализ статического и динамического режимов работы схем (рис. 3.19-3.20). Основной недостаток: требуется большое машинное время. Второй подход использует в качестве математической модели систему алгебраических и трансцендентных уравне- уравнений F(V) = 0. Данный подход требует меньших затрат ма- машинного времени. Оба подхода реализуются применением итерационных методов решения. В этих методах задаются начальные при- приближения Vo и выполняются ряд итераций. Если метод схо- сходится, то Vk -> У*, где Vk — текущее значение. Итерацион- Итерационные методы основаны на применении итерационной форму- формулы Vk+1 = Vk + AVk+1, C.30) где AVk+1 — поправка Vk+X на (&+1)-й итерации. Важно, чтобы итерационный процесс сходился к реше- решению задачи V*.
162 Глава 3. Проектные процедуры h h h h+i Рис. 3.20. Иллюстрация итерационного процесса Для каждого метода существуют свои условия сходимо- сходимости. Поэтому характеристикой метода также является его надежность, оцениваемая как вероятность получения реше- решения с заданной точностью. Такая вероятность зависит не то- только от метода, но и от особенностей математической моде- модели. Следовательно, надежность должна определяться отде- отдельно для каждого класса задач. Сравнение методов между собой нужно проводить по объему вычислений. Если сходи- сходимость имеет место, то важно, чтобы окрестность решения V* достигалась за малое число итераций при малом объеме вы- вычислений на каждой итерации. Для решения задачи анализа статических состояний схемы, когда ее модель задана в виде системы трансцендентных уравнений, поправка в формуле C.30) определяется следующим образом: C.31) где Hk — квадратная матрица. Итерационный процесс сле- следует прекратить после того, как текущая точка Vk окажется в заданной окрестности стационарной точки V : II V* - Vk || < с, ^ C.32) где || V" - Vk || — норма вектора V* - Vk. Воспользоваться этим условием практически нельзя, т. к. V* неизвестно, поэтому его заменяют условием II F(Vk) || < 5, C.33) где 5 — малое положительное число.
3.3. Анализ математических моделей 163 А. Метод простых итераций В этом методе Hk определяется наиболее просто — это диагональная матрица с элементами Л; на диагонали, и если все hj одинаковы и равны Л, то имеет место итерационная формула Vk+l = Vk + hF(Vk), C.34) которая совпадает с формулой метода Эйлера для численно- численного интегрирования систем ОДУ. В отличие от анализа пере- переходных процессов здесь представляет интерес только стаци- стационарная точка V', а не траектория в фазовом пространстве, которая проходит от Vo до конечной точки V . Основной недостаток: малая скорость сходимости к ре- решению. Преимущества — наличие сходимости. Пример: Дана система уравнений {*<*'"> = ° C.35) [F2(x,y) = 0. Требуется найти действительные корни этих уравнений с заданной точностью. Для применения метода эта система должна быть приведена к виду х = q>i(*, У) У = Ф2(*> У)> C.36) где ф1? ф2 — итерирующие функции. Алгоритм решения задается формулами \уп+1 = Ф2(*я»Уя), где п = 0, 1, 2, ... , п. C.37) Численный пример: {*;¦»;-*¦*-« ( I х3 - ys - 6у + 2 = 0.
164 Глава 3. Проектные процедуры Для нахождения положительных корней с тремя верны- верными знаками перепишем систему в виде х = ^~ + - = <Pi(*>J/) 6 2 C,39) Xs -уг 1 , , о о Начальное приближение: х0 = 1/2; у0 = 1/2 (подбирается из графических соображений). C.40) 6 1+1/8 + 1/8^ У1 3 6 В конце концов, после нескольких итераций приходим к х » 0,532, у « 0,333. C.41) Достигли необходимой точности и закончили итерации. Б. Метод Ньютона Высокая скорость сходимости обеспечивается теми же итерационными формулами, но матрица Hk — обращенная матрица Якоби: Vk+1 = - Я? F(Vk). C.42) Эта формула получится, если воспользоваться разложе- разложениями функции F(V) в ряд Тейлора в окрестности точки V*у и ограничиться только двумя первыми членами: = F(V) + ^^ AF. C.43) 8V * 8F(V) Обозначим AV = V - V и —^—- = Я и подставим в форму- 3V лу C.43). После подстановки получим формулу C.42) Из-за линеаризации F(V) при принятии допущения будет получено не точное решение V*, а лишь некоторое прибли-
3.3. Анализ математических моделей 165 жение. Если Vo — исходная точка, то Vx = Vo - Rq1F(V0), где Яо — матрица Якоби в точке Vo. Для fc+1-й итерации получим Vk+1 =Vk- Я?ЩУк). C.44) Для получения решения необходимо выполнить следую- следующие операторы: 1) Выбор VQ — начального приближения. 2) Вычисление матрицы Якоби в выбранной точке. 3) Решение системы линейных алгебраических уравнений ЯAF = -F(V) и определение вектора поправок AV. 4) Проверка условия прекращения итерационного про- процесса. 5) При невыполнении условия вычисляется новое при- приближение V := V + AV и осуществляется переход к опе- оператору 2. В противном случае V — результат решения задачи. Трудность вычислений в этом методе определяется эф- эффективностью алгоритмов для решения системы линейных алгебраических уравнений в операторе 3. Основной недостаток — трудно предсказать наличие или отсутствие сходимости. Повышение надежности метода при- привело к разработке многочисленных его модификаций. Алгоритм решения систем уравнений методом Ньютона приведен на рис. 3.21. Геометрическая интерпретация метода Ньютона показа- показана на рис. 3.22. Пример 1 — решение одного уравнения. Решим уравнение F(y) = у2 + у + 2 = 0. C.45) Матрица Якоби состоит из одного элемента: — =2у+1. C.46) Итерационная формула: Уп+i =Уп- B^71 V» + у» + 2)- C-47) Уо = 0; j/i = 2; у2 = 1V3; Уз = Wrr и т- Д-
166 Глава 3. Проектные процедуры Выбор начального приближения Vo Рис. 3.21. Алгоритм решения систем уравнений методом Ньютона F(V) п+1 Рис. 3.22. Графическая иллюстрация метода Ньютона Пример 2 — решение методом Ньютона системы из двух уравнений [3.4]. Ахм F(x, У) = 0] Хп+1 " Хп Щхп, уп) G(x, у) = 0J Лг/(г° C.48)
3.3. Анализ математических моделей 167 где Ах(п) = F(xn,yn) F'(xn,yn) и G(xn,yn) G'y(xn,yn) Я(х,у) = Fx{x,y) ¦ G'y(x,y) - F'(x,y) • G'x(x,y). Fx(xn,yn) F(xn,yn) G'x(xn,yn) G(xn,yn) C.49) Начальные значения определяются из графического ре- решения либо из технических соображений. Численный пример. F(x,y) = 2х3 - у2 - 1 = О, G(x,y) = хуг - у - 4 = 0. Графическим путем находим начальное приближение х0 я 1,2; у0 « 1,7. Вычисляем Я(л:0, у0): 8,64 -3,4 У3 2ху2 -: 4,91 9,4 « 97,910. По итерационным формулам: Xl = 1,2 - 97,910 97,910 -0,434 0Д956 8,64 4,91 -3,4 9,4 0,434 ОД 956 = 1,2 + 0,0349= 1,2349, = 1,7 - 0,0398 = 1,66, х2 = 1,2343; у2 = 1,6615 и т. д. В. Методы решения систем алгебраических линейных уравнений (ЛАУ, СЛАУ) При решении систем нелинейных и трансцендентных уравнений методом Ньютона требуется решение систем ЛАУ на каждой итерации. Затраты машинного времени и опера- оперативной памяти на решении подобных задач зависят в основ- основном от эффективности применения алгоритмов решения ЛАУ.
168 Глава 3. Проектные процедуры Пусть дана система ЛАУ с п неизвестными: а21хг + а22х2 + ... +а2пхп =Ь2 C.50) или в матричной форме АХ = В, А = ai} Если А не особенная, т. е. алл а19 ... а det А = 12 C.51) то система имеет единственное решение и значения неизве- неизвестных могут быть получены по формулам Крамера det det A C.52) где Aj получается заменой соответствующего столбца в мат- матрице А столбцом свободных членов Ъь. Такой способ приво- приводит к необходимости вычисления (п+1) определителей, что при больших п является весьма трудоемким. Обычно мето- методы решения СЛАУ делят на две группы — точные (прямые) и приближенные (итерационные). Точные — методы, кото- которые в предположении, что вычисления ведутся точно (без округления), приводят к решению. Приближенные — мето- методы, которые даже в предположении точности ведения реше- решения приведут к приближенному решению. Наиболее распро- распространенным из точных методов решения СЛАУ является ме- метод Гаусса. Основная идея заключается в последовательном исключении неизвестных из системы уравнений. В алгорит- алгоритмах решения СЛАУ методом Гаусса различают прямой и об- обратный ход. На k-й стадии производят исключение xk из уравнения k+1. 1-е уравнение остается неизменным. Так, на первой стадии при решении системы исключают неизвест- неизвестные х из уравнения со 2-го по п путем записи хг в явном виде из первого уравнения и последовательной подстановки
3.3. Анализ математических моделей 169 Xi во все последующие уравнения. На обратном ходе вычис- вычисляют корни системы уравнений. Анализ динамического режима работы электронных схем Анализ переходных процессов обычно сводится к реше- решению систем обыкновенных дифференциальных уравнений. Для машинного решения систем ОДУ применяются методы численного интегрирования, которые делятся на явные и неявные. В обоих случаях интегрирование систем dV J dV Л — = FCV, t) и F\ — , V, t = О заключается в вычислении зна- dt \dt ) чений вектора базисных координат V на конечном множест- множестве точек tk е [Тнач , Ткон ], где Тнач , Ткон — граничные зна- значения интервала интегрирования. Начало отсчета обычно совмещают с точкой Тнач , т. е. Тнач.= 0. В задаче анализа пе- переходных процессов задаются начальные условия — значе- значения элементов вектора V в момент t = 0: Vo = V@). Любой из численных методов позволяет по имеющимся уравнениям математической модели и начальным условиям предсказать значения вектора V в новой точке tx > 0. По вы- вычисленному значению F1(^1) можно определить V2(t2) и т. д. Этот процесс последовательных вычислений векторов базис- базисных координат продолжается до тех пор, пока выполняется условие tk < Ткок. Результаты решения представляются в виде зависимости V(t). Различие между методами численного интегрирования заключаются в способе предсказания Vk по известным Vk_ly а в общем случае и по Vk_2> Vk_s и т. д. Интервал между со- соседними точками интегрирования называется шагом h. К величине шага предъявляются следующие противоречи- противоречивые требования: с ростом h погрешность решения увеличи- увеличивается, а при маленьком h требуется много машинного вре- времени. При этом на погрешность решения оказывают влия- влияние такие факторы, как характер нелинейности
170 Глава 3. Проектные процедуры математической модели, так и виды внешних воздействий анализируемой системы. Оптимальный шаг — это когда обеспечивается минимум времени решения при обеспече- обеспечении необходимой точности. Эта величина существенно ме- меняется в пределах интегрирования из-за нелинейности ма- математической модели и из-за неодинаковой скорости изме- изменения V. Из рисунка видно, что можно ожидать большей погреш- погрешности в точке Vj(ts + Л), чем в точке Vffg + Л), если шаг оди- одинаков, т. к. в окрестности точки tg изменение Vj существен- существенно меньше, чем в окрестности точки ts. Следовательно, алго- алгоритмы численного интегрирования, применяемые для анализа переходных процессов САПР, должны быть алго- алгоритмами, в которых h выбирается автоматически в процессе решения. *. *, Рис. 3.23. Пример изменения фазовой переменной во времени А. Явные методы Явные методы применяются тогда, когда система ОДУ выражена в форме Коши. Для наглядного представления сути явных методов обычно пользуются разложением в ряд Тейлора Vj(t) в окрестности tk: d2VAtk) 9 C.53) где h = tk+l - tk и h — const.
3.3. Анализ математических моделей 171 Заменим производные отношеними конечных разностей, при этом в соответствии с формой записи системы ОДУ dV в виде — = F(V,t) получим dt = fj(Vh\ C.54) )_fi(Vk)-fj(Vk_1) dt2 C.65) где /; — это у-й элемент вектора правых частей F(Vyt). Под- Подставляя в C.53), получим , C.56) Vj(tk+1) = V}(**) + ai>i/;-(V*+i_,) • C.57) i = l В векторной форме Ё-«)- C.58) Величину р называют порядком метода интегрирова- интегрирования. Коэффициенты аь зависят от способа аппроксимации Примечание. Формула C.58) характеризует группу яв- явных разностных методов интегрирования. Особенность ее за- заключается в том, что Vk+1 выражены через уже известные величины. В правой части формулы интегрирования все ве- величины определены на предыдущих шагах, поэтому вычис- вычисление Vk+1 по C.58) отличается простотой и малыми затра- затратами машинного времени.
172 Глава 3. Проектные процедуры Пример: задаваяр = 1 в формуле C.58), можно получить простейший среди явных методов численного интегрирова- интегрирования — метод Эйлера: Vk+i = Vk + hF(Vk). C.59) Примечание. В САПР также применяются и методы вы- высоких порядков: Рунге—Кутта D-й порядок) и Адамса E-й порядок). Б. Неявные методы Запишем разложение в ряд Тейлора функции Vff) в сле- следующем виде: Viitk+1-h) = Viitk+1)-dVji**+l)h + ±d ^2fe+l)ft2 -...C.60) Далее, делая все так же, как и при выводе формулы C.58) приходим к следующему обобщению группы неявных формул интегрирования: Главное отличие формул C.58) и C.61) состоит в том, что здесь вектор базисных координат явно не выражен через уже известные величины. Действительно, при i = 1 в правой час- части формулы C.61) находится Vk+1. Следовательно, формула C.61) должна рассматриваться как запись системы нелиней- нелинейных алгебраических и трансцендентных уравнений с неизве- неизвестным вектором Vk+1. Очевидно, что необходимость решения этой системы на каждом шаге интегрирования в неявных ме- методах существенно увеличивает трудоемкость шага. Пример: полагая в формуле C.61) р = 1, получим неяв- неявный метод Эйлера П+1 = Vk + hF(Vk+1). C.62) Важным свойством неявных методов является удобство их применения к решению систем ОДУ вида Yi,v,t) = o. C.63)
3.3. Анализ математических моделей 173 Эта возможность реализуется путем подстановки в C.63) вместо вектора производных выражения, вытекающего из формулы численного интегрирования C.61). Формулу C.61) можно записать в виде ^i t] i C.64) В правой части этого выражения неизвестным является только Vk+1, все остальные величины определены в процессе других шагов. Поэтому подставляя C.64) в C.63), получим систему алгебраических и трансцендентных уравнений . Vk+1, tk+1] = 0, C.65) подлежащую решению на каждом шаге интегрирования. В. Сравнение явных и неявных методов интегрирования Явные методы обеспечивают малые вычислительные за- затраты в пределах одного шага интегрирования, где вычисля- вычисляется лишь правая часть, но из за зависимости числа шагов от степени жесткости ОДУ явные методы применяют при анализе математических моделей с умеренной степенью же- жесткости. Экономичность метода характеризуется затратами машинного времени и памяти при заданной точности. Яв- Явные методы требуют меньше затрат оперативной памяти. Основная причина больших затрат времени и памяти при использовании неявных методов обусловлена больпюй трудо- трудоемкостью и необходимостью в процессе решения хранить в ОЗУ матрицу Якоби высокого порядка. Неявные методы бо- более универсальны и применимы к любому классу схем. 3.3.3. Логическое моделирование Целью логического моделирования является получение диаграммы логико-временного поведения цифровой систе- системы, посредством исследования математической модели этой системы с помощью набора входных воздействий. На рис. 3.24 приведена классификация методов логиче- логического моделирования по основным признакам.
174 Глава 3. Проектные процедуры Классификация методов логического моделирования 1 1 По учету задержек Синхронный Асинхронный По виду кодиро- кодирования сигнала Двоичный Многозначный По способу реали- реализации программ Интерпретирующий Компилирующий По очередности моделирования Сквозной Событийный Рис. 3.24. Классификация методов логического моделирования В зависимости от поставленной задачи выбирается метод моделирования, основными отличительными чертами кото- которого являются: способ учета времени распространения сиг- сигнала, способ кодирования сигналов, способ построения мате- математической модели и очередность моделирования работы ло- логических элементов. В зависимости от учета времени распространения сигнала в логических элементах и межсое- межсоединениях методы делятся на синхронные (без учета задер- задержек) и асинхронные (с учетом задержек). В зависимости от способа представления сигналов — на двоичные и много- многозначные. По способу организации работы программ модели- моделирования — на методы компиляции и интерпретации. По ор- организации очередности моделирования — на сквозные и со- событийные [3.3]. Исходной информацией для разработки логических схем служат функциональные схемы, алгоритмы их работы и си- система базовых элементов, из которых строятся конкретные устройства. Для разработки логических схем используются типовые функциональные решения и традиционный интуи- интуитивный способ. В некоторых случаях применяют системы автоматизированного синтеза логических схем. Во всех слу- случаях для формального описания схем применяется аппарат булевой алгебры и теории конечных автоматов. Коррект- Корректность разработанных схем оценивается моделированием на ЭВМ. С помощью моделирования анализируются переход- переходные процессы, надежность работы схемы, вероятность сбоев и генерируются тесты для проверки устройств.
3.3. Анализ математических моделей 175 Анализируя исходное описание, система выбирает три типа подустройств: операционное, управляющее и функцио- функциональное. • Операционные устройства — устройства, содержащие ре- регистры. • Управляющие — это система управления с памятью (где есть память). • Функциональные — комбинационные схемы (схемы без памяти). После этого все устройства описываются системой буле- булевых функций, которые после минимизации их числа испо- используются для построения схем из логических элементов. Для точного расчета тактовой частоты процессоров необ- необходимы более точные модели сигналов. Поэтому прибегают к многозначному представлению сигналов. Троичное моделирование @, 1, X), X — либо переход из одного состояния в другое, либо неопределенное состояние. Пятизначное моделирование @, 1, X, h, l) для пятерич- пятеричного моделирования. X — неопределенное значение сигнала. h — для перехода из нуля в единицу. I — для перехода из 1 в 0. Пример применения языка описания логической схемы: R S S Вх. 1, 2, 3, 4; Вых. 9, 8; 2 ИЛИ 2, 3_5 2 И-НЕ 1, 5_7 2 И-НЕ 4, 5_6 Рис. 3.25. Логическая схема и ее описание на формальном языке Каждому элементу соответствует одна строка описания; в ней указывается тип элемента, номера входных цепей, и по- после пробела номера выходных цепей. Такое описание предпо- предполагает наличие в моделирующей системе библиотеки моделей логических элементов с соответствующими именами.
176 Глава 3. Проектные процедуры Различные представления цифровых схем а) Логическая схема Е = (А -В • С) F = (?•?>) Вс & б) Представление математической модели машинным кодом А АВ ABC (А-В-С) А-В-С - Е ED ED - Е в) Табличное представление Тип И-НЕ И Имя Е F Адрес в таблице входов Число входов 3 2 Таблица входов А В С Е D Адрес в таблице выходов Число выходов (нагрузок) 1 1 Таблица выходов Е Выход Рис. 3.26. Логическая схема и ее представления Чтобы имитировать работу схемы, компилятор генериру- генерирует объектный код, условно изображенный на рис. 3.26, б. Подпрограмма, соответствующая отдельным элементам, связывается командами перехода с целью отображения свя- связанности схемы.
3.3. Анализ математических моделей 177 Логика может быть представлена табличным способом (рис. 3.26, в), связи между логическими элементами в табли- таблице соответствуют их структурным связям в схеме. Для каж- каждого элемента, например Е, таблица определяет входные сиг- сигналы А, Б и С, вид операции И-НЕ и приемник сигнала F. В модели логической схемы, построенной путем компи- компиляции подпрограмм из предложений входного языка, каж- каждый набор таких подпрограмм представляет собой логиче- логическое выражение. Соответственно выражения вычисляются путем выполнения данного набора подпрограмм, каждая подпрограмма выполняет определенные операции над буле- булевыми переменными. Полученное в результате двоичное вы- выходное значение передается приемникам этого сигнала. Для схемы, приведенной на рисунке, сначала вычисляются зна- значения для логического элемента И-НЕ, сигналы на входах схемы используются в качестве аргументов, вычисленное выходное значение затем используется совместно с сигналом на четвертом входе схемы с тем, чтобы определить значение на входе элемента И. Активизация модели логической схемы, представленной в структуре данных (на рис. 3.26, в), проводится интерпре- интерпретирующей программой, которая использует адреса связи для перехода от одного элемента к другому. Чтобы выпол- выполнить требуемую операцию, интерпретатор просматривает поля в таблице, поле в колонке «тип», определяет подпрог- подпрограмму, которую следует выполнить, используя в качестве аргументов значения входов, определенных указателями в поле числа входов и адресами таблицы входов. В отличие от компилируемой модели, эта программа ис- использует для реализации каждой логической операции толь- только одну подпрограмму, обращение к которой будет происхо- происходить каждый раз, когда интерпретатору потребуется вычис- вычислить данную логическую операцию. Вычисленное выходное значение определяет адрес связи, по которому интерпрета- интерпретатор определяет следующий элемент в таблице данных. Для рассматриваемой схемы значение Е определяется: • интерпретацией операции; • числом входов, указанных в поле числа входов;
178 Глава 3. Проектные процедуры • адресом в таблице входов, который идентифицирует в ка- качестве входов элементы А, Б, С. После вычисления значения Е элемент-приемник F опре- определяется числом в столбце таблицы «число выходов» и адре- адресом в таблице выходов. Полное название этого метода — ин- интерпретирующее моделирование с табличным управлением. В зависимости от того, привязывается задержка реакции схемы к периоду синхронизации или нет, алгоритмы логиче- логического моделирования разделяются на синхронные и асинх- асинхронные. При синхронном моделировании задержка в логиче- логических элементах и внутренних соединениях не учитывается. При асинхронном — учитывается. Относительно небольшие изменения величин задержек могут привести к возникнове- возникновению особых ситуаций. Эти ситуации приводят к состязаниям сигналов, которые могут быть обнаружены только при асинх- асинхронном моделировании. Другими словами, состязания возни- возникают в условиях, когда сигнал на выходе элемента зависит от порядка, в котором приходят его входные сигналы. Риски сбоя Статический риск сбоя @,1) @,0) —о с9 Рис. 3.27. Возникновение риска сбоя На выходе приведенной схемы при указанных логиче- логических состояниях на входе элемента должен быть логиче- логический 0. Однако, если сигнал на входе 1 принимает значение 1 раньше, чем сигнал на входе 2 успевает перейти в состоя-
3.3. Анализ математических моделей 179 ние 0, то на выходе элемента появляется 1, образуя корот- короткий импульс или риск сбоя. Эту ситуацию называют стати- статическим состязанием. Динамический риск сбоя L/2 о— С3о- 1 Лл Рис. 3.28. Возникновение динамического риска сбоя Правильная работа схемы. Сх => tx; С2 => t2; C3 => t3; Сг => tx; tx>t2> tz. Динамическое состязание возникает тогда, когда на не- некотором выходе вместо ожидаемой смены состояний проис- происходит колебательный процесс, заканчивающийся изменени- изменением сигналов. Если под воздействием входного сигнала схема из одного состояния может перейти в другое состояние в зависимости от задержки элементов схемы, то в этом случае состязания называются критическими. Если есть синхронизирующий импульс, то схема с дина- динамическим риском сбоя работать будет.
180 Глава 3. Проектные процедуры А. Синхронное моделирование При синхронном моделировании модели элементов пред- представляются их логическими функциями без учета задержек распространения сигналов, а сигналы — значениями 0 и 1. Синхронное моделирование применяется для оценки пра- правильности логического функционирования дискретных устройств без учета переходных процессов. Моделирование работы сводится к вычислению значений сигналов на выхо- выходе логических элементов схемы по заданным входным. Мо- Моделирование проводится для каждого изменения сигналов на входе. Обычно эти изменения связаны с синхросигнала- синхросигналами, поэтому значения сигналов на выходах элементов вы- вычисляются для каждого синхроимпульса. Предполагается, что в промежутке между синхроимпуль- синхроимпульсами входные сигналы не меняются, а переходный процесс в схеме завершается в течение некоторого промежутка t, ме- меньшего периода повторения синхронизирующих импульсов. Каждый элемент в схеме описывается логической функ- функцией Y =/(*!, х2, х3, ... ,хп), C.66) где Y — выходной сигнал, {х} — входные сигналы. В результате вся схема описывается системой подобных уравнений и синхронное моделирование сводится к их ре- решению последовательно одно за другим. Под решением ло- логического уравнения понимается вычисление логического значения Y по известным логическим значениям {х}. Основной особенностью синхронного моделирования явля- является решение логических уравнений в определенном поряд- порядке, соответствующем последовательности прохождения сигналов через элементы схемы. Для определения этого по- порядка схему предварительно нужно ранжировать, чтобы к моменту решения каждого уравнения значения всех {х} были известными. При ранжировании принимается, что входные сигналы схемы к моменту начала ее моделирования известны и им присваивается г = 0. Ранжировать схему — значит располо- расположить ее элементы так, чтобы входами элементов i-ro ранга были выходы элементов только меньшего ранга. С общих
3.3. Анализ математических моделей 181 & & г=0 & г=2 г=3 Рис. 3.29. Ранжирование логической схемы позиций ранжирование обеспечивает соблюдение причин- причинно-следственного принципа моделирования, причина — это сигнал на входе элемента, а следствие — на выходе. Поря- Порядок выполнения решения уравнений будет следующий: = С2 & С3, = С5 I С6 I С6 = С3 & С4 I г^=1; С8 = Сх & С7 I ^3' — входные сигналы, Съ-Съ — где г — ранг элемента, С^- выходные сигналы. В САПР операции ранжирования логической схемы вы- выполняются автоматически программным путем на основе информации о связях элементов структуры. Результатом синхронного моделирования является временная диаграм- диаграмма, представленная в виде последовательности 0 и 1. На диаграмме для каждого такта моделирования приводятся значения входных воздействий и значения сигналов на вы- выходе элементов схемы. По ним судят о правильности работы схемы. Б. Асинхронное моделирование Анализ переходных процессов в логических схемах ве- ведется асинхронным методом моделирования, в котором учи- учитывается время распространения сигнала в элементах и сое- соединительных цепях схемы. Асинхронное моделирование по- позволяет выявить риски сбоев и критические состязания. Модель логического элемента для асинхронного моделирова- моделирования представляется в виде последовательного соединения безинерционного логического элемента, реализующего за-
182 Глава 3. Проектные процедуры данную функцию, плюс элементы задержки. Асинхронное моделирование заключается в вычислении сигналов на вы- выходах логических элементов в соответствии с моделью. При асинхронном моделировании требуется определить не толь- только состояния на выходе элемента @,1), но и момент време- времени, когда произошли изменения. В простейшем случае для этого многократно просчитываются состояния элементов че- через некоторый интервал At, который выбирается как наибо- наибольший общий делитель времени задержки элементов, ис- используемых в моделирующем устройстве. Пример: Если в устройстве используются элементы, име- имеющие задержки 15, 21, 27, 30 не, то At = 3 не. В системах асинхронного событийного моделирования время моделирования можно изменять не с шагом At, а в мо- моменты возникновения событий. Моменты возникновения со- событий определяются задержками логических элементов, ко- которые могут и не иметь наибольшего общего делителя. В программах асинхронного событийного моделирования главную роль играют два массива: массив состояния цепей моделируемой схемы и очередь будущих событий. В очередь будущих событий в процессе моделирования записываются события, которые должны произойти в моделируемой схеме. Каждый элемент ОБС содержит номер цепи, в которой дол- должно произойти событие, и момент времени, в который дол- должно произойти событие. В ОБС события должны быть запи- записаны в порядке возрастания времени. В вершине находится то событие, которое произойдет раньше. Асинхронное моде- моделирование выполняется следующим образом. Перед началом моделирования устанавливается исходное состояние схемы путем записи значений в массив состояния цепи. Тестовые входные воздействия, подаваемые в схему, заносятся в ОБС соответственно со временем их появления, далее осуществ- осуществляется собственно моделирование. Его общий алгоритм со- состоит из следующих шагов. 1) Из ОБС выбирается верхний первый элемент. Время, указанное в нем, заносится в счетчик модельного вре- времени, а в массив состояния цепей по номеру, указан- указанному в элементе, вместо старого производится запись нового состояния цепи, указанного в ОБС.
3.4. Параметрическая оптимизация 183 2) Находятся логические элементы, для которых дан- данная цепь является входной, и вычисляются значе- значения сигналов на выходах этих элементов, то есть определяется новое состояние цепей на выходе и их задержки. 3) Для каждой из цепей значение на выходе сравнивает- сравнивается со значением, хранящемся в массиве состояния це- цепей, и если они не совпадают, то происходит измене- изменение состояния цепи и событие заносится в ОБС. Далее все повторяется с п. 1. Процесс моделирования заканчивается, когда исчерпаны все элементы ОБС, либо заданное время моделирования. Ре- Результаты асинхронного моделирования представляются в виде временной диаграммы, по которой анализируется рабо- работа устройств. В частности, выявляются статические и дина- динамические риски сбоя. Дальнейшее повышение точности мо- моделирования с помощью программ применения АСМ (асинх- (асинхронное моделирование событий) требует использования многозначного представления сигналов при реализации мо- моделирования. Роль ОБС можно также характеризовать сле- следующим образом. ОБС необходима для временного хранения сигналов с генератора входных воздействий и с выходов ло- логических элементов, появляющихся в задержках относите- относительно времени их вычисления. Сигналы из ОБС считывают- ся, если время моделирования совпадает с временем начала данного сигнала. 3.4. Параметрическая оптимизация Параметрическая оптимизация объекта проектирования заключается в определении совокупности внутренних пара- параметров, при которой требование ТЗ к выходным параметрам объекта удовлетворяется, а целевая функция принимает эк- экстремальное значение. Решение задачи параметрической оп- оптимизации начинается с выбора критерия оптимальности и формулировки системы ограничений, в пределах которой ищется оптимальное решение.
184 Глава 3. Проектные процедуры 3.4.1. Экстремальные задачи в проектировании ИС Математическая формулировка задачи параметрической оптимизации электрических схем Оптимизация электронной схемы состоит в определении совокупности электрических параметров компонентов (i?, С, L, Тит. д.), при которых выходные параметры схемы удов- удовлетворяют требованиям ТЗ, а один из них (или их линейная комбинация с соответствующими коэффициентами) прини- принимает экстремальное значение. Параметрическая оптимиза- оптимизация позволяет решить ряд других задач проектирования. Например, определить параметры компонентов, обладаю- обладающие наименьшими коэффициентами влияния на параметры схемы, влияние дестабилизирующих факторов, температур- температурную зависимость и т. д. Рассмотрим постановку задачи параметрической опти- оптимизации электронных схем на примере схемы, представлен- представленной на рис. 3.30. входы Рис. 3.30. Принципиальная электрическая схема логического ключа ЗИ-НЕ Решение любой задачи параметрической оптимизации начинается с выбора критерия оптимизации (целевой функ- функции) и формулировки системы ограничений, в пределах ко- которой ищется оптимальное решение. На примере расчета ло- логической ИС покажем, что эта задача может быть сформули- сформулирована как общая задача нелинейного программирования.
3.4. Параметрическая оптимизация 185 Базовые логические элементы всей серии логических ИС обычно выполняют функцию И-НЕ/ИЛИ-НЕ и характеризу- характеризуются такими выходными функциональными параметрами, как ?3ад.ср.> Р — мощность потребления, ип — помехоустой- помехоустойчивость, N — нагрузочная способность. Эти параметры яв- являются нелинейными функцями систем параметров актив- активных, пассивных и паразитных компонентов (Ад, Пп, Вп). Технические требования к выходным параметрам обычно выражаютсяв виде неравенств Р < Ртз, ип > и™, N > ЛГТЗ и т. д. C.67) и указывается один из параметров (или линейная комбина- комбинация с соответствующими весовыми коэффициентами), кото- который должен иметь экстремальное значение: *з.ср. - *з!ср. => т*п (желательно чтобы было минимально). Тогда, обозначив вектор системы активных параметров через Ап, вектор системы параметров пассивных компонен- компонентов через Пп, вектор системы паразитных (взаимновлияю- щих) через Вп и приняв за целевую функцию *3ад.ср.> можно сформулировать рассматриваемую задачу в виде общей зада- задачи нелинейного программирования: F = *з.сР. (Ап> пп> вп) — Целевая функция. C.68) Система ограничений получится, если переписать C.67) в следующем виде: gl = Ртз - Р(АП, Пп, Вп) > 0, C.69) ёг = С/п(Ап, Пп, Вп) - U™ > 0, C.70) ^з = ЛГ(А„, Пп, Вп) - N™ > 0 C.71) и т. д. На практике число ограничений примерно 50-70, так как добавляются ограничения, связанные с физической реа- реализуемостью компонентов. Каждое ограничение делит многомерное пространство независимых переменных на две части: допустимых значе- значений переменных и недопустимых. В результате получится замкнутая область допустимых значений переменных (если ТЗ на проектирование схемы составлено корректно). Поль- Пользуясь методологией построения области допустимых значе-
186 Глава 3. Проектные процедуры ний переменных, изложенной в первой главе, можно по- построить сечения области допустимых значений переменных в координатах пар независимых переменных. Для этого не- необходимо в формулах C.69-3.71) значения параметров всех компонентов считать постоянными и разрешить уравнения в виде зависимости одной переменной от другой. Например, если в качестве двух независимых переменных взять пару сопротивлений, то эти уравнения примут вид R2 = ф^), R2 = фзС^), R2 = фзСКх). На рис. 3.31 показано сечение области допустимых зна- значений переменных в координатах указанных сопротивле- сопротивлений. дГт R\ Рис. 3.31. Допустимая область работоспособности логической схемы ЗИ-НЕ Решение задачи, сформулированной уравнениями C.68-3.71), должно дать Ап = так что опт ттопт TjonT\ j.min ¦ооптч _ /mm C.72) C.73) при выполнении требований к остальным параметрам схе- схемы. В зависимости от критерия оптимальности в пределах области работоспособности выбирается рабочая точка.
3.4. Параметрическая оптимизация 187 Примечание. Следует особо обратить внимание читателя на использованные обозначения А°пт, П°пт, В°пт — это век- векторы систем электрических параметров активных, пассив- пассивных и паразитных компонентов. Например, составляющими вектора системы пассивных компонентов являются парамет- параметры всех сопротивлений, емкостей и индуктивностей Пп = {-Rjl, R2, ..., Cl9 C2, ..., Lv L2, ...}. C.74) Математическая формулировка задачи параметрической оптимизации физической структуры и геометрических размеров интегральных транзисторов Выбор физической структуры и определение геометриче- геометрических размеров транзисторов, оптимальным образом удовлет- удовлетворяющих предъявляемым требованиям, является экстре- экстремальной задачей, которую можно решать методами нели- нелинейного программирования. На рис. 3.32 приведен поперечный разрез и вид сверху интегрального транзистора. Рис. 3.32. Структура интегрального транзистора Действительно, электрические параметры транзистора являются нелинейными функциями системы независимых параметров: No — концентрации атомов донорной примеси в эпитак- сиальной пленке; iVOi — поверхностной концентрации атомов акцепторной примеси в базовом диффузионном слое;
188 Глава 3. Проектные процедуры N02 — поверхностной концентрации атомов донорной примеси в эмиттерном диффузионном слое; rN6 — времени жизни неосновных носителей заряда в ба- базовом диффузионном слое; 2^JD1t1 — диффузионной длины, характеризующей изме- изменение концентрации примеси в базовом диффузи- онном слое; 2^lD2t2 — диффузионной длины, характеризующей изме- изменение концентрации примеси в эмиттерном диффу- диффузионном слое, а также L — геометрических параметров, характеризующих кон- конфигурацию транзистора в плане и С — электрофи- электрофизических констант. Технические требования к параметрам активных компо- компонентов, в том числе к транзисторам, вырабатываются на эта- этапе схемотехнического проектирования и обычно выражают- выражаются в виде неравенств: Л21э > А^Гэ — коэффициент передачи по току в схеме с об- общим эмиттером; г'к < г^тз) — объемное сопротивление области коллектора; икэк < U^l — напряжение насыщения между эмиттером и коллектором; /т > /JT3) — граничная частота усиления по току. Обычно указывается и один из параметров, который дол- должен иметь экстремальное значение. Тогда, обозначив для сокращения записи формул: N — вектор системы основных независимых параметров, характеризующих физическую структуру инте- интегрального транзистора; L — вектор системы геометрических параметров компо- компонентов в плане; С — вектор электрофизических констант, можно задачу оптимального расчета транзистора сформули- сформулировать как задачу нелинейного программирования, приняв за целевую функцию F один из параметров (например /т), а остальные за ограничения.
3.4. Параметрическая оптимизация 189 Поступая так же, как при параметрической оптимиза- оптимизации принципиальной электрической схемы, получим F = fT(N, L, С) — целевая функция, C.75) ft = h21,(N,L,C) - h™ > О, C.76) ft =^(T3)-r;(iV,L,C)>0, C.77) ?з = ^?Й " Um{N,L,C) > 0 C.78) и т. д., приблизительно 50-70 уравнений. В результате решения уравнений C.75-3.78) можно по- получить N = NOQT,L = LonT C.79) и/т(^опт^опт,С) = /ттах C.80) при выполнении требований ТЗ к остальным параметрам интегрального транзистора. Нетрудно заметить, что и зада- задача параметрической оптимизации электронной схемы, и за- задача параметрической оптимизации интегрального транзи- транзистора имеют одну и ту же математическую формулировку в виде общей задачи нелинейного программирования. Можно показать, что задачи параметрической оптимиза- оптимизации на этапах логического и топологического проектирова- проектирования также сводятся к общей задаче нелинейного программи- программирования, но в дискретном пространстве. 3.4.2. Алгоритмы решения экстремальных задач Рассмотренные выше экстремальные задачи проектиро- проектирования имеют общую математическую формулировку нахож- нахождения экстремума целевой функции на некотором множест- множестве G вещественного многомерного пространства. Сформулируем требования, которым должны удовлетво- удовлетворять вычислительные алгоритмы для решения экстремаль- экстремальных задач проектирования ИС. 1) Определять наличие или отсутствие области допустимых значений переменных G, и если она отсутствует, то давать ин- информацию о противоречивых ограничениях gj(j = 1ч-т). Вы-
190 Глава 3. Проектные процедуры полнение этого требования исключительно важно, т. к. оно позволяет дать однозначный ответ о принципиальной воз- возможности разработки конкретной схемы на имеющемся обо- оборудовании и определить те параметры схемы, требования к которым не могут быть выполнены. Это дает проектировщи- проектировщику возможность принять одно из трех решений: выбрать дру- другую принципиальную электрическую схему, выбрать другой технологический процесс изготовления или изменить требо- требования ТЗ к электрическим параметрам схемы (рис. 3.3). 1Гт+1(Х)>0 gm+l(X)>0 Рис. 3.33. Примеры отсутствия области допустимых значений переменных (а) или малых размеров области допустимых значений (б) 2) Определять экстремум целевой функции независимо от принадлежности исходной точки области G. Большинство известных вычислительных алгоритмов, решающих экстре- экстремальные задачи, работают только в том случае, когда исход- исходные точки попадают в область G. Для решения экстремаль- экстремальных задач проектирования ИС такие алгоритмы не пригод- пригодны, так как размеры области G часто бывают малыми и тогда выбор исходных точек будет затруднителен (рис. 3.33, б). 3) Обеспечивать нахождение экстремума целевой функ- циии при неблагоприятном расположении уровня оптимизи- оптимизируемой функции относительно осей координат («седла» и «овраги»), 4) Давать решение в случае эквидистантности F и g. Как показывает опыт, случаи эквидистантности имеются.
g.4. Параметрическая оптимизация 191 5) Находить центр области допустимых значений пере- переменных G, что необходимо для решения таких вопросов про- проектирования ИС, как расчет максимального процента выхо- выхода годных, расчет максимальной вероятности работоспособ- работоспособности, расчет на максимальные запасы по основным функциональным параметрам и т. д. 6) Определять локальные экстремумы в области допусти- допустимых значений переменных G. 7) Обладать критерием выбора экстремума при неодно- неоднозначном решении задачи оптимизации. Кроме того, для решения задачи полной автоматизации оптимального проектирования ИС желательно, чтобы исход- исходные точки выбирались автоматически с помощью датчика случайных чисел. Рассмотрим основные идеи построения вычислительного процесса для решения экстремальных задач проектирова- проектирования, удовлетворяющих перечисленным выше требованиям. Пусть дана функция F(Xl9X29 ... ,Х„) = 0, C.81) которая дифференцируема и имеет непрерывные производ- производные первого порядка по всем переменным Xl9 Х2, ... , Хп. Обозначим Х={Х19Х2, ... ,Хп} еЕп9 C.82) где Еп — ортогональное n-мерное пространство. Даны также т неравенств gj(Xl9 Х2, ... , Хп) > О , ; = 1, 2, ... , т, C.83) выделяющие в n-мерном пространстве область G. Функция gj(Xl9 X2, ... , Хп) обладает теми же свойствами, что и целе- целевая функция F. Требуется найти оптимальную точку ХОПТ / -у ОПТ -у- ОПТ у"Опт \ - lAj >Л*2 , ...,Л.П )у которая принадлежит области Сив которой целевая функция F(X°nT) принимает минимальное значение F(X°nT) = minF(X) при X е G. Рассмотрим один из общих алгоритмов для решения этой задачи, использующий следующие основные идеи.
192 Глава 3. Проектные процедуры 1) Исходные точки задаются датчиком случайных чисел. 2) В случае, если исходная точка оказалась вне области G, то из нее организуется движение в область G по направлению вектора, являющегося суммой векторов, ортогональных ги- гиперповерхностям неудовлетворенных ограничений gjk(X) = О в рассматриваемой точке, где k — число неудовлетворенных ограничений. При этом возможны два случая: либо точка по- попадет в G (если оно не пусто), либо она остановится между ги- гиперповерхностями неудовлетворенных ограничений, если G пусто. В последнем случае на печать выводятся номера неу- неудовлетворенных ограничений (рис. 3.34). gm.2(X)>0 х(Х)>0 Движение вне области G Движение вдоль границы области G Рис. 3.34. Виды движений при поиске экстремума 3) В том случае, если исходная точка оказалась внутри области G, то из нее организуется движение к минимуму це- целевой функции F(X) в направлении, противоположном ее градиенту. 4) Для движения вдоль границы области G поочередно используются оба указанных выше направления. 5) Движение по оврагу осуществляется методом Гельфан- да. По одной из переменных Х^Хп делается десятикратный шаг и если при выполнении процедуры оптимизации (п. 2-4) новая «оптимальная» точка не совпадает с предыду- предыдущей, значит поверхность равного уровня целевой функции характеризуется наличием оврага. Через эти две точки про- проводится прямая и движение к экстремуму осуществляется
3.4. Параметрическая оптимизация 193 до этой линии (по дну оврага). Через некоторое число шагов A0-15) процедура выхода на склон оврага повторяется. Че- Через последние две точки снова проводится прямая и движе- движение к экстремуму осуществляется по ней и т. д. Процедура заканчивается, когда последняя точка со склона оврага по- попадает в предпоследнюю. 6) Определение центра области G может быть осуществ- осуществлено следующим образом: Как только точка попадет в об- Ласть G, необходимо знаки ограничений gfiX) сменить на противоположные. Это автоматически переведет точку в центр области G. Следует отметить, что в этом случае полу- полученная точка будет соответствовать максимальному запасу по функциональным параметрам ИС. 7) При неоднозначном решении задач оптимизации кри- критерий выбора экстремума определяется с использованием конструктивно-технологических понятий. Например, в ка- качестве такого критерия можно использовать сумму всех со- сопротивлений схемы ; => min, C.84) что позволяет минимизировать площадь кристалла. 3.4.3. Обобщенный метод граничных испытаний Сформулируем положения, составляющие суть обобщен- обобщенного метода граничных испытаний. 1) В качестве ограничений использовать параметры тех- технического задания и условия физической реализуемости компонентов. 2) В качестве целевой функции использовать все выход- выходные параметры схемы или их комбинацию с различными ве- весовыми коэффициентами, то есть любая точка в пределах области работоспособности может быть принята за оптима- оптимальную, и она должна быть найдена. 3) Для построения области работоспособности и поиска оптимальной точки использовать программы для решения общей задачи нелинейного программирования.
194 Глава 3. Проектные процедуры 4) Алгоритмы и программы должны удовлетворять тре- требованиям, перечень которых приведен ранее. 5) Математические модели могут быть заданы как в ана- аналитическом, так и в алгоритмическом виде. 3.5. Статистический анализ Статистический анализ требует многократного решения математической модели ИС. Основная его задача формули- формулируется просто — по известным статистическим распределе- распределениям параметров компонентов схемы необходимо вычис- вычислить статистические распределения параметров самой ИС. Однако практическая реализация статистического анализа ИС связана с рядом трудностей. Первая трудность при про- программной реализации статистического анализа заключается в больших требуемых затратах машинного времени. Вторая трудность связана с необходимостью использования в каче- качестве исходных данных информации о разбросе параметров компонентов ИС. Получение такой информации сопряжено с большими затратами времени и средств и не всегда может быть выполнено в полном объеме. В современных САПР БИС наиболее широкое применение получили два метода: метод наихудшего случая (МНС) и метод Монте-Карло. 3.5.1. Метод наихудшего случая Суть метода наихудшего случая состоит в следующем. Выходной параметр схемы должен находиться в пределах установленного поля допуска при наихудших сочетаниях по- погрешностей параметров компонентов. На рис. 3.35 приведен простой пример, наглядно иллюстрирующий смысл метода. Он применяется, если известны предельно возможные отклонения AXt пред и Agk пред внутренних и внешних пара- параметров Xt и gk от своих номинальных значений XiU0M и ёкном.- Знание законов распределения случайных величин Xt или числовых характеристик этих законов здесь не тре- требуется. Это является положительной стороной метода, т. к. в справочниках по параметрам полупроводниковых прибо- приборов указываются именно AXt пред и Agk пред.
3.5. Статистический анализ 195 +10% ив Рис. 3.35. Резистивный делитель Целью применения МНС является определение вектора системы выходных параметров Y = (^1нс» ^2но ••• > YmHC) , C.85) элементы которого находятся среди возможных значений выходных параметров и являются наименее благоприятны- благоприятными с точки зрения выполнения ТЗ. Рассмотрим сущность метода применительно к определе- определению Унс для одного параметра. В алгоритмы метода, во-пер- во-первых, должно входить выполнение анализа работы ИС в наи- наихудших условиях и, во-вторых, в алгоритмах должна быть процедура определения направления отклонения парамет- параметров X и Q от номинальных значений. Эта процедура сводит- сводится к выполнению анализа чувствительности выходного па- параметра Y к изменениям внутренних и внешних парамет- параметров. Получаемый вектор чувствительности А включает коэффициенты влияния dY dXt и Ak = 8Y C.86) В МНС используют только знаки коэффициентов влия- влияния пред C.87) в случае, если условия работоспособности имеют вид: у > утз, где утз — максимальное значение выходного пара- параметра по ТЗ или: Хтс = xi ном + signCA^AXj пред, если у < у* C.88)
196 Глава 3. Проектные процедуры Так как в реальных объектах имеется т выходных пара- параметров, то при анализе чувствительности для них необходи- необходимо определение соответствующих матриц. Анализ чувствительности Анализ чувствительности в общем случае заключается в определении матрицы чувствительности А, элементами ко- которой являются абсолютные коэффициенты влияния (коэф- (коэффициенты чувствительности) Ajt = J± C.89) dxt или матрицы чувствительности Б с относительными коэф- коэффициентами влияния В.. = ап ^^ . C.90) Ушом Чувствительность всех параметров уу-, gk определяется аналогично. Каждая строка матрицы А является вектор-гра- вектор-градиентом одного из выходных параметров в пространстве внутренних параметров: f^^^l C.91) где п — число внутренних параметров. Каждый столбец А характеризует влияние одного из внутренних параметров на все выходные, а каждая строка — влияние всех внутренних параметров на один выходной. При решении конкретных вопросов расчета может потребоваться вычисление не всей матрицы чувствительности, а только одной части. Форму- Формулы, явно выражающие коэффициенты влияния, могут быть получены в сравнительно редких случаях, когда использу- используются аналитические зависимости У = F(X, Q). Тогда коэффи- коэффициент влияния определяется обычным дифференцировани- дифференцированием уравнений аналитической модели. В общем случае необ- необходимо применять численные методы дифференцирования. К недостаткам метода можно отнести то, что из-за малой ве- вероятности возникновения наихудшего случая оценки раз- разброса выходных параметров будут в несколько раз больше,
3.5. Статистический анализ 197 чем реальные разбросы, а поэтому реализация рекоменда- рекомендаций, вытекающих из расчета на МНС, приводит к заниже- занижению реальных параметров и повышенной стоимости ИС. Кроме того, многие работоспособные варианты представля- представляются нерабочими по результатам расчета по МНС. Кроме того, предельные отклонения Axt пред известны только по не- некоторым внутренним параметрам, контролируемым произ- производителями компонентов ИС, поэтому отсутствие сведений о Axt пред для остальных внутренних параметров затрудняет использование метода. 3.5.2. Метод Монте-Карло Статистический анализ по методу Монте-Карло в качест- качестве исходных данных требует использования характеристик статистических законов распределения внутренних пара- параметров X и допустимых диапазонов изменения внешних па- параметров. Результат расчета — характеристики статистиче- статистических законов распределения выходных параметров У (чаще всего это гистограммы). Для программной реализации ста- статистического анализа в САПР должны быть алгоритмы и программы двух групп. Первая предназначается для стати- статистической обработки результатов измерений внутренних па- параметров, а вторая — для выполнения собственно статисти- статистического анализа. Схема вычислительного процесса по мето- методу Монте-Карло показана на рис. 3.36. Алгоритм метода Монте-Карло по существу состоит в iV-кратном выполнении анализа работы объекта проектиро- проектирования, причем в каждом варианте анализа задаются случай- случайные значения внутренним параметрам в соответствии с их законами распределения и фиксируются получающиеся зна- значения выходных параметров. Каждый вариант анализа ра- работы объекта и представляет собой очередное статистиче- статистическое испытание. Результаты испытания обрабатываются с целью получения оценок числовых характеристик распреде- распределения выходных параметров и графиков распределений (ги- (гистограмм). Основной недостаток метода Монте-Карло — большая трудоемкость получения статистических распределений па- параметров компонентов.
198 Глава 3. Проектные процедуры Да Задание значений параметров X и Q Анализ работы ИС Обработка результатов очередного испытания нет Обработка результатов N испытаний Рис. 3.36. Блок-схема вычислений по методу Монте-Карло, где / — очередное испытание (номер случайного вектора X), Л/ — запланированное число статистических испытаний Заключение Как было отмечено выше, на каждом этапе проектирова- проектирования выполняются основные проектные процедуры: струк- структурный синтез, составление математической модели, анализ математической модели, параметрическая оптимизация и статистический анализ. При этом профессиональная специ- специфика уровня абстракции наиболее сильно сказывается при выполнении работ на этапах структурного синтеза и состав- составления математической модели объекта проектирования. По- Последующие проектные процедуры: анализ математической модели, параметрическая оптимизация и статистический анализ при их решении требуют скорее математических усилий, чем профессиональных и, принципиально, могут решаться на всех этапах с помощью одних и тех же методов и программ.
Заключение 199 Литература 3.1. См. список литературы к главе 1. 3.2. Robert A. Walker and Donald E. Thomas. A Model of De- Design Representation and Synthesis. 22nd Design Automati- Automation Conference, 2000. З.З.Ильин В. Н., Фролкин В. Т. и др. Автоматизация схе- схемотехнического проектирования. — М.: Радио и связь. 1987. 3.4. Копченова Н. В., Марон И. А. Вычислительная матема- математика в примерах и задачах. — М.: Наука, Главная ре- редакция физико-математической литературы, 1972.
Глава 4 Проектирование интегральных систем Введение В первой главе были рассмотрены принципы, методы и этапы проектирования БИС: логический, схемотехнический, топологический и компонентный. По терминологии, приня- принятой в данной книге, при проектировании интегральных сис- систем необходимо выполнить работы еще по трем этапам: сис- системному, микросхемному и регистровых передач. Именно в таком порядке эти этапы проектирования интегральных сис- систем и рассматриваются кратко в настоящей главе. Выполне- Выполнение работ по этим этапам принято называть высокоуровне- высокоуровневым проектированием у которое заканчивается разработкой функциональных схем в базисе структурных компонентов уровня регистровых передач. Высокоуровневое проектирова- проектирование связано с переработкой огромных массивов информации. Поэтому необходимо ограничивать количество информации, анализируемой и обрабатываемой в каждый момент времени В качестве примера можно привести проблемы, возникаю- возникающие у проектировщиков СБИС и систем на кристалле с испо- использованием IP-блоков. В настоящее время одна СБИС может содержать миллионы логических вентилей, поэтому проекти- проектировщику очень важно провести структуризацию информации и правильно выбрать уровень представления этой системы. 4.1. Классификация уровней проектирования В настоящем разделе [4.1, 4.2] вводится понятие иерар- иерархии уровней представления проекта СБИС, используемых
4.1. Классификация уровней проектирования 201 проектировщиками интегральных схем и систем. Представ- Представление проекта может относиться к одной из двух областей, которые определяются следующим образом: • Структурная область — область, в которой каждый уро- уровень представления проекта описывается совокупностью взаимосвязанных компонентов более низкого уровня. • Поведенческая область — область, в которой каждый уровень представления проекта описывается по зависи- зависимостям вход-выход при помощи некоторой процедуры. Уровни представления проекта интегральных систем по- показаны на рис. 4.1. Это уровни процессоров-памяти-комму- таторов (системный), микросхемный (ИС), регистровый, вентильный, схемный, топологический и компонентный. ППК Микросхемный Регистровый Логический Схемотехнический Топологический Компонентный \ Рис. 4.1. Уровни представления проекта интегральных систем На рис. 4.2 показаны примеры представления компонен- компонентов для этих уровней. Обращаясь снова к рис. 4.1, отметим, что иерархия представлений имеет форму усеченной пира- пирамиды. Расширение пирамиды характеризует увеличение степени детализации, т. е. количества информации, которое должно обрабатываться при представлении интегральной системы на этом уровне. В табл. 4.1 показаны уровни представления проекта, структурные компоненты каждого уровня и поведенческие представления для каждого уровня. На самом нижнем у ров-
№* R—ПУ —'p \ —\r \ —Q —Q - Выбор Синхро- Синхросигнал A Регистр Инкрементор Парал- Параллельный, порт ЛЛ данных\—i/ Мульти- Мультиплексор Синхро- Синхросигнал В Поведенческое описание УАПП Синхросигнал УАПП Рис. 4.2. Структурные компоненты уровней представления проекта
4.1. Классификация уровней проектирования 203 не, компонентном, в качестве структурных компонентов ис- используются типовые диффузионные профили и геометриче- геометрические формы элементов транзистора. Поведенческое пред- представление этого уровня — ФСУ с соответствующими гранич- граничными и начальными условиями. На топологическом уровне структурными компонентами являются геометрические об- образы транзисторов, логических элементов, функциональных блоков и т. д. На следующем, более высоком уровне, схемо- схемотехническом, представление проекта формируется с исполь- использованием межсоединений компонентов принципиальной электрической схемы: транзисторов, резисторов, конденса- конденсаторов и т. д. Поведенческое представление данного уровня описывается системой обыкновенных дифференциальных уравнений, которая и является полной математической мо- моделью принципиальной электрической схемы. Таблица 4.1 Уровень Структурные компоненты Поведенческое представление Системный Микросхемный (ИС) Регистровый Логический Схемотехни- Схемотехнический Топологичекий Компонентый Центральные процессоры, памяти, шины Микропроцессоры, ЗУПВ, ПЗУ, УАПП, параллельные порты Регистры, АЛ У, счетчики, мультиплексоры Логические вентили, триггеры Транзисторы, резисторы, индуктивности и емкости Геометрические объекты Диффузионные профили, геометрические формы элементов транзистора Технические данные и характеристики Входные-выходные за- зависимости, алгоритмы, микрооперации Таблицы истинности, таблицы состояний, микрооперации Булевы (логические) формулы Обыкновенные диффе- дифференциальные уравнения Графы, множества Дифференциальные уравнения в частных производных Следующий уровень — уровень логических элементов, традиционно играет основную роль при проектировании ин- интегральных схем и систем. Здесь используются такие струк- структурные компоненты, как логические схемы И, ИЛИ,
204 Глава 4. Проектирование интегральных систем ИЛИ-НЕ, И-НЕ, триггеры управления и др. Соединение этих структурных компонентов позволяет образовывать комбинационные и последовательностные логические схе- схемы. Поведенческие описания на этом уровне — системы бу- булевых уравнений. Выше уровня логических элементов в иерархии представлений находится уровень регистровых пе- передач. На этом уровне структурными компонентами явля- являются регистры, счетчики, мультиплексоры, программируе- программируемые логические матрицы, запоминающие устройства раз- различного назначения и арифметико-логические устройства. Эти структурные компоненты также называют функциона- функциональными блоками, а этот уровень представления проекта — соответственно регистровым или функциональным уровнем. Для поведенческого описания проекта СБИС на этом уровне используются таблицы истинности и таблицы состояний. Поведенческое представление регистрового уровня возмож- возможно также с использованием языков регистровых передач. Выше регистрового уровня распологается уровень микро- микросхем На микросхемном уровне в качестве структурных ком- компонентов выступают такие компоненты, как микропроцессо- микропроцессоры, устройства основной памяти, последовательные порты, параллельные порты и контроллеры прерываний или обра- образуемые из них более крупные устройства. Так, набор микро- микросхем, которые совместно образуют одно функциональное устройство, можно представить как один структурный ком- компонент. Главной особенностью здесь является то, что струк- структурные компоненты микросхемного уровня не строятся иерархически из более простых структурных компонентов, а представляют собой единые объекты-модели. Так, напри- например, если нужно смоделировать последовательный порт вво- ввода-вывода (универсальный асинхронный приемопередатчик, УАПП), соответствующую модель не строят путем соедине- соединения таких структурных компонентов, как регистры и счет- счетчики, т. е. здесь сам УАПП становится структурным компо- компонентом. Модели такого типа важны для изготовителей ин- интегральных систем, которые приобретают микросхемы у других фирм-изготовителей, но не знают их внутренней структуры уровня огических вентилей, поскольку это обыч- обычно является секретом фирмы.
4.1. Классификация уровней проектирования 205 Для поведенческого описания модели микросхемного уровня используются зависимости вход-выход каждой кон- конкретной ИС, алгоритмы, выполняемые данной ИС, микро- микрооперации. Рассмотрим кратко определение и общие харак- характеристики модели уровня ИС, приведенные в работе [4.1]. Определение: модель уровня ИС — это поведенческая модель логического усройства, в которой задержки сигналь- сигнальных цепей точно отображаются без использования описа- описаний более низкого уровня. Ее можно охарактеризовать следующим образом: • модели уровня ИС реализуются как последовательности микроопераций, закодированные на языке описания ап- аппаратуры, т. е. они не представляются как результат син- синтеза с использованием более простых структурных компонентов. Декларируется, что сама ИС является структурным компонентом; • моделируемое логическое устройство может иметь произ- произвольный размер, однако рассматриваемый способ модели- моделирования наиболее целесообразно применять для моделирования на уровне СБИС. В качестве границ моде- модели может служить интерфейс, определяемый выводами реальной ИС. Модель может также представлять набор ИС, реализующих некоторую системную функцию. В этом случае можно моделировать подобный набор ИС как единое целое, поскольку здесь для проектировщика представляет интерес работа функционального устройст- устройства в целом, а не подробная временная диаграмма его отде- отдельных ИС. Модели уровня ИС могут строиться без описаний вентильного или регистрового уровня. Разра- Разработчик модели может использовать текстовые описания, структурные схемы, спецификации и временные диа- диаграммы, а также таблицы состояний и диаграммы состоя- состояний. Точность модели непосредственно зависит от точности исходной информации; • модели уровня ИС точно моделируют временные парамет- параметры сигналов входов-выходов. Если известна базовая техно- технология (например, д-канальные МОП-схемы, КМОП или ЭСЛ-схемы), то можно произвести вполне приемлемую предварительную оценку временных задержек в СБИС;
206 Глава 4. Проектирование интегральных систем модель уровня ИС может быть описана как множество спе- спецификаций, определяющих представление СБИС на уров- уровне ИС. Такой подход иллюстрируется рис. 4.3. Входные спецификации регламентируют время установления, вре- время удержания и минимальные длительности импульсов для входных сигналов ИС. Внутренние спецификации рег- регламентируют микрооперации устройства, требования к его внутренней памяти, а также задержки для основных внутренних сигнальных цепей. Выходные спецификации определяют моменты времени, в которые происходит пе- переключение выходных сигналов. Входные спецификации Внутренние спецификации Выходные спецификации Входы Время предустановки Время удержания Минимальная длительность импульса 1 Микрооперации • Память Задержки сигналов • на основных внутренних цепях Временные параметры ' выходных сигналов Выходы Рис. 4.3. Представление СБИС на уровне ИС Верхний уровень иерархии структур модели — это сис- системный уровень (процессоров — памяти — коммутаторов (ППК)). В качестве структурных компонентов этого уровня используются процессор, память и коммутатор (шина). По- Поведенческое описание на этом уровне включает такие основ- основные данные и характеристики, как, например, показатель быстродействия процессора в миллионах команд в секунду (МИПСах) или пропускная способность тракта обработки данных (бит/с). Другое важное применение моделей уровня ИС — уже после изготовления моделируемой ИС. Изготови- Изготовители систем могут использовать эту СБИС как компонент своей системы, и его модель потребуется им для ее модели- моделирования. Так как модель вентильного уровня остается собст- собственностью изготовителя ИС, компании-поставщики систем моделирования предлагают к ним поведенческие модели компонентов уровня регистровых передач. Имеется также
4.2. Высокоуровневое проектирование 207 ряд моделей уровня ИС для таких сверхбольших интеграль- интегральных схем, как микропроцессоры. При моделировании на микросхемном уровне (уровне ИС) достигается в 102-104 раз большая эффективность, чем для логического уровня. Проектировщик должен всегда стремиться выбирать самый высокий возможный уровень представления проекта, при котором можно провести моде- моделирование и достичь желаемой точности. Поэтому, если про- проектировщика интересуют только зависимости «вход-выход» для ИС, используемой в разрабатываемом устройстве, реко- рекомендуется строить модели и производить моделирование именно на уровне ИС. 4.2. Высокоуровневое проектирование С точки зрения проектировщика сложной технической системы модели логического и регистрового уровней явля- являются слишком детализированными. Использование моделей низких уровней для детального моделирования характери- характеристик системы обходится слишком дорого. Кроме того, изго- изготовитель системы может и не иметь в своем распоряжении моделей логического уровня для тех или иных компонентов. В то же время модели уровня ИС для таких компонентов да- дадут изготовителю возможность оценить характеристики ин- интегральной системы. Таким образом, можно считать, что наиболее целесооб- целесообразным решением является применение моделей уровня ИС для исследования взаимодействия между компонентами сложных систем. Однако для точного моделирования такого взаимодействия нужно иметь адекватные поведенческие мо- модели уровня ИС, которые отображали бы функционирование ИС в терминах их сигналов входа-выхода без необходимости прибегать к описанию компонентов и систем на уровне логи- логических элементов. Для этого необходимы специальные язы- языки для описания функционирования аппаратуры — HDL [4.4]. Сейчас проектировщики могут выбирать из многих языков HDL. В HDL-описании, как и в любой модели, отра- отражаются только некоторые аспекты реальной системы. Циф- Цифровую аппаратуру характеризуют, например, такие аспек-
208 Глава 4. Проектирование интегральных систем ты, как функциональный (реализуемая функция, алго- алгоритм); временной (задержки, производительность, время отклика); структурный (типы и связи компонентов); ресурс- ресурсный (число вентилей, площадь кристалла); надежностный (время наработки на отказ); конструктивный (вес, габари- габариты); стоимостной и т. д. HDL содержит средства, позволяю- позволяющие отобразить в основном первые три аспекта: функциона- функциональный, временной и структурный (рис. 4.4). Поведение (алгоритм) команды алгоритмы устройств микрооперации булевы функции о Структура фронты сигналов/^ переклю- вен- базовые реги- микро- устрой- ЭВМ J^ чатели тили элементы стры схемы ства и ВС микротакты^ (узлы) такты Время Рис. 4.4. Основные аспекты цифровых устройств, отражаемых языком HDL Как уже отмечалось, функция цифрового устройства мо- может детализироваться от уровня системы команд и алгорит- алгоритмов устройств до булевых функций; структура — от уровня устройств типа процессор — память до уровня вентилей и переключающих элементов; время — от задержек фронтов сигналов (нано — ns и фемтосекунды — fs) до тактов. Сте- Степень детализации аспектов, отображаемых в описаниях ап- аппаратуры, определяется конкретными задачами. Например, описание некоторой микропроцессорной системы может строиться как описание структуры, состоящей из микро- микросхем БИС, а описание самих микросхем строится как пове- поведенческое, если их описание на вентильном уровне либо от- отсутствует, либо слишком громоздко. Если посмотреть на структурную организацию HDL, то можно сказать, что он состоит из двух компонентов — обще- общеалгоритмического и проблемно-ориентированного (рис. 4.5). Общеалгоритмический компонент VHDL — это язык, близкий по синтаксису и семантике к языкам программиро- программирования типа ПАСКАЛЬ, АДА.
4.2. Высокоуровневое проектирование 209 HDL J L Общеалгоритмический компонент (Паскаль, ADA, для VHDL, С, C++ для VERILOG) Скалярные данные типа: целый, вещественный, булевский, битовый и др., агрегаты: массивы, структуры Проблемно-ориентированный компонент Последователь- Последовательные операторы: присваивания, условный, цикла, выбора и др. Данные вида сигнал, данные физического типа, атрибуты сигналов, многозначный алфавит Процедуры, блоки, пакеты Параллельные операторы: назначения сигналу, процесса, конкретизации компоненты и др. Описание интерфейса объекта, описание архитектуры, описания конфигурации Рис. 4.5. Структура языка HDL: общеалгоритмический и проблемно-ориентированный компоненты Общеалгоритмический компонент VERILOG — это язык, близкий по синтаксису и семантике к языкам программиро- программирования типа С, C++. Среди наиболее распространенных HDL — Сас1епсе'овский Verilog, Mentor'oBCKnfi Lsim и IEEE-стандарт, известный как «Язык описания аппаратуры VHSIC» (VHDL). Однако VHDL — единственный язык описаний аппаратных средств, который является международным стандартом и широко ис- используется в разработках сложных электронных систем. По- Подобно другим HDL, он используется для описания и модели- моделирования функционирования цифровых электронных систем. HDL-спецификации позволяют разработчикам алгоритмов, разработчикам архитектур, системным разработчикам, спе- специалистам по технологии, производственным инженерам и инженерам по тестированию использовать общее и последо- последовательное описание данных объекта проектирования. Хотя невозможно в рамках одного раздела подробно описать язык VHDL, важно понимать концепции объекта проекта и сигна- сигнала, чтобы увидеть, как VHDL облегчает проектирование.
210 Глава 4. Проектирование интегральных систем Основные понятия языка VHDL Первая важная концепция в VHDL — объект проекта. Объект проекта соответствует аппаратному устройству произ- произвольной сложности. Объект проекта может представлять всю проектируемую систему, некоторую подсистему, устройство, узел, стойку, плату, кристалл, макроячейку, логический эле- элемент и т. п. В описании объекта проекта можно использовать компоненты, которые, в свою очередь, могут быть описаны как самостоятельные объекты проекта более низкого уровня. Таким образом, каждый компонент объекта проекта может быть связан с объектом проекта более низкого уровня. В ре- результате такой декомпозиции пользователь строит иерархию объектов проекта, представляющих весь проект в целом, и состоящую из нескольких уровней абстракций. Объект про- проекта состоит из интерфейса (также называемого entity в VHDL), одной или более альтернативных архитектур и одно- одного или более разделов VHDL-конфигурации. Интерфейс устанавливает каналы связи между объектами проекта и внешним миром через generic и порты ввода-выво- ввода-вывода. Параметр generic является типом переменной в пределах объекта проекта, которой может быть назначено значение только когда она использована при моделировании. Generic объявляет технологически-зависимые константы, которые должны играть роль параметров в пределах объекта проекта, как например, информация о зависящей от устройства син- синхронизации. В объекте проекта эти generic рассматриваются как константы. Порт — это точка пересечения сигнала и гра- границы объекта проекта. Таким образом, порты в VHDL — это объекты того же самого типа, как сигналы. Архитектура определяет функцию, выполняемую объ- объектом проекта. Есть три типа архитектур в VHDL: структур- структурная, поведенческая и потоковая (также называемая уровнем регистровых передач). Структурная архитектура опреде- определяет объект проекта как группу других VHDL-объектов про- проекта (или компонентов), взаимосвязанных сигналами. Структурное VHDL-описание подобно схемному EDIF-спис- ку соединений. Например, структурное описание арифмети- арифметико-логического устройства (АЛУ) содержит запоминающие регистры, сдвиговые регистры, мультиплексоры и логиче-
4.2. Высокоуровневое проектирование 211 ские ячейки. Поведенческая архитектура определяет объ- объект проекта, описывая преобразование входов в выходы, вы- выполняемое объектом. Поведенческое VHDL-описание подоб- подобно последовательным языкам программирования типа С. Например, архитектурное представление АЛУ содержит программируемый алгоритм, который вычисляет функцию ALU. Потоковая архитектура является спецификацией, которая содержит характеристики как поведенческой, так и структурной форм. В потоковом VHDL-описании строковые утверждения выполняются не последовательно, а одновре- одновременно, как только их выражения станут определенными. Эти процессные модели функционирования электронных це- цепей более детальны, чем поведенческий VHDL. В VHDL выбор конкретного типа архитектуры полно- полностью на усмотрении проектировщика. Конфигурация определяет технологически связанные константы и выделяет специфическую архитектуру, кото- которая будет использована при моделировании объекта проекта в процессе имитирования. Например, две различные конфи- конфигурации обычно используются, чтобы сымитировать пове- поведенческую и структурную архитектуру одного и того же объекта АЛУ. Другая важная концепция — сигнал VHDL. Он соответ- соответствует физическому межсоединению или группе межсоеди- межсоединений. Величина сигнала представляет физическое состоя- состояние межсоединения. VHDL допускает сигналы, которые дол- должны моделироваться на различных уровнях, то есть от абстрактных уровней, где сигналы представлены логически- логическими величинами 0 и 1, вплоть до физических уровней, где сигналы представлены сложными типами данных. В VHDL определение сигнальной структуры данных и функций, ко- которые манипулируют этими данными, не включены в язык, но предусматриваются через стандартные и пользователь- пользовательские пакеты. Эта возможность позволяет VHDL моделиро- моделировать межсоединения различных технологий. Сигнальные переменные имеют сходство с переменными в стандартных программах; они должны объявляться, чтобы иметь опреде- определенный тип, и они могут изменяться через операторы назна- назначения сигналам. Однако в отличие от обычных переменных каждый сигнал связывается с определенным временным ин-
212 Глава 4. Проектирование интегральных систем тервалом. Этот временной интервал определяется в языке VHDL и привязан к информации, поддерживаемой VHDL- имитатором. Например, VHDL-утверждение А<= В and С after 10 ns означает, что величина В and С назначается сигналу А с за- задержкой в десять наносекунд после изменений в значениях хотя бы одного из сигналов В или С. Возможности VHDL- синхронизации позволяют описать различные временные свойства цифровых систем, включающие: время удержания, предустановка, обнаружение пика, мгновенный отклик, чувствительность к фронту и периодичность сигнала. Ключевой характеристикой VHDL является способность использовать абстрактные типы сигналов. Например, ког- когда проектировщики разрабатывают абстрактные модели сво- своих ИС, они могут описывать входы и выходы в виде высоко- высокоуровневых языковых конструкций, не беспокоясь о деталах реализации, таких, как, например, назначение вывода и синхронизация сигнала. С другой стороны, для моделей ИС на уровне вентилей инженеры могут использовать системы многозначной логики. Способность определять сигнальные типы полезна при разработке модели; однако использование различных типов сигналов может создать проблемы совмес- совместимости, когда индивидуальные модели компонентов объе- объединяются в полную систему. Для того чтобы решить эту по- потенциальную проблему, IEEE приняло международный стандарт девятизначной логики для типа сигналов, которые должны использоваться в VHDL моделях. В заключение данного раздела следует подчеркнуть, что общие идеи иерархии и параллелизма широко используются в языке VHDL. Возможности VHDL VHDL может описывать цифровые системы от системно- системного уровня вплоть до логического уровня, как показано на рис. 4.6. VHDL поддерживает решение следующих задач процесса проектирования: архитектурную и иерархическую декомпозицию проекта, верификацию, синтез, тестирование и документирование. При архитектурном проектировании VHDL используется в качестве параллельного языка про- программирования, чтобы разрабатывать и тестировать архи-
4.2. Высокоуровневое проектирование 213 УРОВЕНЬ ПРЕДСТАВЛЕНИЕ MEMORY STORAGE подсистемы CLOCK- D DFF регистры — REGISTER CONTROL ALU СОДЕРЖАНИЕ архитектуры ый проект q логический проект QBAR входы, выходы логика тактирование таблицы истинности таблицы состояний булевы уравнения переключатели Рис. 4.6. VHDL на различных уровнях проектирования тектуру проекта. При иерархической декомпозиции абст- абстрактное VHDL-описание переводится в более детальное опи- описание, которое сочетается с технологией реализации. Например, в архитектурной фазе проектирования сумматор с плавающей точкой можно представить как VHDL-функ- цию, действующую в реальных числах и дающую действите- действительное число в результате. При иерархической декомпозиции этот сумматор переопределяется как цифровая схема из ре- регистров, мультиплексоров и логических вентилей, которая принимает электрические сигналы на входах и выдает элек- электрические сигналы на выходах. Верификация является VHDL-средством, которое позво- позволяет проектировщикам проверять различные представления того же самого проекта с той же самой функцией. Напри- Например, верификация может использоваться, чтобы проверить, что архитектурное описание сумматора выполняет те же са- самые функции, как и описание на уровне вентилей этого сум- сумматора. При синтезе архитектурное описание проекта авто- автоматически компилируется в описание на уровне вентилей реальной конфигурации схемы СБИС. VHDL может также использоваться при тестировании системы, передавая ими- имитационные данные инженерам по тестированию, так что они могут использовать их, чтобы разработать программы испы- испытаний прежде, чем будут изготовлены образцы. Позволяя разработчикам цифровых систем общаться на этом же стан-
214 Глава 4. Проектирование интегральных систем дартном языке проектирования, VHDL упрощает поддержку и документирование проекта системы и имитационных мо- моделей. VHDL и моделирование системного уровня Перспектива развития высокоуровневого проектирова- проектирования в том, что VHDL способен обеспечить моделирование на системном уровне. Моделирование на системном уровне мо- может помочь инженерам находить функциональные недостат- недостатки проекта в период разработки вместо тестирования образ- образцов после их изготовления производителями. Моделирова- Моделирование является процессом использования компьютерной программы, имитирующей поведение физической системы. Конечно, более точное моделирование требует больше време- времени выполнения. Таким образом, при разработке сложных технических систем многоуровневый проект и имитацион- имитационная техника должны применяться так, чтобы системы мог- могли быть надежно построены, не требуя большого времени моделирования. Как пример многоуровневого моделирования, рассмот- рассмотрим разработку кристалла СБИС микропроцессора. На уров- уровне алгоритма проектировщик пишет программу на языке С, чтобы смоделировать поведение системы. Цели этого моде- моделирования включают проверку кэширования и алгоритмов конвейерной обработки, а также оптимизацию системы команд. Затем VHDL используется, чтобы описать структу- структуру системы с точки зрения его функциональных компонен- компонентов. Цель этого шага — определить алгоритмы работы систе- системы с точки зрения доступных компонентов. Эти функциона- функциональные компоненты включают регистры, элементы памяти, логические ячейки и т. п. Затем может быть проведено фун- функциональное моделирование, чтобы проверить соответствие архитектуры проекта требованиям спецификации. После успешного завершения функционального модели- моделирования детализируют логику проекта и применяют инстру- инструментальные средства проектирования топологии кристалла для размещения отдельных компонентов. Наконец, после того как компоненты спроектированы и соединены между собой, из общей топологии кристалла извлекается информа- информация о паразитных связях и связанных с ними временных за-
4.2. Высокоуровневое проектирование 215 держках с последующим их введением в структурную мо- модель системы для выполнения процедуры верификации сис- системы. VHDL как средство параллельной разработки допускает действия, которые позволяют распараллеливать работы по проектированию системы практически сразу после получе- получения спецификации. VHDL достигает этих целей, позволяя проектировщикам разрабатывать проекты по нисходящему методу. В нисходящей разработке детали прорабатываются последующим уточнением. Наиболее важные решения при- принимаются вначале. Правильность этих решений подтверж- подтверждается многоуровневым моделированием (рис. 4.7), и они модифицируются, если необходимо добиться целей проекти- проектирования. Алгоритмический проект Алгоритмическое моделирование Архитектурный проект | Г Архитектурное моделирование Проектирование физических компонентов Моделирование физических компонентов I Производство Рис. 4.7. Многоуровневое моделирование При каждом начале процесса проектировщики оценива- оценивают издержки разработки системы и ее исполнения и сравни- сравнивают эти оценки с целевыми издержками и функциональны- функциональными требованиями. Если требования не выполнены, разработ- разработка может модифицироваться, чтобы удовлетворить их, или требования могут быть изменены.
216 Глава 4. Проектирование интегральных систем Рассмотрим более подробно процесс нисходящего проек- проектирования. Как и в любом процессе нисходящего проекти- проектирования, начинают с составления функциональной специ- спецификации для проекта. Затем из спецификации создают формальное описание, называемое поведенческой моделью. Поведенческая модель включает в себя стандартную блоч- блочную диаграмму и комплект поведенческих имитационных программ на языке VHDL. VHDL-моделирование дает про- проектировщикам систем альтернативу интуитивным рассуж- рассуждениям. Исполняя поведенческие имитационные програм- программы, проектировщики могут проверить входы, выходы и ло- логическое поведение каждого функционального блока. Они могут также определить границы синхронизации в це- целом — время выполнения каждым блоком своих функций, чтобы удовлетворить общие требования к корректности ис- исполнения программ. Поскольку высокоуровневые модели легче написать, чем модели на уровне вентилей, проектировщики могут изучить различные варианты, выбирая те, которые дают наибольший эффект или более легко тестируются. Если моделирование показывает, что некоторые функциональные блоки должны многократно быть выполнены в слишком коротком отрезке времени, альтернативой будет применение множественных шин данных для выполнения функций параллельно. В конечном счете поведенческая модель разделяется на логические подсистемы, представляющие как стандартные СБИС, так и IP-блоки. В этом процессе интерфейсы между всеми ИС в будущей системе согласованы. Если каждый проектировщик, ответственный за разработку подсистемы, применяет VHDL-моделирование, то взаимосогласование с другими подсистемами будет оптимизировано. Наиболее важное преимущество VHDL в том, что обеспечивается по- подробная, однозначная функциональная спецификация для каждой подсистемы проекта. Эта спецификация допускает распределенную среди нескольких исполнителей разработку логического проекта и увеличивает шансы последующего объединения правильно функционирующих частей. Если система использует стандартные части заказных фрагментов предыдущих проектов, то существующие моде- модели фрагментов могут использоваться наряду с новыми
4.2. Высокоуровневое проектирование 217 VHDL-фрагментами, чтобы создать более точную модель си- системного уровня нового проекта. Эта улучшенная модель си- системного уровня моделируется снова, чтобы гарантировать правильное функционирование. После отработки функцио- функциональных описаний поведенческие VHDL-описания последо- последовательно трансформируются в VHDL-описания на уровне вентилей. Это может быть сделано вручную или автоматиче- автоматически через программное обеспечение логического синтеза. Со- Современные программы логического синтеза могут преобразо- преобразовывать поведенческие модели или модели уровня регистро- регистровых передач в модели на уровне вентилей. Такие программы могут исполнить значительную часть логического синтеза и позволить инженерам реализовать сложные проекты значи- значительно быстрее. Если функциональные блоки большие, проектировщики могут выбрать детализацию проекта в множестве меньших поведенческих моделей перед переходом к заключительным этапам. На каждом шаге этой последовательной переработ- переработки проектировщики могут сравнивать функционирование их детальных моделей с функционированием поведенческой модели функционального блока при полном моделировании системы. Так как VHDL-подсистемы могут быть связаны вместе подобно подпрограммам в большой программе, модели мо- могут быть представлены индивидуально в форме уровня логи- логических элементов и связаны с поведенческим моделировани- моделированием для проверки. Декомпозиция больших систем в контро- контролируемые блоки с использованием VHDL устраняет потребность в моделировании функционирования системы на низком уровне. С VHDL моделирование низкого уровня должно выполняться только для подсистем разумного раз- размера. Для того чтобы получить точные параметры проекта сис- системы, могут быть использованы инструментальные средства топологического синтеза и результаты последующей схемо- схемотехнической экстракции в описаниях VHDL-моделей на уров- уровне вентилей. Например, параметры топологии логической ячейки — задержки — могут быть извлечены и включены снова в соответствующую VHDL-модель, чтобы подтвердить правильность синхронизации на системном уровне.
218 Глава 4. Проектирование интегральных систем VHDL не помогает физическому размещению и трассиров- трассировке интегральных схем в явном виде. Тем не менее, увеличи- увеличивая вероятность того, что образцы СБИС будут работать пра- правильно сразу, VHDL может уменьшить общее время получе- получения удовлетворительного образца интегральной системы. 4.3. Особенности проектирования систем на кристалле В настоящее время, интегральные схемы превысили уро- уровень сложности в 10 миллионов вентилей на кристалле и тактовой частоты более 1 ГГц. Один из путей преодоления «барьера размерности» лежит в использовании методологии так называемого повторнопригодного проектирования (reuse-based design methodology). Возможность простого включения в проекты новых систем проектов предыдущих систем или их фрагментов значительно упрощает задачу разработчика сложных электронных систем. Практика проектирования систем на одном кристалле (System On a Chip — SoC) предполагает частое использова- использование одних и тех же так называемых IP-блоков в разных про- проектах (описание IP-блока на языке HDL называют макро- макросом). Отсюда термин — повторнопригодность HDL-описа- ний. Соответственно проектировщик системы на кристалле покупает интеллектуальную собственность (intellectual pro- property — IP) в виде VHDL- или VERILOG-описания у фирмы- владельца IP-блока и включает макрос в описание своей сис- системы, наряду, возможно, с купленным у другой фирмы VHDL-описанием последовательного порта, аналого-цифро- аналого-цифрового преобразователя и т. п. Этот макрос называется «жестким» (hard macros) или «мягким» (soft macros). Мягкий макрос предполагает использование синтезабе- льного HDL-описания на регистровом уровне (RTL). Жест- Жесткий макрос предполагает применение описания в виде GDSII-файла, т. е. в виде полностью размещенного и оттрас- сированного поставщиком схемного компонента. Для полно- полноты приведем также и несколько другую классификацию до- документации на IP-блоки. IP-блоки могут входить в иерархи-
4.3. Особенности проектирования систем на кристалле 219 ческие структуры, образуя так называемые сложные IP-блоки, включающие более одного IP-блока. IP-блоки име- имеют несколько уровней описания, характеризуемые как про- программный (уровень регистровых передач), структурный (netlist), и топологический (зависимая от технологии топо- топология). Каждый уровень представления IP-блока имеет раз- различное моделирование и тестовые требования [4.6]. Обычно методология автоматизированного проектирова- проектирования предполагает следование трем главным правилам: 1. Проектируемое устройство должно быть полностью синхронным, входы и выходы блоков (макросов) дол- должны быть регистрами. Это позволяет сделать локаль- локальной задачей оптимизацию временных параметров. 2. Проектные модули перед их включением в модули бо- более высокого ранга иерархии должны быть полностью верифицированы, так как с повышением сложности проекта трудоемкость задач поиска ошибок растет не- непропорционально быстрее. 3. Параллельно с проектированием системы и функцио- функциональных блоков необходимо разрабатывать средства их верификации, т. к. трудоемкость верификации сравнима с трудоемкостью проектирования самой сис- системы. Критериями качественного проекта являются: • исчерпывающая документация; • хороший стиль HDL-кодирования и ясный комментарий; • удачно спроектированная верификационная среда (test benches) и исчерпывающие тестовые наборы (test vec- vectors); • развитые и ясные скрипты (scripts — последовательности команд синтезатора, используемых для управления про- процессом проектирования). Повторнопригодный IP-блок дополнительно должен быть: 1) легко реконфигурируемым для использования в раз- различных приложениях; 2) малозависимым от типов технологий (различных биб- библиотек), его логической и конструкторской реализа- реализации, например, и на ПЛИС (FPGA), и на элементах за- заказных БИС;
220 Глава 4. Проектирование интегральных систем 3) пригодным для верификации на различных типах формальных верификаторов или моделирующих сис- систем, например, моделироваться на Modelsim и на VE- RILOG-XL, и пригодным для синтеза на различных типах САПР, например, САПР ПЛИС фирм Synopsys, Model tech, Alt era и Xilinx; 4) пригодным для автономной верификации, независимо от кристалла, в котором он будет использоваться; 5) должен включать исчерпывающие рекомендации по реконфигурации и ограничениям значений парамет- параметров. Ниже приведены некоторые из проблем, возникающих при повторном использовании макросов: • несоответствие языка описания макроса (например, VERILOG) описанию остальных компонентов проектиру- проектируемого кристалла (например, VHDL); • системы проектирования, использовавшиеся ранее при разработке макроса, в настоящее время не поддержива- поддерживаются или отсутствуют; • у проектировщиков макроса и кристалла были разные операционные системы и инструментальные ЭВМ. 4.4. Проектирование систем на кристалле Использование предварительно разработанных IP-блоков для проектирования систем на кристалле (SoC) стало необ- необходимым, чтобы обеспечить приемлемое время выхода на рынок. Однако надежды на резкое сокращение сроков про- проектирования SoC с использованием IP-блоков пока еще не оправдываются по следующим причинам [4.3]: • разработка архитектуры системы — сложная задача, ко- которая требует, чтобы проектировщики знали, какой цент- центральный процессор должен использоваться, какие функции должны быть реализованы в аппаратных и про- программных средствах, какого быстродействия будет систе- система и достаточно ли оно для решения планируемых прикладных задач и т. д.;
4.4. Проектирование систем на кристалле 221 • интеграция IP-блоков в SoC — в значительной степени ручной и подверженный ошибкам процесс, поэтому он требует, чтобы проектировщики полностью понимали функциональные возможности, интерфейсы и электриче- электрические характеристики сложных IP-блоков типа микропро- микропроцессоров, контроллеров памяти, арбитров шины и т. д.; • достижение временной синхронизации затруднительно из-за сложности системы. В многих случаях это требует, чтобы IP-блоки были индивидуально настроены, что сни- снижает возможность их многократного использования; • физическая реализация проектов таких больших сис- систем — существенная проблема. Даже если топология каждого IP-блока предопределена, соединение их вместе с трассировкой цепей может вызвать непредвиденные эф- эффекты типа шума и появления паразитных емкостей, ко- которые ухудшают параметры проектируемой системы; • системная верификация — одно из главных узких мест. Даже если IP-блоки предварительно верифицированы, это еще не означает, что система будет работать после того, как они соединены вместе. Различные интерфейсы и временные проблемы могут привести проектируемую систему в нерабочее состояние даже при том, что индиви- индивидуальные IP-блоки спроектированы без ошибок. В насто- настоящее время формальная верификация и программные методы моделирования не могут обработать большие сис- системы в короткое время на имеющихся аппаратных сред- средствах; • недостаток установленных стандартов, широко распро- распространенных в промышленности, и/или недостаток эффек- эффективных инструментальных средств синтеза интерфейса затрудняют интеграцию в SoC IP-блоков от различных поставщиков; • аппаратно-программная интеграция — другая сложная проблема, которая непосредственно оказывает влияние на время выхода на рынок, потому что она обычно реали- реализуется в конце процесса проектирования, так как обычно программная часть разрабатывается позже аппаратной. Большинство инструментальных средств САПР традици- традиционно сосредоточены на проблемах проектирования на низких
222 Глава 4. Проектирование интегральных систем уровнях, типа синтеза, синхронизации, топологии и модели- моделирования. В дальнейшем были разработаны методы моделиро- моделирования, использующие разновидности языков высокого уров- уровня. Однако они непосредственно не были ориентированы на системы, использующие IP-блоки. После того как основные архитектурные решения сделаны, самая первая задача в со- создании SoC — интеграция IP-блоков в высокоуровневый про- проект, который может тогда моделироваться, синтезироваться, подвергаться декомпозиции, планированию кристалла и ис- использоваться для разработки опытного программного обеспе- обеспечения. Эта задача интеграции — в значительной степени руч- ручной и подверженный ошибкам процесс, потому что он требует, чтобы проектировщик понимал функциональные возможно- возможности сотен выводов в различных IP-блоках и определял, какие выводы должны быть сооединены вместе. Кроме того, IP-бло- IP-блоки обычно параметризованы и должны быть конфигурирова- конфигурированы согласно их использованию в SoC. Эти трудоемкие и руч- ручные задачи могут внести ошибки в проект, которые не могут быть обнаружены сразу, а находятся намного позже в процес- процессе проектирования. Высокоуровневый проект — главный до- документ для всех последующих задач, следовательно важно на его уровне легко и эффективно осуществлять конфигурирова- конфигурирование системы. Сложность современных SoC и недостаток соответствую- соответствующих инструментальных средств высокого уровня делают по- повторное использование IP-блоков и реализацию режима «plug and play» крайне трудоемким. Один из принципиаль- принципиальных подходов к решению таких задач опубликован в работе [4.3]. Она обращается к этим проблемам и представляет но- новые методы. Эти методы и соответствующая методология были реализованы в инструменте по имени «Коралл». Ко- Коралл позволяет разрабатывать SoC на высоком уровне абст- абстракции, называемом «виртуальный проект», состоящем из виртуальных компонентов, связанных виртуальными цепя- цепями. Этот виртуальный проект гораздо более компактный и его проще создавать и конфигурировать, чем реальный про- проект. Коралл также содержит алгоритмы для преобразования этого виртуального проекта в реальный проект, состоящий из реальных IP-блоков из библиотеки, межсоединенй и ло- логики связи.
4.4. Проектирование систем на кристалле 223 4.4.1. Архитектура систем на кристалле Когда началось проектирование SoC, пришлось иметь дело с IP-блоками, которые были разработаны со многими различными интерфейсами и протоколами связи. Интегри- Интегрирование таких IP-блоков в SoC часто требовало введения до- дополнительной логики связи. Чтобы избежать этой пробле- проблемы, были разработаны стандарты на структуры шин для SoC. В настоящее время есть несколько доступных архитек- архитектур шин от ведущих производителей, типа CoreConnectTM от IBM и the AMBA от ARM. Эти архитектуры шин обычно привязываются к архитектуре процессора, типа PowerPC или ARM. IP-блоки, выпускаемые этими изготовителями, оптимизированы, чтобы работать с такой архитектурой шин, таким образом требуя минимальной дополнительной логики интерфейса. Среда проектирования SoC состоит из библиотеки IP-блоков по имени IBM Blue LogicTM Core Lib- Library и фиксированной архитектуры шины, называемой Co- CoreConnectTM Architecture. IP-блоки предварительно разра- разработаны и проверены, чтобы работать с архитектурой шины и протоколами CoreConnect, таким образом допуская повтор- повторное их использование от кристалла к кристаллу. Архитектура IBM CoreConnect предусматривает три типа шин для соединения IP-блоков и заказной логики: • процессорная локальная шина (PLB): используется для соединения быстродействующих, широкополосных IP- блоков, типа PowerPC, DMA-контроллеров и внешних ин- интерфейсов памяти; • периферийная шина на кристалле (ОРВ): используется для соединения периферийных устройств, которые требу- требуют более низких скоростей передачи данных, типа после- последовательных портов, параллельных портов, UARTs и других узкополосных IP-блоков; • шина регистра устройства управления (DCR), используе- используемая для низкоскоростной проходящей информации о конфигурации и состоянии между IP-блоком процессора и другими IP-блоками. Рис. 4.8 иллюстрирует SoC, разработанную с использова- использованием IP-блоков.
224 Глава 4. Проектирование интегральных систем ОРВ Masters I PLB Master e.g.: CPU, DMA Controller, MPEG Audio, Video e.g.:Bridge PLB Slave, OBP Master Processor Local Bus (PLB) e.g.: UART, IIC, Timers, IRDA, SmartCard, GPIO e.g.: Decompression Core, External Bus Interface Unit Рис. 4.8. Система на кристалле с использованием IP-блоков Хотя IP-блоки разработаны так, чтобы связываться с по- помощью интерфейса с шинами почти непосредственно, проек- проектировщик все еще должен соединять сотни выводов и знать параметры всех IP-блоков. Чтобы создать правильное высо- высокоуровневое описание SoC, проектировщик должен решить следующие задачи: • определить все IP-блоки, необходимые, чтобы осущест- осуществить желательные функциональные возможности систе- системы. Этот процесс — комбинация идентификации предварительно разработанных IP-блоков, которые нужно использовать или без модификации или с ней, и иденти- идентификации новых IP-блоков, которые должны быть разрабо- разработаны. Это обычно делается в пределах ограничений цены/эффективности. Проектировщик должен выбрать между 32-, 64- или 128-разрядными шинами, характери- характеристиками процессора, компромиссами между аппаратными и программными средствами и т. д. Во многих случаях эти выборы могут быть подтверждены только позже, после анализа характеристик и моделирования; • понять функциональные возможности всех выводов на всех IP-блоках и определить, какие выводы должны быть соединены вместе. Хотя эта проблема облегчается исполь-
4.4. Проектирование систем на кристалле 225 зованием предопределенной архитектуры шины, это — все еще трудоемкий ручной процесс. Он требует от проек- проектировщиков изучения очень объемной информации, что- чтобы понять функции всех выводов во всех IP-блоках. Даже единственный стандартный вывод на только одном IP-блоке может причинять недели задержек в графике работ, если это оказывается несовместимым со специфи- спецификациями. Проектировщик SoC вынужден будет связать- связаться с разработчиком IP-блока для консультации или, что еще хуже, неправильно подключит этот вывод и обнару- обнаружит эту ошибку значительно позже в течение процессов моделирования и отладки; • определить приоритеты запросов для устройства управле- управления передачей данных по шинам и приоритеты запросов на процессорные прерывания. Приоритеты определяются прикладной спецификой и могут резко влиять на эффек- эффективность системы. Проектировщики должны анализиро- анализировать прикладную программу и определять приоритеты среди устройств системы; • соединить выводы в соответствии с их функциональным назначением при сохранении возможности для последую- последующих незначительных изменений в проекте; • определить, какие IP-блоки могут обращаться к памяти через DMA-контроллер и осуществить назначение кана- каналов согласно приоритету устройств, которые обращаются с запросами. Когда число DMA-запросов превышает чис- число DMA-каналов, может быть использовано разделение каналов и/или добавление дополнительного DMA-конт- DMA-контроллера; • определить карты адресов для всех IP-блоков и просмот- просмотреть эти данные как параметры каждого IP-блока, обес- обеспечивая отсутствие конфликта адресов между любыми двумя IP-блоками; • определить обоснованные интервалы синхронизации для системы на кристалле и подключить синхронизацию к каждому IP-блоку и соответствующую синхронизацию к управляющей логике; • вставить необходимую логику связи между IP-блоками; • определить все вводы-выводы кристалла и спроектиро- спроектировать логику ввода-вывода, включая любое совместное ис-
226 Глава 4. Проектирование интегральных систем пользование выводов и требуемые изготовителем тесты контроля этой логики; • проверить, что используемые IP-блоки совместимы отно- относительно рабочей частоты, разрядности и т.д.; • документировать систему (например, карты адресов, приоритеты прерываний, DMA-каналы, вводы-выводы кристалла и т. д.) для последующего использования раз- разработчиками программного обеспечения и топологии кристалла проектируемой системы. Современные инструментальные средства для решения перечисленных задач все еще являются недостаточно эффек- эффективными и не позволяют создавать безошибочные проекты систем на кристалле в приемлемые сроки. 4.4.2. Автоматизация проектирования систем на кристалле Для получения теоретически безошибочного описания высокоуровневого проекта SoC с использованием IP-блоков корпорацией IBM был разработан инструмент под названием «Коралл», который содержит новые алгоритмы и методоло- методологию, основанные на концепции синтезируемого «виртуаль- «виртуального проекта» [4.3]. Коралл увеличивает производитель- производительность труда при проектировании, поднимая уровень абст- абстракции, на котором проектируется SoC. Позволяя проектировщику работать на виртуальном уровне, он значи- значительно уменьшает вероятность появления ошибок в проекте и время проектирования. Авторы предлагаемой методология выделяют пять со- составляющих ее частей: • виртуальный проект; • интерфейсная инкапсуляция и интерфейсы без дополни- дополнительной логики; • свойства IP-блоков и выводов; • алгоритм межсоединений; • алгоритм синтеза реального проекта из виртуального: • алгоритм конфигурирования проектируемой системы. Их функциональное назначение описано ниже.
4.4. Проектирование систем на кристалле 227 Виртуальный проект В традиционном маршруте проектирования ASIC имеет- имеется абстракция высокого уровня, представленная языком описания уровня регистровых передач, с использованием аппаратных языков описания типа VHDL или Verilog. Боль- Большинство проектов записывается на уровне регистровых пе- передач и преобразуется в список цепей уровня логических элементов инструментальными средствами логического син- синтеза. В маршрутах проектирования современных SoC нет никакой подобной абстракции высокого уровня. Проекты SoC описываются непосредственно на уровне IP-блоков по- подобно уровню логических ключей вручную, подвергая обра- обработке сами IP-блоки и соединения между их выводами. Дру- Другими словами, проектирование SoC на основе IP-блоков на- находится в той же стадии, в какой было проектирование ASIC до широкого использования аппаратных языков описания и инструментальных средств логического синтеза. Концепция виртуального синтезируемого проекта в Ко- Коралле изменила эту ситуацию. Виртуальный проект являет- является структурной и функциональной инкапсуляцией (возмож- (возможностью сокрытия некоторых аспектов представления клас- класса) реального проекта, состоящего из виртуальных компонентов, виртуальных интерфейсов и виртуальных це- цепей. Виртуальный проект может быть создан с использова- использованием схемного редактора или любого аппаратного языка описания. Виртуальный компонент — представление класса реальных компонентов. Например, PowerPC виртуальный компонент (PPC_VC) представляет все реальные PowerPC IP-блоки (например, 401, 405). Для того же самого вирту- виртуального проекта пользователь может в любой момент выби- выбирать различное реальное отображение компонента для вир- виртуального компонента, и Коралл автоматически восстановит необходимые взаимосвязи и логику связи, чтобы использо- использовать новый реальный компонент. Вводы/выводы виртуального компонента называются виртуальными интерфейсами. Виртуальные интерфейсы со- соединяются с использованием виртуальных цепей. Виртуаль- Виртуальный интерфейс представляет группу реальных выводов ин- интерфейса, которые функционально связаны. Например, PowerPC виртуальный компонент содержит единственный
228 Глава 4. Проектирование интегральных систем виртуальный выводной РЬВ_М_БСи_интерфейс, представ- представляющий все реальные выводы (в реальных PowerPC IP-бло- IP-блоках), которые являются ответственными за интерфейс меж- между внутренними данными модуля кэша и устройством управления внешней шиной процессора. Поскольку число виртуальных портов находится в диа- диапазоне от 4 до 15 для виртуального компонента по сравне- сравнению с диапазоном от 50 до 300 для реального компонента, задача создания виртуального проекта очень упрощена и приблизительно эквивалентна вычерчиванию блок-схемы для SoC. Виртуальный проект представляет описание синте- синтезируемой SoC и документации, описывающей функцию SoC. Чтобы проиллюстрировать степень инкапсуляции компо- компонента, рассмотрим виртуальный компонент (PPCVC) реаль- реального PowerPC 401. Описание на VHDL компонента для PPCVC, показанного на рис. 4.9, имеет 10 выводов, или виртуальных интерфейсов, тогда как реальный компонент РРС401 имеет приблизительно 160 выводов. ENTITY PPC__VC IS PORT( PLB_M_ICU_interface: in STD_LOGIC; PLBMDCUJnterface: in STDJLOGIC; ISOCM interface: in STDJLOGIC; DSOCM_interface: in STD_LOGIC; APUJnterface: in STD_LOGIC; RESETJnterface: in STDJLOGIC; INTERRUPTJnterface: in STD_LOGIC; CLOCKJnterface: in STD_LOGIC; DCRJnterface: in STD_LOGIC; JTAG_interface: in STD_LOGIC END PPC_VC; Рис. 4.9. Описание виртуального компонента на языке VHDL Десять виртуальных выводов описывают функциональные интерфейсы типа PLB_M_DCU, а также другие требуемые ин- интерфейсы для синхронизации и тестирования. Каждый вирту- виртуальный интерфейс может соответствовать нескольким реаль- реальным выводам. Например, для РЬВ_М_БСи_интерфейса вир- виртуальный вывод соответствует 18 реальным выводам (включая входы и выходы).
4,4. Проектирование систем на кристалле 229 Интерфейсная инкапсуляция и интерфейсы без дополнительной логики Проектировщик системы не должен беспокоиться о со- создании интерфейсной логики между IP-блоками — это одна из основных идей предлагаемой методологии. Использование целевой шинной архитектуры и предварительно спроектиро- спроектированных IP-блоков для подключения к шине устраняет по- потребность в синтезе протокола и значительно уменьшает ко- количество интерфейсной логики. Однако это не устраняет ло- логику связи полностью, поскольку иногда зависит от полной системы. Например, все сигналы «подтверждения» от подчи- подчиненных устройств являются входами ключа ИЛИ, а выход связан с арбитром шины. Число входов к этому ключу ИЛИ зависит от числа подчиненных устройств. Чтобы предусмотреть полностью автоматический синтез виртуального проекта в реальный проект, Коралл полагает- полагается на два уровня инкапсуляции логики связи. Во-первых, каждый IP-блок разрабатывается содержащим всю статиче- статическую и параметризованную логику протокола/интерфейса. Это может быть сделано посредством настраиваемых портов в VHDL или параметров в Verilog. Во-вторых, Коралл спосо- способен автоматически создать ограниченное количество логики связи между IP-блоками. Эта логика описывается как свой- свойство входных выводов. Такое свойство может описывать простые булевые функции, которые представляют логику связи для всех исходных цепей к данному входному выводу. Посредством этих двух уровней проектировщик полностью освобождается от необходимости детально создавать любую логику интерфейса. Свойства IP-блоков и выводов Для автоматического генерирования соединений между IP-блоками необходимо закодировать структурные и функ- функциональные параметры компонента и его выводов таким об- образом, чтобы можно было их алгоритмически обработать компьютерной программой. В традиционных методологиях проектирования проектировщик должен затрачивать боль- большое время на изучение руководства по спецификациям то- только для того, чтобы выяснить, как должны быть соединены выводы в различных компонентах.
230 Глава 4. Проектирование интегральных систем В Коралле эта информация закодирована в свойства, присвоенные всем компонентам и их выводам. Коралл со- содержит алгоритмы, которые могут эффективно сравнивать эти свойства и решать, должны ли два вывода быть соедине- соединены. Свойства, связанные с выводом, определяют функцио- функциональные возможности и таксономию (систематику) этого вы- вывода. Назначая уникальные свойства всем выводам во всех IP-блоках, возможно сравнить эти свойства и определить, являются ли выводы совместимыми. Основываясь на IBM BlueLogicTM библиотеке IP-блоков, используя CoreConnectTM шинную архитектуру и другие до- дополнительные IP-блоки, было определено, что большинство выводов может быть классифицировано для целей взаимосо- взаимосоединений согласно следующим функциональным и струк- структурным свойствам: • BUS_TYPE: тип шины, с которой вывод связывается с по- помощью интерфейса. Он может принимать значения типа PLB (процессорная локальная шина), ОРВ (onchip пери- периферийная шина), ASB (АМВА системная шина), АРВ (АМВА периферийная шина) и т. д.; • INTERFACE TYPE: тип интерфейса, представленного вы- выводом, например, MASTER, SLAVE; • FUNCTIONTYPE: функция, осуществлемая выводом, например, READ, WRITE, INTERRUPT. Этот вывод мог быть одним из нескольких выводов, ответственных за ре- реализацию функции; • OPERATION_TYPE: операция, выполняемая выводом как часть функции, указанной в FUNCTION_TYPE, на- например, REQUEST, ACKNOWLEDGE; • DATA_TYPE: тип данных, управляемых функцией, на- например, ADRESS, INSTRUCTION, DATA; • RESOURCETYPE: используемый системный ресурс, когда функция, указанная FUNCTION_TYPE, выполне- выполнена, например, BUS, PERIPHERAL; • PIN_GROUP: свойство, которое используется, чтобы пока- показать группирование выводов в том же самом интерфейсе. Например, вывод DCU_plbRequest в PowerPCTM401 де- декларируется модулем кэша данных (DCU) внутри PowerPC, чтобы запросить чтение или запись данных между внешней
4.4. Проектирование систем на кристалле 231 памятью и регистром общего назначения в модуле выпол- выполнения, параллельно с чтением или записью шинных дан- данных. PowerPC действует как MASTER-устройство на про- процессорной локальной шине (PLB). Задаваясь этой информа- информацией, можно получить следующие свойства для данного вывода: BUS_TYPE = PLB INTERFACE_TYPE = MASTER FUNCTION_TYPE = READ_OR_WRITE OPERATION_TYPE = REQUEST DATA_TYPE = DATA RESOURCE_TYPE = BUS PIN_GROUP = DCU Для любого IP-блока требуется иметь соответствующий виртуальный компонент и свойства, связанные со всеми его выводами. Как только это станет доступным, то IP-блок мо- может использоваться Кораллом и автоматически соединится с другими IP-блоками. Алгоритм межсоединений Свойства выводов используются для установления соот- соответствия между виртуальным выводом и реальными вывода- выводами с подобными функциональными возможностями, а так- также для подбора реальных выводов в различных компонен- компонентах. Сравнивая свойства на выводах, инструмент может решать, находятся ли функциональные возможности реаль- реального вывода в пределах функциональных возможностей вир- виртуального вывода. Кроме того, сравнивая свойства на реаль- реальных выводах от различных компонентов, Коралл может ре- решать, должны ли они быть соединены. Так как полная SoC может иметь тысячи внутренних вы- выводов, эти сравнения должны быть сделаны очень эффектив- эффективно и в рамках общего подхода. Это достигается посредством применения двух приемов: 1) кодирования свойства, используя двоичные диаграм- диаграммы решений (BDD), и 2) сравнение свойства и соответствия, используя логиче- логические операции на BDD.
232 Глава 4. Проектирование интегральных систем Каждая пара свойства/значения PV^ = <property_type Tj == propertyvalue Pt> отображается к булевой переменной (например, переменной BDD ), и группа пар свойства/значе- свойства/значения отображена к функции AND всех индивидуальных бу- булевых переменных. Более определенно, группа пар свойст- свойства/значения PG = {PV^, PV2, ..., PVn}, соответствующая на- набору BDD-переменных, обозначается B(PG) = {bx, b2, ..., bn}. BDD для полной группы задается: F(PG) = Ъг л Ь2 л ... л bn. Если группа свойств PG приписана к выводу Т, полная BDD-функция F(PG) обозначается как F(T)|PG, или функция F свойства вывода Т относительно группы свойств PG. Процесс синтеза реального проекта из виртуального тре- требует двух шагов сравнения свойств. Во-первых, если дан виртуальный вывод V в виртуальном компоненте VC, то ал- алгоритм должен определить совместимый набор реальных выводов в соответствующем реальном компоненте. Это до- достигается, используя следующий алгоритм. Пусть F(V)|PG и F(R)Ipg — булевы функции, представляющие группы свойств соединений в виртуальном выводе V и реальном вы- выводе R соответственно, где V принадлежит виртуальному компоненту VC, и R принадлежит реальному компоненту VR (который является адекватным отображением VC). R со- совместим с V, если F(V)|PG с F(R)|PG, то есть функция свойст- свойства для V содержит то же для R. Оператор включения с: вы- вычисляется, используя операции BDD. В логических терми- терминах, А содержит В, если A v В = А. Во-вторых, если даны два реальных вывода в двух различ- различных компонентах, то инструмент должен определить, совмес- совместимы ли они и могут ли быть соединены вместе. Это вычисля- вычисляется следующим образом. Пусть FfRa)^ и IXRx)|pQ — булевы функции, представляющие группы свойства межсоединений реальных выводов Ra и Rx соответственно в двух реальных компонентах. Ra совместим с Rx, если F(Ra)|PG с FCRx)^ или F(Rx)|PG с FCRaJlpQ, то есть одно должно полностью содержать- содержаться в другом. Это снова может быть вычислено путем использо- использования операций на BDD.
4.4. Проектирование систем на кристалле 233 Алгоритм синтеза реального проекта из виртуального Алгоритм преобразования виртуального проекта в реаль- реальный (VRSE) ответствен за то, чтобы синтезировать реальный проект из виртуального. Рис. 4.10 иллюстрирует процесс синтеза. Виртуальный проект VI " V?, V3 J V4 V5 Синтез реального проекта из виртуального Реальный проект Рис. 4.10. Синтез реального проекта из виртуального (GL — логика связи) Преобразование виртуальных интерфейсов и виртуаль- виртуальных цепей в реальные интерфейсы и реальные цепи основа- основано на свойствах, приписанных и к виртуальным и реальным компонентам и к виртуальным и реальным выводам, и на алгоритмах, описанных в предыдущем разделе. Алгоритм работы VRSE содержит следующие шаги: 1. Каждому виртуальному компоненту VRSE назначает реальный компонент в реальном проекте. Окончательно реа- реальный компонент выбирается проектировщиком на основа- основании имеющейся библиотеки виртуальных компонентов, в которой перечислены все доступные реальные компоненты для данного виртуального компонента.
234 Глава 4. Проектирование интегральных систем 2. VRSE прослеживает каждую виртуальную цепь и вир- виртуальные выводы, связанные с ней. Для каждого виртуально- виртуального вывода она определяет соответствующие реальные выво- выводы, которые имеют совместимые функциональные возможно- возможности. Это проиллюстрировано в первом шаге преобразования виртуального проекта в реальный, показанном на рис. 4.11. VRSE сравнивает свойства виртуального вывода VI в виртуа- виртуальном компоненте VC1 с такими же свойствами всех реаль- реальных выводов в реальном компоненте RC1. Из этого сравнения можно установить, что реальные выводы rl, г2 и г4 являются совместимыми с виртуальным выводом VI. Точно так же можно получить, что, например, реальные выводы r5, r7 и г8 в реальном компоненте RC2 совместимы с виртуальным вы- выводом V3 в виртуальном компоненте VC2. 3. Для двух групп реальных выводов в двух реальных компонентах (соответствующих двум виртуальным выводам, соединенным виртуальной цепью) VRSE сравнивает свойства на реальных выводах и определяет, какие реальные выводы должны быть соединены вместе. Это — второй шаг преобра- преобразования, показанный на рис. 4.11. VRSE автоматически определяет направление реальных портов (in, out, inout) и подключает их правильно. Рис. 4.11 показывает простые случаи непосредствен- непосредственных соединений, однако алгоритм поддерживает специфи- спецификацию простых логических функций, связанных с реаль- реальными выводами, и когда соединение сделано, эти логиче- логические функции также создаются и используются для автоматической вставки любой требуемой логики связи между компонентами. Алгоритм конфигурирования проектируемой системы Коралл обеспечивает проектировщика различными сис- системными меню конфигурации, которые позволяют програм- программировать параметры виртуальных компонентов методом, свободным от ошибок, и допускать генерацию системной до- документации, которая не является частью автономной специ- спецификации IP-блоков. Меню конфигурации включает опции для решения вопросов синхронизации, определения адрес-
4.4. Проектирование систем на кристалле 235 Виртуальный проект Шаг 1: |оиск совместимых еальных выводо Реальный проект Шаг 2: Сравнение свойств {rl, г2, г4} с {г5, г7, г8}. Полагая, что {rl, г8}, {г2, г7} и {г4, г5} совместимы, Coral выполнит соединения, показанные ниже. RC1 rl> r2 > гЗ> г4> цепь ] цепь 3 цепь 2 * Реальный проект n <r5 RC2 (гб Сг7 Сг8 Рис. 4.11. Шаги преобразования виртуального проекта в реальный ной карты, определения карты прерываний, назначения ка- канала DMA и спецификации и генерации ввода-вывода. Ин- Информация о конфигурации становится частью виртуального проекта, и переходит к реальному проекту в виде парамет- параметров IP-блоков в процессе синтеза реального проекта из вир- виртуального. Как пример возможностей алгоритма конфигури- конфигурирования успешно выполнять требуемые функции, рассмот- рассмотрим конфигурацию адресных карт. Каждый IP-блок в проекте должен быть связан с определенной адресной кар- картой. Всего имеется три адресных домена: DCR (устройство управления регистром), PLB (процессорная локальная шина) и ОРВ (on-chip периферийная шина). Каждый домен конфигурирован через интерфейс пользователя Коралла,
236 Глава 4. Проектирование интегральных систем чтобы сгенерировать параметризованные адреса всех компо- компонентов. Этот процесс определяет все адресное пространство регистра и памяти, которое может использоваться, чтобы генерировать документацию и сохранять непротиворечи- непротиворечивость проекта и документации. В данном разделе рассмотрены проблемы, затрагиваю- затрагивающие проектирование SoC с использованием IP-блоков, и ме- метод автоматического получения их высокоуровневых описа- описаний. Основные характеристики данного метода: • уникальная инкапсуляция структурной и функциональ- функциональной информации об IP-блоках в виртуальных представле- представлениях и свойствах; • синтезируемое виртуальное представление проекта SoC; • алгоритмы для отображения виртуального проекта в реа- реальный со всеми соединениями и логикой связи; • специальные меню конфигурации, которые позволяют проектировщику определять параметры SoC на уровне виртуального проектирования. В заключение следует отметить, что при проектировании интегральных схем и систем сложность получения матема- математических моделей объектов проектирования возрастает по мере повышения уровня абстракции их рассмотрения. Исхо- Исходя из классификации проектных процедур, приведенной в третьей главе, в данном разделе рассмотрена всего лишь одна из пяти проектных процедур, а именно составление ма- математической модели цифровой системы на кристалле с ис- использованием IP-блоков на микросхемном уровне. Однако можно и несколько иначе оценить изложенное в данном раз- разделе. Просматривается тенденция интеграции самих проект- проектных процедур. Действительно, по эскизу структурной схемы SoC (виртуального проекта) в базисе виртуальных IP-блоков составляется полная функциональная схема системы на кристалле в базисе реальных IP-блоков (реальный проект) вместе с ее математической моделью (описанием проекта на языке высокого уровня), т. е. частично выполняется проект- проектная процедура структурного синтеза и полностью — проект- проектная процедура составления математической модели проек- проектируемой системы.
4.4. Проектирование систем на кристалле 237 4.4.3. Этапы поведенческого синтеза Проектная процедура поведенческого синтеза является наиболее сложной и ответственной в цикле проектирования цифровых систем При ее выполнении роль человеческого фактора велика даже в том случае, если для этой цели ис- используются экспертные системы. Поэтому не прекращаются попытки создания полностью формальных процедур реше- решения этой проблемы. Общий алгоритм поведенческого синте- синтеза цифровых систем приведен в работе [4.9]. Он состоит из следующих этапов. 1. Лексическая обработка Поведенческий синтез начинается с алгоритмического описания желательного поведения, выраженного на языке высокого уровня. Лексическая обработка анализирует ис- исходный код языка высокого уровня и преобразовывает его во внутреннее представление. Лексическая обработка для поведенческого синтеза подобна способу, используемому в обычной трансляции языков высокого уровня. 2. Оптимизация алгоритма Оптимизация, которая может быть выполнена на са- самом алгоритме, включает обычное устранение подвыраже- подвыражений и постоянное свертывание. Многое из этой оптимиза- оптимизации обычно используется в трансляторах языка высокого уровня. 3. Анализ управляющей логики и потока данных (Control/Data flow) Идентифицируются входы, выходы и операции алгорит- алгоритма и определяются зависимости данных между собой. Резу- Результатом этого процесса обычно является граф управляющей логики и потока данных (Control/Data flow граф (CDFG)). Он определяет, какие значения необходимо иметь до вычис- вычисления других значений. Никакой концепции времени в CDFG не существует.
238 Глава 4. Проектирование интегральных систем 4. Библиотечная обработка Представление уровня регистровых передач (RTL), про- произведенное поведенческим синтезом, будет зависеть от воз- возможностей и характеристик библиотечных модулей, доступ- доступных для определенной методики представления, которую предполагается использовать. При обработке просматрива- просматриваются доступные библиотеки и определяются функциональ- функциональные, временные характеристики и занимаемая площадь до- доступных модулей. 5. Распределение ресурса Распределение ресурса устанавливает набор функциональ- функциональных модулей, которые будут адекватно осуществлять проект. Во многих поведенческих системах синтеза начальное распре- распределение ресурса впоследствии может быть изменено в течение планирования и/или соединения модулей в систему. 6. Планирование Планирование вводит параллелизм и концепцию времени. Оно преобразовывает алгоритм в представление на уровне ко- конечных автоматов (FSM). При использовании зависимостей данных, алгоритма и временных задержек функциональных модулей в библиотеке, операции алгоритма назначаются на определенные временные циклы. Имеется много возможных расписаний, на которые влияют такие факторы, как времена задержки, конвейерная обработка и т. п. 7. Назначение функциональных модулей Это действие назначает операции алгоритма к выбран- выбранным образцам функциональных модулей из библиотеки. 8. Закрепление регистров В случаях, когда назначения произведены в одном вре- временном цикле и использованы в другом, эти значения дол- должны быть сохранены в регистрах или памяти. Процесс за- закрепления регистра распределяет регистры, где необходимо, и назначает каждую величину на физический регистр. Ана- Анализ продолжительности жизни каждого значения данных
4.4. Проектирование систем на кристалле 239 позволяет идентифицировать возможности использовать тот же самый физический регистр, чтобы сохранить различные значения в разное время. Это делается для уменьшения чис- числа регистров в проекте. 9. Обработка результатов Граф управляющей логики и потока данных и представ- представление на уровне FSM, вытекающие из всех предыдущих ша- шагов, оформляются как RTL исходный код на объектном язы- языке. Этот код может быть структурирован рядом способов, чтобы оптимизировать нисходящий процесс логического синтеза или улучшить удобочитаемость кода. Пример Предположим, что необходимо вычислить ((а*Ь) + с) * (d*e), где каждая величина состоит из 8 битов. На языке С это мо- может быть выражено следующим образом: unsigned long example_func(unsigned char a, unsigned char b, unsigned char c, unsigned char d, unsigned char e, unsigned char f) unsigned long у = ( (a * b) + return y; с ) * ( d * e ); Чтобы создать аппаратные средства, которые могут вы- выполнить это вычисление, необходимо иметь дело с протоко- протоколом ввода-вывода, но полезно рассмотреть алгоритм отдель- отдельно, чтобы понять процесс поведенческого синтеза. Анализ управляющей логики и потока данных создает соответствующий граф из этого кода в следующем виде:
240 Глава 4. Проектирование интегральных систем Предположим, что библиотека содержит следующие функциональные модули: у net: ion el Unit 8x8=16 16+16=17 20x20=40 Delay 2,78 1.99 5,88 Area 4896,S 1440.3 27692.6 За начальное распределение можно принять два умножи- умножителя 8 х 8 = 16, один сумматор 16 +16 = 17 и один умно- умножитель 20 х 20 = 40. Для него можно составить следующее расписание выполнения операций. Operator # Needed Cycle 1 .-Cycle 2 Cycle 0 8x8=16 2 a*b, d*e 16+16=17 1 tl+c 20x20-40 1 t2*t3 Чтобы устранить один умножитель 8x8, операцию ум- умножения d*e нужно перенести из первого цикла во второй: Operator : # Needed Cycle 1 Cycle 2 Cycle 3 8x8=16 1 a*b d*e 16+16=17 1 tl+c 20x20=40 1 t2*t3 Далее эти операторы назначаются на выбранные образцы функциональных модулей. Это назначение может быть оп- оптимизировано, если учесть, что умножитель 20 х 20 может исполнять функцию умножителя 8x8. Operator # Needed Cycle 1 Cycle 2 Cycle 3 16+16=17 1 tl+c 20x20=40 1 a*b d*e t2*t3
4.4. Проектирование систем на кристалле 241 Это подразумевало бы архитектуру, подобную представ- представленной ниже: sel Поведенческий синтез — быстро развивающееся направ- направление. Современные инструментальные средства поведенче- поведенческого синтеза способны обеспечить существенное повыше- повышение производительности проектных работ. Ожидается, что этот подход, позволяющий получать описание систем на уровне регистровых передач непосредственно из поведенче- поведенческого описания, будет применяться все более широко при проектировании цифровых систем. Таким образом, проблема трансляции поведенческого описания цифровой системы в структуру уровня регистро- регистровых передач разделена на ряд подзадач. Во-первых, специ- спецификация на формальном языке переводится во внутреннее представление (обычно это графы потоков данных и управ- управления — отдельные или объединенные в один граф). Други- Другими словами, граф генерируется из поведенческого описания аппаратных средств на языках типа Verilog или VHDL и служит как интерфейс к различным пакетам синтеза на RTL-уровне. CDFG состоит из узлов и направленных ребер. Узлы представляют операции в поведенческом описании. Ребра моделируют передачу значений между узлами, то есть результат одной операции (узла) передается как аргумент к другому узлу. Каждый аргумент операции может быть от- отмечен как входной порт соответствующего узла CDFG. Каж- Каждый результат операции может быть отмечен как выходной порт соответствующего узла CDFG. Затем компоненты аппа- аппаратных средств распределяются в необходимые процессоры
242 Глава 4. Проектирование интегральных систем и регистры, а операции планируются во временных шагах. Соединенные вместе, наряду с необходимым мультиплекси- мультиплексированием и шинной разводкой, они создают базовую струк- структуру для маршрутов данных. Далее, для реализации блоков абстрактного аппаратного обеспечения выбираются конкрет- конкретные модули. Наконец, проектируется контроллер для гене- генерации управляющих сигналов, необходимых для обращения к операциям с данными в запланированных шагах управле- управления. Такой завершенный проект на уровне регистровых пе- передач готов для передачи в систему логического синтеза или систему физического проектирования. 4.5. Моделирование на уровне регистровых передач После выполнения системного проектирования модели- моделируется функциональная схема и решается задача разработ- разработки алгоритмов выполнения отдельных команд на уровне простейших операций преобразования и передачи информа- информации, разработки алгоритмов обмена информацией между устройствами и т. д. При моделировании функциональных схем используются два подхода для построения соответству- соответствующих алгоритмов [4.7]: 1) Формальный. Данный подход состоит в рассмотрении функциональной схемы как направленной структуры, описываемой уравне- уравнениями связей компонентов (топологическими уравнения- уравнениями). Далее для решения этих уравнений применяются алго- алгоритмы решения систем уравнений соответствующего класса (ОДУ, булевые уравнения и т. д.). 2) Имитационный (причинно-следственный). Имитационный подход к составлению алгоритмов состоит в организации построения так, чтобы он имитировал после- последовательное прохождение сигнала от одного элемента к дру- другому в соответствии с принципом: сначала вычисляется при- причина (входной сигнал), а затем следствие (сигнал на выходе элемента). Обязательным условием реализации этого подхода является ранжирование. Основной составной частью функци- функционального проектирования является анализ разработанной
4.5. Моделирование на уровне регистровых передач 243 функциональной схемы, который обычно выполняется путем моделирования на ЭВМ. Подобное моделирование называется моделированием на регистровом уровне. На этом уровне циф- цифровое устройство рассматривается в виде совокупности реги- регистров, счетчиков, блоков памяти, триггеров управления и т. д., а переработка и преобразование информации — на уровне машинных слов, соответствующих разрядностей реги- регистров, запоминающих и арифметических устройств. Внутрен- Внутренняя структура каждого из элементов, то есть регистров, счет- счетчиков, сумматоров и т. д., на данном этапе не формализует- формализуется. Схемы устройства, составленные из перечисленных элементов, и называются функциональными. Модели элементов представляются выполняемыми ими функциями без раскрытия внутренней структуры, времен срабатывания элементов и т. д. Сигналы моделируются строками, состоящими из нулей и единиц. Эти строки соот- соответствуют состоянию регистров, счетчиков и шин передачи информации. При построении модели считается, что объект состоит из двух частей — операционного устройства и устройства управления, работа которых происходит по так- тактам. В этой модели, например, регистр описывается следую- следующим образом: REGISTER, A, @-15). В описании модели ЭВМ на регистровом уровне можно выделить две части: описание структуры объекта моделиро- моделирования и собственно операционное описание (рис. 4.12). Вход операционное устройство Выход -о управляющее устройство Рис. 4.12. Модель цифрового устройства на регистровом уровне В описании структуры указываются элементы, входящие в состав моделируемого объекта (т. е. регистры, счетчики и т. д.). Операционное описание соответствует действию, ко- которое выполняется в ОУ (операционном устройстве) и УУ (устройстве управления). Часть описания, соответствую- соответствующего управляющему устройству, имитирует формирование инициализирующих воздействий путем анализа выполняе-
244 Глава 4. Проектирование интегральных систем мой команды, синхросигналов, триггеров управления, и представляет собой множество условных операторов, кото- которые передают управление, в случае выполнения условия, группе операторов, моделирующих микрооперации ОУ. Тактирующие импульсы (синхроимпульсы) вырабатывает генератор синхроимпульсов. В каждом такте работы УУ фор- формирует сигналы, инициирующие выполнение действий в ОУ. ЭВМ работает по программе, хранящейся в памяти, и выпол- выполняемые в каждый момент действия определяются текущей командой программы. ОУ реализует элементарные действия по передаче, заполнению и преобразованию информации в та- такие, как перепись информации из одного устройства в дру- другое, чтение и запись информации в оперативную память, установка заданных состояний триггеров управления, сдвиг информации в регистре на один или несколько разрядов — такие действия принято называть микрооперациями. Как правило, в любой ЭВМ каждой микрооперации соответствует собственный инициирующий сигнал. Реализация, каждой команды осуществляется за несколько синхротактов, в тече- течение которых выполняется требуемая совокупность микроопе- микроопераций; таким образом, работа моделирующей программы протекает по синхротактам, внутри каждого из которых вы- выполняется одна или несколько операций. Таким образом, моделирование на уровне регистровых передач заключается в покомандной имитации выполнения машинной программы, записанной в памяти этой ЭВМ. Мо- Моделируемая машинная программа, записанная на уровне команд, выполняет роль исходных данных для моделирую- моделирующей программы. 4.6. Моделирование на уровне транзакций Существующие подходы к моделированию аппаратной части SoC предполагают ее описание на уровне регистровых передач (RTL), как правило — на языках описания аппара- аппаратуры (HDL): VHDL или Verilog. RTL-модели представляют собой описание аппаратуры как совокупности регистров и логических связей между ними. Взаимодействие между мо-
4.6. Моделирование на уровне транзакций 245 дулями детализировано до описания отдельных сигналов и выводов. RTL-модели характеризуют аппаратуру с точно- точностью до цикла. Фактически RTL-описание цифровых сис- систем — это законченный проект системы в обобщенной фор- форме, т. е. без привязки к библиотекам конкретных произво- производителей СБИС и IP-блоков. Однако применение RTL-моделей для разработки и ве- верификации программного обеспечения (ПО) связано со сложными проблемами из-за того, что: • скорость моделирования ограничена, так как HDL-симу- лятор должен обрабатывать множество событий, связан- связанных с изменениями сигналов. Это противоречит требованию высокой скорости моделирования системы; • создание RTL-модели — это существенный этап разра- разработки аппаратной части проекта, требующий немало вре- времени и средств. А с ростом сложности аппаратуры начало процесса совместной верификации ПО и аппаратной час- части SoC отодвигается на поздние этапы проектирования. Для решения этой задачи необходимо создать поведенче- поведенческую модель архитектуры до начала детальной разработки аппаратуры и ПО [4.5]. При этом модель цифровой системы должна представлять из себя точную до цикла пове- поведенческую модель всей SoC, включая и аппаратную и программную ее части. Быстродействие обработки этой мо- модели не может быть менее 100 тыс. инструкций в секунду, что гораздо выше, чем для RTL-описаний. Сама модель дол- должна быть создана на как можно более раннем этапе проекти- проектирования. Обычно разработчику ПО при верификации требу- требуется с точностью до цикла проанализировать процессы пере- передачи между блоками данных и команд, выявить моменты начала и продолжительность обмена, особенно когда время передачи зависит от параметров передаваемых пакетов. При таком анализе совершенно излишне рассматривать процес- процессы формирования отдельных сигналов на шинах, поскольку с точки зрения ПО взаимодействие с аппаратурой сводится к обмену пакетами данных с учетом временных параметров. Поэтому все события переключения сигналов (в случае шины — до 100 отдельных сигналов) можно заменить одним событием чтения или записи, называемым транзакцией. Более того, одной транзакцией можно обозначить несколько
246 Глава 4. Проектирование интегральных систем команд чтения или записи, например запись данных в по- последовательно расположенные ячейки памяти. Так как ско- скорость моделирования обратно пропорциональна числу собы- событий, то при снижении их интенсивности в 100-1000 раз ти- типичная модель уровня транзакций исполняется в 100 раз быстрее соответствующей RTL-модели (рис. 4.13). т Уровень транзакций write(ATM cell...) Уровень регистровых передач Контроллер^-! [Контроллер *§—i I—(Тактирование) L 0 1 1223 always(@posedge..) S1=R2; S2=R25; Г Одна транзакция »»»> 1000 переключений 1000 сигналов J Рис. 4.13. Сравнение представлений цифровой системы на уровнях регистровых передач и транзакций Отметим, что уровень транзакций — это фактически уро- уровень разработки архитектуры системы. Таким образом, эф- эффективный путь для совместной разработки и верификации ПО и аппаратуры SoC — моделирование на уровне транзак- транзакций (TL). Существенно, что TL-модель системы после вери- верификации может служить эталоном для остальных этапов проектирования СБИС вместо описательной спецификации. В настоящее время фактически стандартным языком описания поведенческих моделей СБИС стал SystemC. Язык SystemC основан на C++ и, благодаря использованию до- дополнительных классов, предоставляет новые возможно- возможности — описание статических и динамических событий, па- параллелизм, учет временных параметров, а также поддержи- поддерживает специальные типы данных, необходимые при проектировании SoC (рис. 4.14). В принципе, SystemC по-
4.6. Моделирование на уровне транзакций 247 Signal • Time i 4 » Concurrency > Modules > Processes > Interfaces > FortS i Channels i Events > Event-driven Пользовательские каналы Элементарные каналы , Timer, Mulex, Semaphore, FIFO и т. д. Типы данных • 4-valued logic @, 1, X, Z) • 4-valued logic - vectors • Bits and bit - vectors • Arbitrary-precision integers • Fixed-point numbers • C++ user-defined types sim. kernel • C++ built-in types (int, char, ...) Стандартный язык C++ Рис. 4.14. Структура языка SystemC зволяет описывать систему на уровне RTL, однако он на- наиболее эффективен и популярен при работе с поведенчески- поведенческими моделями, прежде всего — на уровне транзакций. В SystemC обмен данными (командами) между отдельны- отдельными блоками на уровне транзакций описывается достаточно просто (рис. 4.15). Взаимодействие модулей происходит по- посредством вызовов специальных функций (коммуникацион- (коммуникационных методов). Устойчивая и регулярно используемая совокупность коммуникационных методов называется интерфейсом. Ком- Компонент, реализующий интерфейс, называется каналом. Два взаимодействующих модуля подсоединяются к каналу через порты и обмениваются данными через вызовы функций, объявленных в интерфейсах и реализуемых соответству- соответствующим каналом. Module 1 (Initiator) Channel Initiator Port Module 2 (Target) Initiator Interface Target Target Port Interface Рис. 4.15. Модель взаимодействия между блоками на уровне транзакций в SystemC
248 Глава 4. Проектирование интегральных систем Возможны два способа взаимодействия ПО и исполняе- исполняемой модели аппаратуры на SystemC. Первый метод актуален при анализе архитектуры будущей SoC в целом, когда очень важно оценить загруженность шин и выбрать правильное соотношение между аппаратно и программно реализуемыми функциями. ПО моделируется на C++ и выполняется неза- независимо от модели аппаратуры, а связь с TL-моделью аппа- аппаратной части SoC поддерживается через коммуникационные порты. При этом все временные параметры работы аппара- аппаратуры задаются в ее SystemC-описании. Другой способ совме- совместного моделирования ПО и аппаратуры — это выполнение ПО на эмуляторе процессора, интегрированном в SystemC- модель системы уровня транзакций. Технически такая ин- интеграция несложна, поскольку обычно эмуляторы процес- процессорных ядер написаны на C/C++. Далее все — как в «тради- «традиционном» подходе: ПО компилируется и выполняется на эмуляторе процессора, в привычной разработчику програм- программе-отладчике. Только скорость моделирования возрастает в 100 раз. Важный аспект — это наличие библиотеки IP-бло- IP-блоков, описанных на соответствующих уровнях абстракции. Ведь в отличие от традиционного маршрута проектиро- проектирования, создание модели цифровой системы требует проме- промежуточного шага — построения модели архитектуры на уров- уровне транзакций, что влечет дополнительные затраты на моде- моделирование. Решить проблему можно с помощью библиотек IP-блоков, содержащих модели уровня транзакций. Причем наиболее ценны библиотеки, содержащие поведенческие и синтезируемые модели (TL- и RTL-уровней), работа кото- которых верифицирована друг относительно друга с точностью до цикла. Они позволяют создавать модель системы с уве- уверенностью, что после реализации SoC ее поведение не будет отличаться от модели. 4.7. Особенности тестирования систем на кристалле Существует сильное внешнее сходство между традицион- традиционными системами на печатных платах (SoB) и современными системами на кристалле (SoC). Интегральные схемы на пе-
4.7. Особенности тестирования систем на кристалле 249 чатной плате системы — компоненты в SoB, в то время как IP-блоки в SoC — виртуальные компоненты. Однако произ- производственные испытательные тесты SoB и SoC совершенно различны [4.8]. В случае SoB, как изображено на рис. 4.16, а, проектиро- проектирование, производство и испытание 1С — все выполнено по- поставщиком. Разработчик аппаратуры ответствен за проекти- проектирование и производство системы из этих ICs. Поскольку ICs проверены их поставщиком, разработчик может принимать ICs с уверенностью, что они спроектированы без ошибок и свободны от производственных дефектов, и он ответствен то- только за соединения между ICs. JTAG является известной ме- методикой, чтобы адресовать эту проблему к тестированию на Система на печатной плате Система на кристалле енты Компон Проект ИС Верификация проекта ИС Изготовление ИС Тестирование ИС -Г Проект IP-блока Верификация пректа IP-блока ё Проект SoB Верификация проекта SoB Изготовление SoB 4 Тестирование SoB Проект SoC Верификация проекта SoC Изготовление SoC Тестирование SoC а б Рис. 4.16. Сравнение SoB и SoC
250 Глава 4. Проектирование интегральных систем уровне печатных плат. В SoC, как показано на рис. 4.16, б, основной поставщик поставляет только описание проектов IP-блоков разработчику аппаратуры. Поэтому для него про- проверить IP-блоки на производственные дефекты невозможно, просто потому что они еще не изготовлены. Следовательно, ответственность разработчика системы теперь не только ка- касается связывающей логики и соединений между IP-блока- IP-блоками, но также и непосредственно самих IP-блоков. Лучшее, что разработчик аппаратуры может ожидать от основного поставщика IP-блоков в отношении тестирования — то, что описание проекта приходит вместе с заранее рассчитанными и предварительно проверенными тестами достаточно качест- качественного уровня. Во многих случаях для разработчика аппа- аппаратуры просто невозможно разрабатывать тесты для IP-бло- IP-блоков, из-за недостатка знаний об их схемотехнике и техноло- технологии изготовления. Это особенно верно в случае жестких или зашифрованных IP-блоков, когда разработчик аппаратуры вынужден работать с IP-блоками как с черным ящиком и должен полагаться на тесты основного поставщика IP-бло- IP-блоков. При тестировании SoC с использованием IP-блоков при- приходится решать несколько новых проблем, в том числе сле- следующие: • передача знаний о тестировании IP-блоков* Традиционно разработка тестов 1С выполняется одним человеком или тесно сотрудничающей группой людей в пределах одной ор- организационной структуры. Тестирование SoC на основе IP-блоков по существу ведет к ситуации распределенной разработки тестов. Многие группы людей, распределенные по различным компаниям, часовым поясам и континентам, являются совместно ответственными за разработку боль- больших, высокосложных 1С. Это требует передачи информа- информации относительно основных тестов IP-блоков от основного поставщика основному их пользователю. Она могла бы включать информацию относительно IP-блоков, испытате- испытательных режимов и соответствующих тестовых протоколов, покрытия неисправностей, испытательные данные этало- эталонов и т. д.; • доступ тестов к встроенным IP-блокам. IP-блоки обыч- обычно глубоко встроены в проект SoC. Чтобы выполнять их тестирование, необходим механизм доступа тестов, чтобы
Заключение 251 связать источник тестов (внешний тестер или встроенные средства самотестирования на кристалле) со входами IP-блока и, соответственно, выходы IP-блока с приемни- приемником тестов (внешний тестер или встроенные средства само- самотестирования на кристалле); • интеграция и оптимизация тестов для систем на крис- кристалле. Полное тестирование систем на кристалле должно покрывать многократно используемые IP-блоки, опреде- определяемую пользователем логику, а также логику межсоеди- межсоединений между ними. При создании тестов уровня чипа разработчик систем на кристалле сталкивается со многи- многими критериями оптимизации, относящимися к поиску компромисса между качеством тестирования и стоимо- стоимостью, площадью, параметрами, мощностью и временем выхода на рынок. Заключение В заключение следует подчеркнуть, что при проектиро- проектировании интегральных схем и систем сложность получения безошибочных математических моделей объектов проекти- проектирования возрастает по мере повышения уровня абстракции. Реализация концепции виртуального проектирования реша- решает эту проблему в том случае, если проектирование цифро- цифровой системы начинается с эскизного проекта ее структуры, который составляет разработчик. В том случае, когда проек- проектирование начинается с описания функций будущей систе- системы в виде программы на языке высокого уровня, необходи- необходимы специальные средства для проверки ее корректности. Только после этого возможно проведение проектной проце- процедуры поведенческого синтеза. Нетрудно сделать вывод, что решение экстремальных и статистических задач на высоких уровнях абстракции нереально по соображениям трудоемко- трудоемкости. Другими словами, чем выше уровень абстракции пред- представления объекта проектирования, тем меньше возможно- возможностей для реализации оптимального проектирования по тех- техническим критериям. Именно поэтому в настоящее время на практике основным критерием оценки качества высоко- высокоуровневого проектирования является, в первую очередь,
252 Глава 4. Проектирование интегральных систем время проектирования. Кроме того, необходимо обратить внимание читателя, что многоуровневое моделирование при проектировании интегральных систем требует наличия биб- библиотек математических моделей структурных компонентов всех соответствующих уровней, написанных на выбранных проектировщиком языках описания аппаратуры: VHDL, Verilog, SystemC и др. Несмотря на разработанные мощные программные сред- средства верификации проектов сложных интегральных систем на любом уровне проектирования, представляется более пер- перспективным разработка полностью автоматических систем проектирования не только IP-блоков, но и систем с их испо- использованием, в которых процедуры верификации принципиа- принципиально отсутствуют. Литература 4.1. Армстронг, Дж. Р. Моделирование цифровых систем на языке VHDL.IIep.c англ., — М.: Мир. 1992. 4.2. См. [1.1]. 4.3. Reinaldo, A., William, R. Lee. Designing Systems-on-Chip Using Cores. DAC-2000, Los Andgeles, California. 4.4. Поляков А. К. Языки VHDL и Verilog в проектирова- проектировании цифровой аппаратуры. — М.: СОЛОН-Пресс, 2003. 4.5. ЭЛЕКТРОНИКА. Наука, Технология, Бизнес. №7. 2003 D). 4.6. Gupta, Rajesh К., & Zorian,Yervant. Introducing Core- Based System Design. IEEE Design & Test of Computers, 14D): 15-25, December 1997. 4.7. Ильин В. Н., Фролкин В. Т. и др. Автоматизация схе- схемотехнического проектирования. — М.: Радио и связь, 1987. 4.8. Marinissen, Erik Jan, & Zorian, Yervant. Challenges in Testing Core-Based System ICs. IEEE Communications Magazine, 37F): 104-109, June 1999. 4.9. Meredith Michael. A look inside behavioral synthesis. ЕЕ design, 2004, № 4.
Глава 5 Автоматическое проектирование и искусственный интеллект Введение Проектирование СБИС — сложный и дорогостоящий, за- занимающий много времени процесс, даже при наличии са- самых современных средств проектирования. Сроки разработ- разработки РЭА с использованием СБИС могут превышать период, в течение которого она живет. Затраты на проектирование могут не окупиться к моменту морального устаревания РЭА. Поэтому проектирование СБИС должно осуществляться в кратчайшие сроки с наименьшими затратами. Одним из путей достижения этих целей является полная автоматиза- автоматизация процесса проектирования, начиная с высшего уровня представления требований к системе и кончая уровнем физического представления. Другим важным стимулом для разработки систем автоматического проектирования являет- является принципиальное отсутствие в них верификационных про- процедур и соответствующего программного обеспечения, кото- которое составляет значительную часть современных систем ав- автоматизированного проектирования СБИС. 5.1. Системы автоматического проектирования Возрастание степени интеграции ИС требует разработки новых методик и инструментальных средств проек- проектирования СБИС. В этом случае невозможно обойтись без структурирования и декомпозиции проекта, что под- подразумевает иерархическое представление структуры проекта в виде дерева. На вершине этого дерева проект СБИС пред-
254 Глава 5. Автоматическое проектирование и ИИ ставляется на самом высоком уровне описания. И в процессе проектирования предполагается разбиение этой крупной за- задачи на несколько независимых подзадач на следующем нижнем уровне представления. В основании дерева лежит представление проекта в виде топологии и транзисторных структур. Процесс проектирования состоит в реализации этих малых и независимых проектов с последующей их ком- композицией для получения всей системы. Но возрастание сложности СБИС из-за непрерывного со- совершенствования технологии заставляет разрабатывать но- новые инструментальные средства проектирования СБИС, осо- особенно полу- и полностью заказных. Для двух классов схем — логические матрицы и базовые матричные крис- кристаллы — были разработаны подсистемы автоматического проведения межсоединений — автоматические трассиров- трассировщики. Это стало возможным прежде всего благодаря относи- относительной простоте решения задачи, а именно: проведение межсоединений между стандартными ячейками или ЛЭ в определенных наперед заданных местах — каналах опре- определенной ширины. Необходимо отметить и недостатки кана- канальной трассировки: неэффективное использование площади кристалла, наличие тупиковых ситуаций и низкий процент покрытия активных элементов (до 70%). Здесь приходится использовать интерактивные методы доработки проекта. Следующим шагом в повышении эффективности методов проектирования может служить метод макроячеек (следую- (следующий, более высокий уровень стандартных ячеек). Предполо- Предположим, что опытным разработчиком (экспертом) создан 8-би- 8-битовый сумматор. Задача создания 16-битового сумматора ре- решается просто и быстро, например, путем стыковки двух 8-битовых сумматоров. Правила стыковки могут быть легко запрограммированы, и последующая стыковка может прово- проводиться автоматически. Отметим важное отличие метода макроячеек от метода стандартных ячеек. В методе макроя- макроячеек генераторы модулей вызывают не ячейки, а процеду- процедуры, которые, в свою очередь, вызывают и комбинируют ячейки для получения модулей. Отсюда становится понят- понятным, что малые усилия в разработке программного обеспе- обеспечения (создание процедур сборки макроячеек) могут резко повысить производительность проектных работ. Кроме того,
5.1. Системы автоматического проектирования 255 при все большей автоматизации проектирования повышает- повышается степень корректности проекта. Последнее обеспечивает устранение процесса верификации на многих этапах про- прохождения проекта. Автоматическое проектирование обеспе- обеспечивает и другие преимущества: значительное сокращение сроков проектирования БИС; обеспечение возможности ана- анализа нескольких вариантов проекта с целью выбора наилуч- наилучшего; реализацию проекта на основе новейших технологий. Возникает вопрос: нельзя ли перейти от автоматической генерации модулей на основе макроячеек к автоматической генерации всего проекта? Такой переход возможен на основе систем автоматического проектирования — кремниевых компиляторов (КРЕМКОМ). Появление термина «КРЕМКОМ» объясняется некоторым сходством процесса проектирования СБИС и разработки про- программного обеспечения, т. е. существует много общего между обычными программными компиляторами и кремниевыми. Например, проблемы лексического анализа и грамматическо- грамматического разбора идентичны для тех и других компиляторов. Неко- Некоторые языки КРЕМКОМ требуют специальных алгоритмов расширения, которые подобны макрорасширению в програм- программных компиляторах (ПРОГКОМ). Применение компиляторов позволяет пользователю абстрагироваться от представления объекта проектирования на детальном уровне. Многие методы разработки программного обеспечения для написания ПРОГКОМ могут быть использованы для КРЕМКОМ. Языки КРЕМКОМ по своим основным приз- признакам подобны современным языкам программирования, таким как С. С помощью этих языков программист может составить спецификацию структуры данных и алгоритмов, а также распределить физические ресурсы (например, па- память ЭВМ). По аналогии при использовании КРЕМКОМ про- проектировщик СБИС на входном языке задает ее параметры и площадь кристалла. КРЕМКОМ поведенческого типа подобны специальным программам автоматического синтеза прикладного про- программного обеспечения на уровне спецификации. Такие про- программы называются метакомпиляторами и оптимизируют класс алгоритмов и структуру данных таким образом, чтобы программа выполнялась наиболее эффективно. В настоящее
256 Глава 5. Автоматическое проектирование и ИИ время метакомпиляторы применяют в узких областях и еще во многом полагаются на взаимодействие с пользователем. Важной особенностью процессов компиляции является наличие аппарата управления этими процессами. На заре появления компиляторов с языка ФОРТРАН допускалась модификация скомпилированного кода средствами програм- программного редактора. В КРЕМКОМ, чтобы добиться на выходе топологии с требуемыми параметрами, может быть также использован редактор топологии. Чтобы исключить вмешательство человека, входные языки КРЕМКОМ должны обеспечивать ввод ограничений (на динамические параметры БИС, энергопотребление, теп- тепловыделение и т. д.), и КРЕМКОМ в процессе компиляции обязан строго не выходить за эти ограничения. Большое зна- значение имеет относительная простота модификации или из- изменения проекта БИС. Так как языки КРЕМКОМ описыва- описывают проект БИС на высоком уровне абстракции, то на этом уровне провести модификацию значительно легче. Основное различие между КРЕМКОМ и ПРОГКОМ состо- состоит в самом объекте компиляции, который значительно сложнее в первом случае. Чтобы обеспечить адекватность представления объекта проектирования на любом уровне аб- абстракции, КРЕМКОМ должен сохранять взаимные связи между различными уровнями, например между параметра- параметрами СБИС и площадью кристалла, чего не требуется для ПРОГКОМ. Более того, машинный код, получаемый на вы- выходе ПРОГКОМ, может быть аттестован непосредственно при выполнении программы, а в случае СБИС необходимо проводить моделирование на различных уровнях представ- представления (функциональном, логическом, электрическом). Многие аспекты процесса проектирования СБИС вклю- включают как физические, так и логические ограничения и дооп- доопределения. Например, рекомендация программного обеспе- обеспечения осуществляется только по функциональным призна- признакам. В случае БИС при этом необходимо учитывать ограничения. Требования к тестированию также различны. Выходным продуктом ПРОГКОМ является машинный код, а КРЕМКОМ — описание слоев топологии (информация для изготовления фотошаблонов), и поэтому необходим еще один этап (производство), чтобы проект стал изделием. Как
5.1. Системы автоматического проектирования 257 следствие этого, могут быть две основные причины наруше- нарушения правильного функционирования СБИС: ошибки проек- проектирования и ошибки изготовления (технологические ошиб- ошибки). Последние не имеют аналога в случае ПРОГКОМ. Поэ- Поэтому каждый кристалл СБИС (или необходимая выборка из партии) должен контролироваться по статическим и динамическим параметрам, а КРЕМКОМ должен обладать средствами многоуровневого моделирования, диагностики неисправностей и генерации тестов. Необходимо отметить еще одну важную особенность КРЕМКОМ, а именно то, что он работает по принципу «де- «делать сразу хорошо» в отличие от существующих систем ав- автоматизированного проектирования СБИС, работающих по принципу «делать и проверять» (когда по готовой топологии происходит восстановление электрической схемы реализуе- реализуемой системы). Основой любого КРЕМКОМ служат два языка: исходный язык, на котором разработчик описывает поведение проек- проектируемой системы (сообщение); язык описания возможно- возможностей кремниевой технологии, используемый для задания сложных двумерных многослойных фигур (топологии). Ра- Работа с языками возможна только при наличии очень разви- развитого банка логических, схемотехнических и топологических решений, которые имеют иерархическую структуру. Качество КРЕМКОМ характеризуется следующими основными показателями: степенью сложности описания процесса поведения системы (сообщения) с помощью вход- входного языка; используемой площадью на кристалле и часто- частотой тактовых сигналов готовой системы на кристалле. Как и любая САПР СБИС, КРЕМКОМ содержит язык описания поведения (ЯОП) объектов проектирования, транслятор с ЯОП, блок моделирования системы на раз- разных уровнях представления схемы. Несколько иначе КРЕМКОМ можно охарактеризовать как систему, с помощью которой можно получать топологию схе- схемы, требующую от разработчика сравнительно небольшого объема исходных данных. Конструкторские задачи в данной системе упрощаются благодаря применению новой методоло- методологии проектирования топологии ИС. Основным компонентом системы является ячейка (блок), которая может содержать
258 Глава 5. Автоматическое проектирование и ИИ простейшие геометрические элементы и ссылки на другие ячейки. Простейшие ячейки разрабатываются с помощью ин- интерактивных средств проектирования и заносятся в библио- библиотеку. Каждая ячейка в сущности является программой, кото- которая выбирает соответствующий ей элемент топологии, транс- трансформирует его, вычисляет потребляемую им мощность и т. д. Блоки соединяются между собой при помощи выводов, кото- которые представляют конкретные площадки в ячейках. Содер- Содержание ячеек, а также их общее расположение остаются неоп- неопределенными вплоть до завершающих этапов разработки, что обеспечивает максимальную гибкость проектирования. Ин- Информация, задаваемая пользователем, включает форматы микроинструкций и длину слова, разрядность данных и спе- спецификацию шин передачи данных, а также перечень элемен- элементов, содержащихся в операционной части. Сначала КРЕМ- КОМ синтезирует топологию операционной части, состоящей из иерархически организованного набора ячеек одинаковой размерности и шин передачи данных. Затем компилятор ге- генерирует блок управления СБИС. Для более подробного пред- представления работы и структуры КРЕМКОМ разберем возмож- возможности условного компилятора. 5.1.1. Структура системы Одна из возможных структурных схем КРЕМКОМ приве- приведена на рис. 5.1 и включает несколько основных компонен- компонентов. Транслятор с языка описания поведения схемы преобра- преобразует формат данных. Экстрактор является инструментом получения специфи- спецификации структуры операционной и управляющей частей про- проектируемой схемы из описания ее поведения. Экстрактор со- собирает все инструкции операций и структуру блока управле- управления и образует форматы отдельных операций. Генератор операционной части начинает работу с по- последовательного рассмотрения формата каждой операции. Он генерирует операционную часть как относительное рас- расположение множества блоков, взятых из библиотеки, т. е. синтезирует топологию модуля операционной части, обраба- обрабатывающего 1 бит информации.
5.1. Системы автоматического проектирования 259 Кремниевый компилятор Язык описания поведения схемы Генератор операционной части Генератор управляющей части Экстрактор Блок селекции проекта т Блок топологического контроля Генераторы повторяющихся частей Преобразователь Мура-Милея Оптимизатор плм Рис. 5.1. Блок-схема условного кремниевого компилятора Генератор управляющей части состоит из нескольких блоков: блока селекции проекта — экспертной программы, созданной с привлечением аппарата искусственного интел- интеллекта и определяющей стратегию выбора организации блока управления из накопленных ранее решений; преобразовате- преобразователя Мура-Милея — программы, обеспечивающей баланс в принятии важных решений на уровне последовательност- ных автоматов (подход Мура) и на уровне генерации опера- операций (подход Милея); генераторов повторяющихся частей, предназначенных для генерации регулярных фрагментов (память, ПЛМ) в соответствии с выбранной организацией блока управления; оптимизатора ПЛМ, генерирующего и оптимизирующего ПЛМ,специфицированную предыдущими программами. Блок планирования топологии оценивает на каждом шаге различные варианты плана топологии статистичес- статистическими методами. Сборщик топологии осуществляет синтез топологии по заданной спецификации. С помощью такого КРЕМКОМ можно проектировать микропроцессоры, предпроцессоры, постпроцессоры, конт- контроллеры различного назначения. Если все компоненты ком- компилятора входят в любую САПР СБИС и подробно описаны
260 Глава 5. Автоматическое проектирование и ИИ в литературе, то наличие транслятора с языка описания по- поведения СБИС указывает на отличие от обычных САПР. Рассмотрим назначение и роль языков описания поведения. 5.1.2. Язык описания поведения Язык описания поведения СБИС используется уже с 60-х годов для моделирования и синтеза цифровых систем (ЭВМ, БИС и СБИС). Он применяется также при генерации микро- микрокодов, декомпозиции сложных систем, верификации проек- проекта, оценках качества проекта, генерации тестов, автомати- автоматической генерации логических выражений и диаграмм. ЯОП обычно применяют при описании структурной и по- поведенческой информации о цифровых системах, и он слу- служит коммуникационной средой для инженеров-системщи- инженеров-системщиков и инженеров-разработчиков математического обеспече- обеспечения. Напомним, что методы проектирования сложных цифровых систем являются иерархическими, т. е. обеспечи- обеспечивают проектирование сверху вниз — от исходной специфи- спецификации до физического исполнения. Хотя и существует много уровней абстракции в иерархии представления, выделим че- четыре основные, а именно: системный, уровень регистровых передач, логический и уровень физической реализации. Языки описания поведения БИС используют на всех четы- четырех уровнях представления проекта. Основными трудностями при создании ЯОП на уровне физической реализации (на уровне топологии) являются ав- автоматическая декомпозиция проектируемой системы, раз- размещение элементов и фрагментов и проведение меж- межсоединений. Естественно, что ЯОП должен легко реализо- реализовать топологию БИС из логических выражений. Рассмотрение в качестве примера ЯОП высокого уровня начнем с формирования требований к нему. Язык должен обеспечивать структурное и поведенческое описание проек- проекта; генерировать эффективный микрокод для проектируе- проектируемой системы; обеспечивать функциональное, логическое и электрическое моделирование; быть понятным как разра- разработчику БИС, так и ЭВМ; быть достаточно универсальным, чтобы одинаково хорошо отражать основные особенности проекта на крайних уровнях абстракции; поддерживать
5.1. Системы автоматического проектирования 261 структурированное, регулярное и модульное представление проекта; быть легко осваиваемым и читаемым; содержать простую языковую нотацию для описания наиболее общих физических конструкций БИС. Чтобы удовлетворить перечисленным требованиям, не- необходимо обеспечить в конструкции языка: 1) наличие иерархической модульной структуры, что аналогично процедурам или функциям в програм- программных языках; 2) поименование каждого сигнала, который является или глобальной, или локальной переменной по отношению к модулю; 3) наличие формальных параметров (имен сигналов) в определениях модулей, подобно формальным парамет- параметрам в программных процедурах; в этом случае компи- компилятор проверяет число и размер (число битов) действи- действительных параметров, чтобы выявить соответствие между формальными и фактическими параметрами, специфицированными в определении модуля; 4) наличие атрибутов модулей, параметров или сигна- сигналов; 5) наличие библиотеки заранее созданнных модулей, со- состоящих из примитивов. Эти примитивы, естественно, должны быть понятны анализаторам, верификаторам и другим утилитам. В минимальном наборе библи- библиотека должна содержать: пассивные компоненты схем (резисторы, емкости), транзисторы различных типов (с р- и д-каналами), логические элементы (НЕ-И, НЕ-ИЛИ, НЕ), логические матрицы. Пусть ЯОП предназначен для проектирования микро- микропроцессорных СБИС на уровне регистровых передач, т. е. фактически является языком регистровых передач (ЯРП). Далее сделаем допущение, что ЯОП—ЯРП состоит из двух основных секций — отвечающих за структурное и за по- поведенческое описание. В свою очередь, каждая секция со- состоит из подсекций. Важное значение имеет подсекция структурной секции, называемая элементом. Последний мо- может быть накопительным, связным, входным/выходным и функциональным. Определения линий связи (шин) содер- содержат соответствующую информацию относительно их мест
262 Глава 5. Автоматическое проектирование и ИИ расположения, определения функциональных элементов — информацию о регистровых передачах. Введем еще три до- дополнительных типа подсекций в структурной секции: после- довательностную схему, функцию маршрутизации, контро- контрольный формат. Поведенческая информация определяется поведенческой секцией, которая содержит определение инструкционного множества микроопераций регистровых передач. Требова- Требования к управлению определяются явно в определениях функ- функциональных элементов и неявно в определениях элементов связи и инструкций-микроопераций. Контрольный формат слова, декларированный в форматной подсекции, может быть использован для внесения требований управления ин- инструкции-макрооперации в микрокод. Для определения комбинаций управляющего слова проверяется параллель- параллельность микроопераций. Рассмотрим более подробно каждую секцию. Пусть сек- секция структурного описания содержит следующие под- подсекции: декларирования накопительных элементов для за- записи и считывания информации, включая декларирование входных и выходных контактных площадок процессора; де- декларирования функциональных элементов, таких как АЛУ, мультиплексоры, селекторы и т. д., декларирования элемен- элементов связи (шин) между элементами накопления, т. е. линий передачи информационных потоков; декларирования управ- управляющей части наперед заданной последовательной схемы; определения формата управляющего слова для контроллера; определения специальных функций ЛЭ или функций эле- элементов без явных условий управления. Накопительные элементы включают спецификацию реги- регистров, субрегистров, памяти и информационных магистралей (шин). Обеспечивается также спецификация расположений входов/выходов. Кроме того, определяется побитовая длина каждого элемента. Каждый идентификатор, который не со- содержит определения побитовой длины, обрабатывает 1 бит информации. Декларирование накопительных элементов определяет все элементы, используемые в подсекциях и яв- являющиеся в некотором смысле операндами операций регист- регистровых передач. Все элементы, декларированные в подсекции накопительных элементов, являются глобальными перемен-
5.1. Системы автоматического проектирования 263 ными, которые в процессе создания проекта необходимо за- запомнить для последующей его верификации. При автомати- автоматическом грамматическом разборе операций передачи компиля- компилятор проверит определение накопительного элемента. Если определение отсутствует, то он должен прервать свое функци- функционирование и выдать информацию об ошибке. Подсекция функционального элемента должна опреде- определять все операционные элементы между накопительными. Она должна специфицировать отправные и приемные на- накопительные элементы, операции преобразования и их усло- условия управления. Разрешенные операторы обработки информации приве- приведены в табл. 5.1. Таблица 5.1 Операторы Передачи Отношения Арифметические Логические Условные Переход (разветвления) Виды операторов —> > < = >= <= У + - ++ — | —i л « » IF...THEN... IF...THEN...ELSE —> Назначение Передача информации Больше чем Меньше чем Равно Больше или равно Меньше или равно Не равно Сложение Вычитание Увеличение Уменьшение И ИЛИ НЕТ Исполнение Сдвиг влево Сдвиг вправо Если ..., то ... Если ..., то ..., иначе go to
264 Глава 5. Автоматическое проектирование и ИИ Если между накопительными элементами находится несколько функциональных элементов, то последний из них может определяться двумя различными путями: 1) введением псевдонакопительного элемента между функ- функциональными элементами, 2) объединением двух функци- функциональных элементов и описанием данной комбинации как одного элемента. Второй путь предпочтительнее, так как ведет к уменьшению общего числа определенных макроо- макроопераций. Декларирование элемента связи обычно используется для определения информационного потока или информа- информационных путей системы. ЯОП всегда требует некоторого порядка представления информации, такого, как ветвление тестовых условий или адресов. В ЯОП обеспечивается только информация относи- относительно ветвления тестовых условий. Система генерации микрокодов автоматически генерирует другие последовате- последовательности сигналов (согласно архитектуре контроллера) на основании секции описания поведения и заносит их в конт- контрольную память. Спецификация переходного теста подобна определению элемента. В качестве схемы упорядочивания можно выбрать упоря- упорядочивание с переменным форматом. Определение формата управляющего слова используется для преобразования усло- условий управления в управляющую память. Обычно такое пре- преобразование ведет к генерации результирующего микроко- микрокода. В этом случае необходима информация об именах эле- элементов с соответствующим расположением их бит-структур в управляющей памяти. Теперь проанализируем работу секции описания поведе- поведения. Описание поведения необходимо для определения мно- множества автоматных инструкций, выполняемых на уровне регистровых передач. Ранее определенные специальные функции могут быть также использованы для определения операций. С помощью ЯОП можно легко сделать макроопре- макроопределение, чтобы специфицировать часто используемый блок регистровых передач, например специфицировать располо- расположение памяти в вычислительном блоке для облегчения опи-
5.1. Системы автоматического проектирования 265 сания поведения. В макроописаниях можно использовать следующий формат: макроимя: макрооперация. Макроописания должны собираться в начале секции описаний инструкций. Примерный перечень операторов представлен в табл. 5.1. Эти операторы имеют то же значе- значение, что и описание элементов и функций в секции струк- структурного описания. При построении высказываний относительно микро- микроопераций передачи необходимо предусмотреть два вида по- последовательностей. Первая обычная последовательность определяется оператором «если..., то... (иначе)..., а», вторая последовательность — оператором-«МЕТКА». Обычные по- последовательности могут служить элементами более сложных последовательностей. 5.1.3. Методология проектирования Методология проектирования при помощи КРЕМКОМ содержит четыре основных этапа. 1. Этап описания поведения будущего объекта проек- проектирования, включающий введение промежуточных уровней интерпретации на алгоритмическом подуров- подуровне (микропрограммы), преобразование алгоритмов пу- путем представления сложных операций простыми (на- (например, умножение заменяется последовательным сложением и сдвигом), трансляцию инструкции в за- заданный формат, соответствующий стандартной орга- организации операционной части, извлечение специфика- спецификации операционной части и блока управления из исход- исходного описания поведения проектируемой схемы. 2. Этап проектирования операционной части, вклю- включающий генерацию топологии операционной части из ее спецификации. Операционная часть имеет побито- побитовую организацию, архитектура и принципиальная электрическая схема которой стандартизованы, что позволяет вести их проектирование путем сборки зара- заранее рассчитанных ячеек.
266 Глава 5. Автоматическое проектирование и ИИ 3. Этап проектирования блока управления, включаю- включающий выбор спецификации блока управления и генери- генерирование регулярных частей из полученной специфика- спецификации. 4. Этап проектирования интерфейсных блоков. Для обеспечения работоспособности проекта генераторы операционной части и блока управления выдают всю необ- необходимую информацию об их работе на электрическом и ло- логическом уровнях. 5.2. Модель топологии для автоматического проектирования Иерархический принцип проектирования сложных тех- технических систем хорошо известен. Традиционное использо- использование этого принципа при проектировании СБИС по схеме «сверху — вниз» сводится к поэтапному выполнению ра- работ, причем на каждом этапе используется своя матема- математическая модель. В данном разделе рассматривается иерар- иерархическая модель эскиза конструкции сложных электрон- электронных систем, в первую очередь топологии СБИС и У БИС. При этом количество уровней иерархии теоретически не ограничено, а математическая модель объекта проектиро- проектирования на любом уровне остается неизменной. Более того, все проектные процедуры, используемые при обработке ма- математической модели на каждом этапе проектирования, одинаковы [5.2]. 5.2.1. Топологический подход В конструкторском проектировании применяются пря- прямые и топологические методы. Прямые методы используют в основном геометрические (физические) характеристики объекта и его одноуровневую модель. В топологических ме- методах все характеристики объекта представлены двумя от- относительно независимыми группами: топологическими и геометрическими. На языке первых, выражающих понятия упорядоченности и связности отдельных частей, определяет-
5.2. Модель топологии для автоматического проектирования 267 ся модель эскиза. Конечно, представление эскиза на плоско- плоскости несет в себе определенные физические размеры, но они служат только удобству восприятия абстрактной модели. За- Затем эскиз преобразуется в геометрическую модель, описан- описанную в терминах размерных характеристик. Прямые методы сразу формируют геометрическую модель. Топологические методы позволяют формировать объект и анализировать его будущие свойства, отслеживать эффективность загрузки коммутационной области, контролировать существование и возможность нахождения одного или нескольких решений и другие аналитические аспекты проблемы. Традиционным направлением топологических методов яв- является подход, опирающийся на модель объекта в виде гра- графа. Однако этот подход плохо учитывает отношения порядка и иерархическую структуру объекта и поэтому не нашел ши- широкого применения в автоматизированном проектировании. Математическая модель односвязной области. Основ- Основной математической моделью здесь является циклически замкнутый вектор, который при соответствующей интерпре- интерпретации его компонент по определению учитывает взаимное расположение любых частей топологии: элементов, выво- выводов, соединений, фрагментов. Под эскизом понимается описание конструкции на язы- языке связности и упорядочивания различных ее частей. Отно- Отношения порядка выводов и соединений были введены при ре- решении задачи трассировки односвязной области [5.3]. Гра- Граница односвязной области представляет собой циклический вектор выводов цепей А = (а, ..., ап) в порядке обхода грани- границы, оставляющем область слева. При этом каждая компо- компонента указывает номер соответствующей цепи. Модель трассировки — последовательность циклических векторов, выражающих фазы ее завершенности: Ao=AyAk = 0; E.1) Aj+i = Vj(Aj)> J = °> •••> k-1, где \\jj — композиция элементарных операторов трех типов: fs> <Ps> 9s-
268 Глава 5. Автоматическое проектирование и ИИ Модель описывает безразмерный эскиз взаимного распо- расположения цепей. Существенными элементами эскиза являют- являются точки объединения в узел пар ветвей каждой цепи и точ- точки пересечения пар ветвей различных цепей. Каждая точка идентифицируется соответствующими парами ветвей, кото- которые, в свою очередь, определяются соответствующими ком- компонентами вектора А;. Граница области задает начальную фазу трассировки. Топологическая трассировка строится от периферии к центру области. На очередной фазе к уже по- построенной части эскиза добавляются некоторые новые существенные его точки. По мере завершения цепи исклю- исключаются из рассмотрения (рис. 5.2). Оператор fs> соответству- соответствует объединению в узел ветвей, указанных as-& и as+r& ком- компонентами вектора: at, если i < s, ai+1, если i > s. Рис. 5.2. Иллюстрация модели эскиза топологии трех цепей
5.2. Модель топологии для автоматического проектирования 269 Оператор cps соответствует пересечению двух ветвей раз- разных цепей, указанных as-u и as+ru компонентами вектора: at, если i ф s9s +1, ai+1, если i = s. at_l9 если / = s +1. Ь,- = Оператор 0S определяется так же, как и /s, но применяет- применяется для удаления из вектора уникальной компоненты, кото- которая соответствует полностью сформированной цепи. В качестве элементарных можно использовать более сложные операторы a(s, g), P(s, g), определяемые следующим образом: = fs+q+1D>(s, где ф(«, g)(A) = (ps_H?(. Базис {/s, ф8, 6S} элементарных операторов является пол- полным, т. е. любая эскизная трассировка односвязной области может быть смоделирована на их основе. Польза укрупнен- укрупненного базиса состоит, во-первых, в упрощении описания мо- модели трассировки, а во-вторых, в его простой физической интерпретации: операторы аир соответствуют конструк- конструктивному элементу типа диффузионный канал, предназна- предназначенному для устранения пересечения цепи с несколькими другими подряд. Построение оптимального эскиза сводится к поиску ре- решения операторного уравнения ^(А) = 0, где Ч* — компози- композиция операторов Уо»'-'»^-! в выражении E.1), содержащих наименьшее количество (ps, что соответствует укладке соеди- соединений с наименьшим числом пересечений цепей. В пользу этого критерия можно высказать следующие соображения: • критерий характеризует простоту коммутационной обла- области и влияет на площадь и размеры цепей размерной то- топологии, полученной из эскиза, так как устраняет лишние пересечения;
270 Глава 5. Автоматическое проектирование и ИИ • минимизируется число переходов из одного коммутаци- коммутационного слоя в другой, что важно для всех приборов с двухслойной коммутацией, когда времена задержки сиг- сигнала в разных слоях существенно отличаются (например, один слой реализован на основе металла, другой — поли- поликремния); • на этапе построения эскиза невозможно непосредственно оптимизировать критерии, зависящие от размеров элемен- элементов конструкции (площадь кристалла, длина цепи и др.). 5.2.2. Математическая модель топологии Рассмотрим отношения между фрагментами топологии. Пусть структура схемы задана бинарным деревом фраг- фрагментов. На рис. 5.3 изображены базовый узел структуры и его топологический аналог. Элементы А и Б, рассматривае- рассматриваемые как многополюсники, представлены циклическими векторами (с теми же наименованиями). Задача определе- определения взаимного положения фрагментов А и Б внутри С сво- сводится к выбору их ориентации, т. е. поворота и отражения. Жесткая фиксация их взаимной ориентации интерпретиру- интерпретируется как элемент С. Математической моделью этих операций являются преобразования циклического сдвига, отражения и слияния соответствующих векторов. Рассмотрим преобразование Rj циклического сдвига ком- компонент вектора А на ; позиций вправо: \o>i-j> если i > у, [аЛ+;_,-,если; < у. а б Рис. 5.3. Базовый узел (а) и его топология (б)
5.2. Модель топологии для автоматического проектирования 271 Это преобразование соответствует повороту многополюс- многополюсника по часовой стрелке на угол, равный 2nj/n, если грани- граница области — окружность, а выводы цепей распределены вдоль нее равномерно. Отражение является преобразованием вертикальной осе- осевой симметрии, причем ось проходит по первому полюсу. При этом направление обхода многополюсника изменяется на противоположное. Соответствующее преобразование Z действует на циклический вектор следующим образом: Z(A) = C= (cl9 ..., сп); ct = an+2+i9 i = 1,...,я. Заметим, что art+1 = ax ввиду цикличности вектора. На рис. 5.4 показано преобразование циклического сдвига и зер- зеркального отражения. В отличие от одноместных операций циклического сдвига и отражения, преобразование слияния определено на парах векторов Л = (av ..., art), В = (bl9 ..., bn): С = 5(А, В) = (с19 ..., сп+т), \ai9 если 1 < i < п, [bt_n, если п< i < п + т. 1 4 R3(A) = B, 4, 1, 3) Z(A) = C, 1, 4, 2) Рис. 5.4. Пример циклического сдвига и зеркального отражения Слияние означает образование из двух векторов одного непосредственным присоединением второго к первому как его продолжения (рис. 5.5). Это преобразование интерпрети- интерпретируется как операция введения разреза плоскости, превраща- превращающего две односвязные области в одну.
272 Глава 5. Автоматическое проектирование и ИИ А = C, 2, 4, 1) В = B, 5, 4) Рис. 5.5. Графическая иллюстрация слияния векторов С = б(А,Б) = = C, 2, 4, 1, 2, 5, 4) Взаимное расположение фрагментов А и В базового узла сложного объекта моделируется вектором D, полученным в результате преобразования: D = E.2) где Wf, W;- — операторы ориентации, являющиеся компози- композицией оператора сдвига соответствующих векторов на i и j по- позиций вправо и, возможно, последующего отражения. Вве- Введенные операции преобразуют трехсвязную область в двух- двухсвязную (рис. 5.6). Отношение порядка между фрагментами А, В, представленными теперь вектором D, и фрагментом С вводится оператором, смысл которого аналогичен выраже- выражению E.2): Е = E.3) Рис. 5.6. Топология базового узла после слияния Однако использование в выражении E.3) оператора D обязательно. Этот факт подтверждает различие в преобразо- преобразованиях областей, изображенных на рис. 5.7. Стрелки пока-
5.2. Модель топологии для автоматического проектирования 273 Рис. 5.7. Типы многосвязной области: а — двухсвязной и б— трехсвязной зывают порядок обхода границы после преобразования двухсвязной области в односвязную. Заметим, что множест- множество трассировок ограничено теми, которые не пересекают ли- линию разреза. Для односвязной области известен операторный метод построения оптимальной эскизной трассировки. На основе операций преобразования многосвязной области в односвяз- односвязную и операторного метода математическую модель узла иерархической структуры устройства можно записать следу- следующим образом: А, В, С, = b(Wi(A),Wj{B))y E=8(W8(C)9ZWt(D))9 Ч*(Е) = 0, где *Р — оператор трассировки. Оптимальному эскизу Мопт отвечает оператор Ч^, полу- полученный при наилучшем выборе параметров ?, у, s, t с учетом вариантов включения или исключения в операторах W пре- преобразования отражения. Оптимальный эскиз ZonT конструк- конструкции, имеющей структуру фрагментов L, может быть пред- представлен множеством оптимальных узлов со: T:coeL}. E.5) М =1 E.4)
274 Глава 5. Автоматическое проектирование и ИИ Отметим, что модели E.4) и E.5) носят конструктивный характер, и синтез эскиза сводится к последовательному вы- выполнению указанных в них операций для каждого узла иерар- иерархической структуры фрагментов в направлении снизу вверх. Построенный таким образом эскиз оптимален (в смысле поша- пошаговой оптимизации и при условии не пересечения соединения- соединениями вводимых линий разреза) по числу пересечений схемных соединений, если все они приписаны одной плоскости. 5.2.3. Геометрическая модель топологии Геометрическая модель узла конструкции (и объекта в целом) ограничена прямоугольными областями графиче- графических аналогов модели эскиза. Для получения геометриче- геометрической модели нужно еще выполнить немало исследований. Ограничимся здесь рассмотрением объектов, структура ко- которых имеет вид бинарного дерева. Построение геометрической модели системы сводится к многократному синтезу модели узла, что, в свою очередь, требует решения следующих задач: • построить трассировку, соответствующую вектору D в выражении E.4) (рис. 5.7, а); • построить трассировку, соответствующую вектору Е в вы- выражении E.4) (рис. 5.7, б); • изменить ориентацию заданной области на нужную (вме- (вместе с ее содержимым). При современном состоянии проблемы остается решить вторую из перечисленных задач. Однако для решения вто- второй задачи в общем виде нужно научиться находить мини- минимальные операторы, удовлетворяющие условию ПА) = В, где Аи В — заданные циклические векторы, возможно, нео- неодинаковой размерности. Рассмотренная математическая мо- модель эскиза применима к сложным конструкциям с сильно различающимися условиями прохождения сигнала в разных коммутационных слоях. Разделение модели конструкции на топологическую и геометрическую позволяет в значительной мере переместить оптимизацию на топологический уровень, что существенно уменьшает вычислительные затраты.
5.3. Искусственный интеллект в проектировании 275 Предложенная математическая модель эскиза обобщает- обобщается на любой тип иерархической структуры сложной элект- электронной системы. Для узла с р исходящими ветвями в выражении E.2) вместо двухместной операции нужно ввес- ввести ^-местную композицию операторов типа 5. Построение оптимальной модели требует исследования различных пере- перестановок в этой композиции. Другое обобщение модели эскиза связано с введением ограничений, например: цепь с номером i в узле coft (или в любом узле) не должна пересекаться другими цепями (или цепями с указанными номерами). В такой постановке в оп- оптимальной модели эскиза минимальный оператор трасси- трассировки заменяется оператором, удовлетворяющим заданным ограничениям. В процессе формирования этого класса от- отбраковываются операторы, не удовлетворяющие заданным ограничениям. Такой оператор выбирается из класса инва- инвариантных по числу пересечений решений. Поскольку класс решений, эквивалентных по числу пересечений в трассиров- трассировке, достаточно широк, такой подход позволяет найти гео- геометрическое вложение некоторого решения с большой веро- вероятностью. Необходимо отметить, что алгоритмическая и програм- программная реализация данной математической модели позволит полностью автоматизировать проектирование топологии СБИС теоретически неограниченной степени интеграции. Практическое ограничение связано с машинными ресурсами технических средств. Можно провести определенную анало- аналогию с использованием языка HDL для моделирования рабо- работы ИС на различных уровнях абстракции проекта. 5,3. Искусственный интеллект в проектировании Остановимся на роли искусственного интеллекта в систе- системах автоматизации проектирования. В настоящее время трудно (а за определенной границей сложности и невозмож- невозможно) разработать общую архитектуру проектируемого объек- объекта, которая определила бы детерминированным образом все
276 Глава 5. Автоматическое проектирование и ИИ будущие информационные потоки, все возможные состоя- состояния развивающейся системы. Поэтому необходимо раз- разработать методы системного проектирования, которые по- позволяли бы: • синтезировать приемлемые системы по несовершенным и неполным описаниям; • автоматически прослеживать возможные эффекты сис- системных изменений в архитектуре. Что же такое искусственный интеллект? Вот как оп- определяет его известный специалист в этой области англича- англичанин А. Эндрю: «...искусственный интеллект — это область исследований, направленная на то, чтобы заставить маши- машины выполнять функции, которые в настоящее время для них слишком трудны, и особенно такие функции, которые способны выполнять люди... Подобное определение скользя- скользящее, т. е. меняется со временем, точно так же, как изменя- изменяется наше представление о «думающей машине» по мере развития техники». Среди основных областей применения аппарата искусственного интеллекта он выделяет следую- следующие: моделирование игр (шахматы и др.); распознавание об- образов (зрительных, слуховых, графических, осязательных и т. д); создание экспертных систем; использование ес- естественного языка (системы вопрос-ответ и системы автома- автоматического перевода) и некоторые другие (роботика, доказа- доказательство теорем, инженерные знания). Основными направлениями, образующими концепту- концептуальную и техническую основу искусственного интеллекта, являются: 1) отыскание решений задач, для которых заранее допод- доподлинно не известен прямой путь решения; обычно это связано с концепцией поиска в пространстве решений; 2) представление информации — фактов, правил, дейст- действий или утверждений в таком виде, чтобы она могла быть использована другими компонентами «разумной системы»; 3) восприятие, целью которого является извлечение по- полезной информации из внешнего мира (например, зри- зрительное восприятие, овладение устными или письмен- письменным естественными языками, т. е. распознавание об- образов).
5.3. Искусственный интеллект s проектировании 277 При разработке сложных электронных систем все боль- большую роль играют методы искусственного интеллекта. Ис- Искусственный интеллект (ИИ) является результатом и про- продолжением работ в областях построения искусственного мозга, кибернетических машин и представления знаний. Основополагающие работы в указанных областях принадле- принадлежат Винеру (основатель кибернетики), Шеннону, Тьюрингу и др. Работы по созданию искусственного мозга в основном можно считать теоретическими. Практического применения они не нашли по причине отсутствия технических средств для моделирования нервных клеток живого мозга (нейро- (нейронов) с помощью электронных схем. Причем данная работа имела смысл только при условии моделирования нейронных сетей, содержащих 107 и более нервных клеток или их моде- моделей, что было технически неосуществимо. Построение кибернетических машин шло более успешно. Была уже создана теория вычислительных систем, началось применение ЭВМ для решения практических задач. Характерная черта кибернетических машин (или специаль- специальных технических систем, или программно-реализованных на ЭВМ) — самообучение, т. е. свойство накапливать зна- знания. Примерами данного типа машин могут служить «мышь Шеннона», «машины Тьюринга» и машинные шах- шахматы. Широкое практическое применение кибернетические машины нашли в построении современных вычислительных систем, в частности реализованных на БИС. Многие виды человеческой деятельности, такие как написание программ для ЭВМ, проектирование изделий электронной техники с помощью ЭВМ, решение математических и логических за- задач требуют мышления, т. е. интеллекта. Почти все автома- автоматизированные системы (АСУ, АСУТП, САПР, АСТПП и др.) обладают в некотором смысле искусственным интеллектом. Поэтому работа по построению таких систем находится в об- области задач по созданию искусственного интеллекта. 5.3.1. Задачи искусственного интеллекта Выделим четыре основные области исследования искус- искусственного интеллекта (рис. 5.8).
278 Глава 5. Автоматическое проектирование и ИИ Искусственный интеллект 1. Имитация творческих процессов Системы распозна- распознавания образов Системы обработки языков 2. Интеллек- Интеллектуализация ЭВМ Системы общения Базы данных Системы планирования решения задач 3. Новая технология решения задач Задачи планирования САПР Системы управления Автоматизация научных исследований Системы автоматического управления Экспертные системы 4. Роботы Системы сенсорные Системы видения Рис. 5.8. Области исследования искусственного интеллекта Первая область исследований касается исследований по воспроизведению на ЭВМ творческих для человека проце- процедур. В рамках этих исследований создаются программы для шахматной игры, для сочинения музыкальных произведе- произведений. Сюда же относятся программы для доказательства тео- теорем, программы, имитирующие способность человека к обу- обучению. Данные исследования носят в основном фундамента- фундаментальный характер. В ходе их формируются и отрабатываются основные методы и приемы искусственного интеллекта. Наибольший практический прогресс систем искусственного интеллекта данного направления был достигнут в обработке языков программирования, общения. Например, система кодирования и декодирования сообщений между центром управления и ракетой, или система перевода газеты «Изве- «Известия» на английский язык. Вторая область исследований касается решения пробле- проблемы интеллектуализации самих ЭВМ. Основным результатом
5.3. Искусственный интеллект в проектировании 279 этих исследований должны быть вычислительные машины, с которыми смогут общаться неподготовленные пользовате- пользователи. Сложность общения с ЭВМ не должна превосходить сложности эксплуатации бытовой аппаратуры. Очень важно решить задачу создания интеллектуальных баз данных или баз знаний как основных составляющих САПР. Системы баз данных представляют собой реализован- реализованные средствами вычислительной техники программно-ин- программно-информационные системы, в которых хранятся большие объе- объемы фактов, относящихся к некоторой области знаний. При- Причем они хранятся в виде, удобном для их использования при ответах на вопросы, касающиеся этой предметной области. То, каким образом наши знания следовало бы представлять и использовать, является одной из задач, возникающих при переработке систем баз данных, для решения которых могут привлекаться методы искусственного интеллекта. Третья область исследований включает все иссле- исследования, направленные на создание новых принципов обра- обработки информации и решения задач. Эти принципы исполь- используют характерные особенности ИИ и прежде всего опериру- оперируют знаниями, так же как люди при выполнении творческой работы. Остановимся подробнее на системах автоматическо- автоматического программирования и экспертных системах. Системы автоматического программирования решают за- задачи подготовки программ для ЭВМ. Эти задачи тесно связа- связаны с задачей доказательства теорем. Поиск доказательства (или опровержения) некоторой математической теоремы рассматривается как пример интеллектуальной задачи. Не только потому, что для этого требуется способность произве- произвести дедукцию исходя из гипотез, но и потому, что необходи- необходимы интуитивные навыки, такие как построение догадки о том, какие промежуточные леммы следует доказать, чтобы способствовать доказательству основной теоремы. Дедукция — одна из форм умозаключения, характери- характеризующаяся тем, что новое знание о каком-либо предмете или группе однородных предметов выводится на основании зна- знания класса, к которому принадлежат исследуемые предметы, факты, теории, и общего правила, действующего в пределах данного класса предметов. Существующие компиляторы уже осуществляют в некотором смысле автоматическое програм-
280 Глава 5. Автоматическое проектирование и ИИ мирование. Они воспринимают полное описание того, что программа должна делать во входном коде, и пишут програм- программу, которая это делает в объектном коде. Программа, записанная на любом из языков програм- программирования, называется исходным модулем или исходной программой. Исходная программа преобразуется транслято- транслятором и компилятором в объектный модуль или в программу в объектном коде, т. е. в промежуточном формате. Програм- Программы в объектном коде не являются еще машинными програм- программами. Они не предназначаются для непосредственного вы- выполнения, так как кроме текста программы содержат допол- дополнительную информацию, позволяющую организовывать связи между отдельными частями программы. То, что здесь подразумевается под автоматическим программированием, можно описать как «суперкомпилятор», или программу, способную воспринимать описание на понятном нам языке того, что требуется от искомой программы. Задача авто- автоматического написания программы для достижения задан- заданного результата тесно связана с задачей доказательства того, что программа достигает этого результата. Последняя задача называется задачей верификации программы. Автоматические экспертные системы обеспечивают пользователя компетентными заключениями, касающимися определенных предметных областей. Ключевая проблема при построении экспертных систем заключается в том, как представлять и использовать знания, которыми располагают и пользуются люди, являющиеся экспертами в этих облас- областях. Эта задача осложняется еще и тем, что экспертные зна- знания во многих важных областях науки часто являются не- неточными или неопределенными. Четвертая область исследований связана с созданием ин- интеллектуальных роботов, способных автономно решать сложные задачи, связанные с перемещением роботов в реа- реальной среде, обработкой зрительной информации, норматив- нормативным поведением роботов и многое другое. 5.3.2. Экспертные системы Любое действие в поведении разумного человека осущест- осуществляется им после некоторого размышления и принятия реше-
5.3. Искусственный интеллект в проектировании 281 ния. Этот процесс называется «проведением экспертизы». Чаще всего в этом случае участвует один эксперт — сам чело- человек. Чем важнее и сложнее принимаемое решение, тем боль- большее количество экспертов привлекается. Например, педаго- педагогический совет в школе и техникуме, совет директоров и т. д. Очень важным для принятия экспертных оценок мнений специалистов является формирование группы специалистов. При формировании группы специалистов решаются следую- следующие задачи: подбор специалистов-экспертов; составление специальных опросных листов; разработка способа и проце- процедуры опроса экспертов; проведение опроса; анализ информа- информации, полученной от экспертов; синтез объективной и субъ- субъективной информации с целью подготовки оценок, необхо- необходимых для принятия решения. Данный этап длительный и дорогостоящий из-за высо- высоких требований к эксперту. Идеальный эксперт должен об- обладать следующими способностями: решать творческие за- задачи, метод решения которых полностью или частично не- неизвестен; видеть или создавать неочевидные проблемы; делать заключения об исследуемом объекте без осознания пути движения мысли к этому заключению; предсказывать или предчувствовать будущие состояния исследуемого объ- объекта; противопоставлять предубеждениям и массовым мне- мнениям свое собственное; видеть проблему с различных точек зрения. Подобрать группу равноценных экспертов, обладаю- обладающих всеми этими способностями, технически сложно. Для упрощения процесса применения экспертных оце- оценок и удешевления данной процедуры были созданы автоматизированные экспертные системы (ЭС). Экспертные системы (ЭС) возникли как значительный практический результат в применении и развитии методов искусственного интеллекта (ИИ) — совокупности научных дисциплин, изучающих методы решения задач интеллектуа- интеллектуального (творческого) характера с использованием ЭВМ. Под экспертной системой будем понимать программу для компь- компьютера, которая оперирует со знаниями в определенной пред- предметной области с целью выработки рекомендаций или реше- решения проблем. Другими словами, данная программа способна либо полностью, либо частично заменить человека-специа- человека-специалиста в конкретной предметной области. Под частичной за-
282 Глава 5. Автоматическое проектирование и ИИ меной подразумевается уточнение принятия решений чело- человеком. В этом случае в качестве консультанта программы может выступать не эксперт, а инженер со средним уровнем квалификации. Правильное распределение функций между человеком и программой играет ключевую роль в разработке экспертных систем. Исследования в этой области сконцент- сконцентрированы на разработке программ, способных эмулировать те области человека, которые требуют мышления, опреде- определенного мастерства и накопленного опыта. К ним относятся задачи принятия решений, распознавания образов и пони- понимания человеческого языка. Эта технология уже успешно применяется в некоторых областях техники и жизни. Пере- Перечислим типовые задачи, решаемые экспертными системами: • извлечение информации из первичных данных; • диагностика неисправностей; • структурный анализ сложных объектов; • выбор конфигурации сложных многокомпонентных сис- систем; • планирование последовательности выполнения опера- операций, приводящих к заданной цели. ЭС — это набор программ, выполняющий функции экс- эксперта при решении задач из некоторой предметной области. ЭС выдают советы, проводят анализ, дают консультации. Главным достоинством экспертных систем является возмож- возможность накопления знаний и сохранение их длительное время. В отличие от человека, к любой информации экспертные сис- системы подходят объективно, что улучшает качество проводи- проводимой экспертизы. При решении задач, требующих обработки большого объема знаний, возможность возникновения ошиб- ошибки мала. Экспертная система состоит из базы знаний (части системы, в которой содержатся факты), подсистемы вывода (множества правил, по которым осуществляется решение за- задачи), подсистемы объяснения, подсистемы приобретения знаний и диалогового процессора. При построении подсистем вывода используют методы решения задач искусственного интеллекта. При их разработке нашли применение методы ИИ, разработанные ранее: методы представления знаний, ло- логического вывода, эвристического поиска, распознавания предложений на естественном языке и др.
5.3. Искусственный интеллект в проектировании 283 Основными отличиями ЭС от других программных про- продуктов являются использование не только данных, но и зна- знаний, а также специального механизма вывода решений и но- новых знаний на основе имеющихся. Знания в экспертной сис- системе представляются в такой форме, которая может быть легко обработана на ЭВМ. В экспертной системе известен ал- алгоритм обработки знаний, а не алгоритм решения задачи. Поэтому применение алгоритма обработки знаний может привести к получению такого результата при решении конк- конкретной задачи, который не был предусмотрен. Более того, алгоритм обработки знаний заранее неизвестен и строится по ходу решения задачи на основании эвристических пра- правил. Решение задачи в экспертной системе сопровождается понятными пользователю объяснениями, качество получае- получаемых решений обычно не хуже, а иногда и лучше достигае- достигаемого специалистами. В системах, основанных на знаниях, правила (или эвристики), по которым решаются проблемы в конкретной предметной области, хранятся в базе знаний. Проблемы ставятся перед системой в виде совокупности фактов, описывающих некоторую ситуацию, и система с по- помощью базы знаний пытается вывести заключение из этих фактов. Основой ЭС является обширный запас знаний о кон- конкретной проблемной области. В большинстве случаев эти знания организуются как некоторая совокупность правил, позволяющих делать заключение на основе исходных дан- данных или предположений. Такой подход к созданию систем изменяет соотношение ДАННЫЕ + АЛГОРИТМ = ПРО- ПРОГРАММА на ЗНАНИЯ + ВЫВОД = СИСТЕМА. Общая структура ЭС показана на рис. 5.9. Экспертная си стема состоит из четырех основных компонентов: модуля усвоения знаний; базы знаний; машины логического выво- вывода; человеко-машинного интерфейса или системы объясне- объяснений. Такая структура ЭС обусловлена организацией про- программ, которая отлична от организации обычных пакетов программ. С традиционных позиций программа представля- представляет собой процедуру и данные, а экспертные системы являют- являются системами, управляемыми базами данных. Модуль усвоения знаний, являющийся самым дорогим ресурсом, автоматизирует процесс извлечения знаний и обу- обучение машины. Под обучением машины понимается любое
284 Глава 5. Автоматическое проектирование и ИИ ( Эксперт j \ Модуль усвоения знаний База данных ^ -^ Ядро ЭС /* "\ / База знаний\ Машина \ \ логического / \. вывода у \ Человеко-машинный интерфейс 1 . Пользователь J Рис. 5.9. Структура экспертной системы улучшение работы ЭС, являющееся результатом накопления опыта. Последнее происходит за счет применения алгорит- алгоритмов, решающих задачи расширения круга решаемых проб- проблем, вывода более точных решений, получения ответов с ме- меньшими затратами, упрощения уже имеющихся знаний. База знаний (БЗ) содержит факты (или утверждения) и правила. Факты представляют собой краткосрочную инфор- информацию, так как они могут изменяться. Правила — более долговременная информация о том, как порождать новые факты или гипотезы из того, что сейчас известно. К знани- знаниям относятся факты, процедуры и управляющие знания. Факты, или декларативные знания, — вид знаний, пред- представляющий информацию о конкретном случае, обычно со- собираемую посредством диалога с пользователем (П). Пользо- Пользователь указывает, какие факты считаются справедливыми в настоящее время; важна и форма представления этой ин- информации.
5.3. Искусственный интеллект в проектировании 285 Процедурные — это знания, которые собираются заранее путем опроса специалистов в данной предметной области и составляют ядро базы знаний. Процедуры используются также в блоке рассуждения системы, позволяя выводить следствия. Процедурные знания дают возможность генери- генерировать факты. Управление — знания, необходимые для вы- выработки определенной стратегии и перехода от одной страте- стратегии поиска ответа к другой. Знания об управлении не воплощены в какую-то програм- программу, а представляют собой данные для интерпретатора высо- высокого уровня, а именно машины логического вывода. В любой момент времени в системе существуют три типа знаний: • структурированные знания — статические знания о пред- предметной области. После того как эти знания выявлены, они уже не изменяются; • структурированные динамические знания — изменяемые знания о предметной области. Они обновляются по мере выявления новой информации; • рабочие знания — знания, применяемые для решения конкретной задачи или проведения консультации. Все перечисленные выше знания хранятся в базе знаний. Для ее построения требуется провести опрос специалистов, являющихся экспертами в конкретной предметной области, а затем систематизировать, организовать и снабдить эти зна- знания указателями, чтобы впоследствии их можно было легко извлечь из базы знаний. Машина логического вывода в действительности является программой или комплексом программ, обеспечивающим вы- выбор последовательности «рассуждений» для достижения цели, т. е. заключения по частной проблеме. Известно несколько схем логического вывода: прямая цепочка рассуждений, обратная цепочка рассуждений и схема, сочетающая достоин- достоинства двух предыдущих подходов. Прямая цепочка подразуме- подразумевает рассуждения, идущие от имеющихся данных к опреде- определенному умозаключению, гипотезе. Обратная цепочка подра- подразумевает рассуждения, необходимые для получения данных, подтверждающих или опровергающих поставленные ранее ги- гипотезы. Характерная особенность используемых данных — не- ненадежность, неопределенность, расплывчатость, нечеткость.
286 Глава 5. Автоматическое проектирование и ИИ Человеко-машинный интерфейс является одной из важ- важнейших составляющих, делающей ЭС именно экспертной системой. Через данный интерфейс пользователь обращает- обращается к ЭС с вопросами: почему был сделан именно такой логи- логический вывод или почему ЭС задала именно такой вопрос пользователю. С помощью человеко-машинного интерфейса организуется режим расспрашивания и проверки. Рассмотрим работу ЭС (рис. 5.10). Существуют три режи- режима взаимодействия пользователя с ЭС, когда пользователь выступает в качестве: 1) потребителя, если ему необходимо получить решение поставленных задач; 2) учителя, если он «обучает» ЭС, 3) ученика, если он знакомится с предметом на основе общения с базой знаний. Пользователь Задание вопросов для формирования начальных знаний по проблеме Учитель Сравнение этих знаний с совокупностью знаний, полученных от учителя Задане дополнительных вопросов для заполнения пробелов в знаниях Высказывание предположения Ученик Пользователь Рис. 5.10. Структура взаимодействия учителя, ученика и пользователя Основной задачей экспертных систем является помощь специалистам за счет использования знаний о проблемной области, полученных из самых разнообразных источников: книг, статей, экспертов и т. д. Таким образом, в ЭС хранит- хранится коллективный опыт, накопленный в данной проблемной области, например в телевизионной технике. Экспертные
5.3. Искусственный интеллект в проектировании 287 системы выступают в качестве консультантов, когда специа- специалист обращается к ним за помощью. Задача экспертной сис- системы — объяснить пользователю непонятное для него явле- явление. Экспертные системы выступают в качестве мощных средств поднятия профессионального уровня специалистов, занятых принятием решений и оценкой ситуаций (диагнос- (диагностированием) в тех областях человеческой деятельности, в которых пока невысок уровень формализации накоплен- накопленных знаний. Именно а этих областях опыт специалиста, сла- слагающийся из знаний, почерпнутых во время учебы нз книг, от других специалистов, из личного опыта, является единст- единственным гарантом его успешной деятельности. Экспертная система отличается от других прикладных программ нали- наличием следующих признаков. • Моделирует не столько физическую (или иную) природу определенной проблемной области, сколько механизм мышления человека применительно к решению задач в этой проблемной области. Это существенно отличает экс- экспертные системы от систем математического моделирова- моделирования или компьютерной анимации. Система, помимо выполнения вычислительных операций, формирует опре- определенные соображения и выводы, основываясь на тех знаниях, которыми она располагает. Знания в системе представлены, как правило, на некотором специальном языке и хранятся отдельно от собственно программного кода, который и формирует выводы и соображения. Этот компонент программы принято называть базой знаний. • При решении задач основными являются эвристические и приближенные методы, которые, в отличие от алгорит- алгоритмических, не всегда гарантируют успех. Эвристика, по существу, является правилом влияния (rule of thumb), которое в машинном виде представляет некоторое зна- знание, приобретенное человеком по мере накопления прак- практического опыта решения аналогичных проблем. Такие методы являются приблизительными в том смысле, что, во-первых, они не требуют исчерпывающей исходной ин- информации, и, во-вторых, существует предельная степень уверенности (или неуверенности) в том, что предлагаемое решение является верным.
288 Глава 5. Автоматическое проектирование и ИИ • Экспертные системы имеют дело с предметами реального мира, операции с которыми обычно требуют наличия зна- значительного опыта, накопленного человеком. Одной из основных характеристик экспертной системы является ее производительность, т. е. скорость получения результа- результата и его достоверность. Экспертная система должна за приемлемое время найти решение, которое было бы не хуже, чем то, которое может предложить специалист в этой предметной области. Экспертная система должна обладать возможностью объ- объяснить, почему предложено именно такое решение, и дока- доказать его обоснованность. Пользователь должен получить всю информацию, необходимую ему для того, чтобы быть уверенным, что принято правильное решение. Экспертная система проектируется в расчете на взаимодействие с разны- разными пользователями, для которых ее работа должна быть, по возможности, понятной. Процесс создания экспертной сисе- мы часто называют инженерией знаний (knowledge enginee- engineering). Рассмотрим теперь четыре основные функции эксперт- экспертных систем. Приобретение знаний — это передача потенциального опыта решения проблемы от некоторого источника знаний и преобразование его в вид, который позволяет использовать эти знания в программе. Передача знаний выполняется в процессе достаточно длительных и подробных собеседова- собеседований между специалистом по проектированию экспертной системы (инженером по знаниям) и экспертом в определен- определенной предметной области, способным достаточно четко сфор- сформулировать имеющийся у него опыт. Представление знаний — еще одна функция экспертной системы. Предмет исследования в этой области — методы ассоциативного хранения информации, подобные тем, кото- которые существуют в мозге человека. При этом основное внима- внимание, естественно, уделяется логической, а не биологической стороне процесса. В области экспертных систем представление знаний ин- интересует в основном как средство отыскания методов форма- формального описания больших массивов полезной информации
5.3. Искусственный интеллект в проектировании 289 с целью их последующий обработки с помощью символиче- символических вычислений. Формальное описание означает упорядоче- упорядочение в рамках какого-либо языка, обладающего достаточно четко формализованным синтаксисом построения выраже- выражения и такого же уровня семантикой, увязывающей смысл выражения с его формой. Символические вычисления означают выполнение нечис- нечисловых операций, в которых могут быть сконструированы символы и символьные структуры для представления раз- различных концептов и отношений между ними. В области искусственного интеллекта ведется интенсивная работа по созданию языков представления (representation lan- languages). Под этим термином понимаются компьютерные язы- языки, ориентированные на организацию описаний объектов и идей, в противовес статическим последовательностям инструк- инструкций или хранению простых элементов данных. Основными критериями доступа к представлению знаний являются логи- логическая адекватность, эвристическая мощность и естествен- естественность, органичность нотации. Поясним эти термины. Логическая адекватность означает, что представление должно обладать способностью распознавать все отличия, которые вы закладываете в исходную сущность Эвристическая мощность означает, что наряду с нали- наличием выразительного языка представления должно сущест- существовать некоторое средство использования представлений, сконструированных и интерпретируемых таким образом, чтобы с их помощью можно было решить проблему. Часто уровень эвристической мощности рассматривается по резу- результату, т. е. по тому, насколько легко оказывается извлечь нужное знание применительно к конкретной ситуации. Знать, какие знания более всего подходят для решения кон- конкретной проблемы, — это одно из качеств, которое отличает действительно специалиста, эксперта в определенной облас- области, от новичка или просто начитанного человека. Естественность нотации следует рассматривать как достоинство системы, поскольку большинство приложений, построенных на базе экспертных систем, нуждается в накоп- накоплении большого объема знаний, а решить такую задачу до- довольно трудно, если соглашения в языке представления слишком сложны. Выражения, которыми формально опи-
290 Глава 5. Автоматическое проектирование и ИИ сываются знания, должны быть по возможности простыми для написания, а их смысл должен быть понятен. Примером может служить декларативный программный код, который сам по себе дает достаточно четкое представление о процессе его выполнения. За прошедшие годы было предложено не- немало соглашений, пригодных для кодирования знаний на языковом уровне. Среди них отметим порождающие прави- правила, структурированные объекты и логические программы. В большинстве экспертных систем используется один или несколько из перечисленных формализмов. Управление процессом поиска решения При проектировании экспертной системы серьезное вни- внимание должно быть уделено и тому, как осуществляется до- доступ к знаниям, и как они используются при поиске реше- решения. Знание о том, какие знания нужны в той или иной кон- конкретной ситуации, и умение ими распорядиться — важная часть процесса функционирования экспертной системы. Та- Такие знания получили наименование метазнаний — т. е. знаний о знаниях. Решение нетривиальных проблем требует и определенного уровня планирования и управления при выборе, какой вопрос нужно задать, какой тест выполнить, и т. д. Использование разных стратегий перебора имеющихся знаний, как правило, оказывает довольно существенное вли- влияние на характеристики эффективности программы. Эти стратегии определяют, каким способом программа отыскива- отыскивает решение проблемы в некотором пространстве альтернатив. Разъяснение принятого решения Представление информации о поведении экспертной сис- системы важно по многим причинам. Пользователи, работающие с системой, нуждаются в подтверждении того, что в каждом конкретном случае за- заключение, к которому пришла программа, в основном кор- корректно. Инженеры, имеющие дело с формированием базы знаний, должны убедиться, что сформулированные ими знания при- применены правильно, в том числе и в случае, когда существует прототип.
5.3. Искусственный интеллект в проектировании 291 Экспертам в предметной области желательно просле- проследить ход рассуждений и способ использования тех сведений, которые с их слов были введены в базу знаний. Это позволит судить, насколько корректно они применяются в данной си- ситуации. Программистам, которые сопровождают, отлаживают и модернизируют систему, нужно иметь в своем распоряже- распоряжении инструмент, позволяющий заглянуть в «ее нутро» на уровне более высоком, чем вызов отдельных языковых про- процедур. Менеджер системы, использующей экспертную техноло- технологию, который в конце концов несет ответственность за послед- последствия решения, принятого программой, также нуждается в подтверждении, что эти решения достаточно обоснованы. Способность системы объяснить методику принятия ре- решения иногда называют прозрачностью системы. Под этим понимается, насколько просто персоналу выяснить, что де- делает программа и почему. Эту характеристику системы сле- следует рассматривать в совокупности с режимом управления, о котором шла речь в предыдущем разделе, поскольку по- последовательность этапов принятия решения тесно связана с заданной стратегией поведения. Отсутствие достаточной прозрачности поведения систе- системы не позволит эксперту повлиять на ее производительность или дать совет, как можно ее повысить. Прослеживание и оценка поведения системы — задача довольно сложная и для ее решения необходимы совместные усилия эксперта и специалиста по информатике. Рассмотрим, как соотносятся ЭС и основные составляю- составляющие САПР: информационное обеспечение, лингвистическое обеспечение, база данных и технические средства. Экспертная система и информационное обеспечение. Основное назначение эксперта — дать вполне надежные вы- выводы по неполной информации и при отсутствии строгих правил (примером которых могут служить точные науки) ее описания. Несмотря на субъективный характер знаний экс- эксперта, они очень ценны, поскольку содержат все, что хотя бы частично осознано, но еще не сформулировано в строгой форме. Специфическая особенность ЭС, отличающая ее принципиально от других программных систем, состоит в
292 Глава 5. Автоматическое проектирование и ИИ том, что экспертная система в качестве интеллектуальной основы должна хранить сведения, недостаточно формализо- формализованные, имеющие отпечаток субъективности в выражении и интуитивности в приемах использования знаний отдельных экспертов. В этом отличие экспертных систем прежде всего от подсистем обработки данных в информационном обеспе- обеспечении САПР, хотя цели обоих видов систем совпадают. В подсистеме САПР обработки данных основные алгоритмы обработки базируются на классическом математическом ап- аппарате и их программная реализация не вызывает сложно- сложностей, а представление фрагментарных, не «систематизиро- «систематизированных по форме выражения» знаний эксперта, требует не только и не столько труда программиста, сколько больших усилий специалиста по формализации знаний. Экспертная система и лингвистическое обеспечение. Экспертная система имеет дело с декларативными знания- знаниями. Декларация, конечно, не создает полноты знания. В тех случаях, когда надо решить конкретную задачу, выбирают процедурные знания (вычислительные методы). Между про- процедурными и декларативными знаниями такая же разница, как между понятиями «вычислить» н «найти». Они равно- мощны по представимости и подчас незаметно переходят одно в другое. Эффективность программирования в основ- основном зависит от точно угаданного соотношения объема вы- вычислений (процедурных знаний), хотя декларации ближе к натуральному миру, естественнее для человека. Процедурные языки позволяют программировать лишь с помощью инструкций и данных, к которым применяется инструкция. В результате тексты носят инструктивный ха- характер: «Делай так или иначе в зависимости от проверки условий». Первым подходом в логическом программировании не- непроцедурного типа было создание языка ПРОЛОГ. Основная идея этого языка состоит в записи условий задачи, а не про- процесса решения. Решение получается путем логического вы- вывода цели из посылок, определенных условиями задачи. Второй подход непроцедурного программирования со- состоит в обеспечении возможности программировать посред- посредством структур данных и алгоритмов.
5.3. Искусственный интеллект в проектировании 293 Третий подход определяется возможностью предъявле- предъявления примеров и проверки на непротиворечивость с другими хранимыми примерами. Употребление в программировании примера дает альтернативу инструктивному созданию ново- нового объекта, состоящую в установлении различий между ним и некоторым прототипом объекта. При этом отношения между объектами представляются в виде непрерывно прове- проверяемых ограничений. Такое решение освобождает програм- программиста от явного формулирования условий. В любом случае пользователь ЭС не должен тратить свое время на изучение универсальных и проблемно-ориентиро- проблемно-ориентированных языков программирования вместе с техникой мани- манипулирования файлами данных. Для экспертных систем ха- характерно то, что знание формулируется на непроцедурном языке программирования. Экспертная система и база данных. Простейшим клас- классом экспертных систем становятся базы данных вследствие декларативного характера языков описания данных. Но в БД нет инструмента для обобщений и оперирования данны- данными, поэтому для экспертных оценок пользователь вынужден делать их сам, лишь опираясь на хранимые факты. Эксперт - ностъ здесь состоит в установлении связей в явном виде между наборами данных. Работу по связыванию наборов данных можно провести задолго до необходимости принятия решения, если добавить набор процедур или набор данных. Но в обоих вариантах, с одной стороны, необходима некото- некоторая надстройка над базой данных, з с другой стороны, не требуется хранить собственно исходные таблицы. Эта особенность характерна в целом для экспертных сис- систем, которые обращены к фактам вне ЭВМ и позволяют при- принимать решения на основе обобщений, сделанных экспер- экспертом. В этом случае конкретное описание остается вне ЭВМ, а обобщенное хранится в виде дополнительного набора дан- данных либо в виде условия истинности. Таким образом, дан- данные остаются в реальном мире, а вопросы по ним (или целе- целевые процедуры поиска) попадают в файлы ЭВМ н составля- составляют экспертную базу. Экспертная система и технические средства. Для ма- математики и физики с их объемными задачами и хорошо раз- разработанной математической основой представления знаний
294 Глава 5. Автоматическое проектирование и ИИ удобны подсистемы обработки информации в САПР в среде мощных ЭВМ, а для областей деятельности, не оперирую- оперирующих количественными категориями, требуются иные вы- вычислительные средства. Удобнее всего использовать персо- персональные ЭВМ, главная особенность которых состоит в том, что они отражают многие архитектурные концепции других типов ЭВМ. У пользователя персональной ЭВМ нет надобно- надобности в разделении ресурсов ЭВМ: времени процессора, опера- оперативной памяти, дискового пространства. Становятся излиш- излишними многоуровневые средства организации доступа, отсут- отсутствует жесткое требование максимальной загруженности процессора. Эти качественные изменения вычислительной техники делают программирование естественной формой труда инженерно-технических работников. Персональные ЭВМ представляют комфортную среду для передачи знаний специалиста-эксперта массовому пользователю. В заключение отметим, что экспертную систему можно также определить как автоматизированную систему приня- принятия решений на основании знаний эксперта, отображенных в экспертной базе, сформулированных на непроцедурном языке программирования для персональной ЭВМ. Заключение Главная притягательность идей полностью автоматиче- автоматического проектирования интегральных схем и систем заключа- заключается даже не в скорости проектирования, а в реальной воз- возможности получить безошибочный проект. В современных средствах автоматизированного проектирования значитель- значительную часть (от 30 до 60 процентов по разным источникам) со- составляют средства верификации проекта на различных уров- уровнях абстракции, которые в системах автоматического проек- проектирования принципиально не нужны. Кстати, можно обратить внимание на любопытное совпадение — в техноло- технологическом процессе изготовления интегральных схем и систем процент контролирующих операций почти такой же. В нача- начале 90-х годов прошлого столетия в научной литературе пред- предсказывался бурный рост объемов проектирования интеграль- интегральных схем (вплоть до 90% в 2002 году) полностью автоматиче-
Заключение 295 скими системами проектирования. Прогноз не оправдался. Почему? По мнению автора этой книги имеются две основ- основные причины, объясняющие этот факт: • качество проектов, созданных с помощью средств автома- автоматизированного проектирования выше, чем автоматиче- автоматических. Однако при проектировании несложных изделий или достаточно узкого класса изделий автоматические системы имеют несомненное преимущество; • конкретные отдельные достижения в области автомати- автоматического проектирования сразу же внедряются в средства автоматизированного проектирования и немедленно ис- используются на практике. Другими словами, переход от автоматизированного проектирования к автоматическо- автоматическому происходит эволюционно. Литература 5.1. См. список литературы к главе 1. 5.2. Казённов Г. Г., Щемелинин В. М. Математическая мо- модель конструкции сложных изделий электронной тех- техники. // Изв. вузов. Электроника, 1999, №1-2, с. 112-117. 5.3. Щемелинин В. М. Метод трассировки сложных схем // Изв. вузов. Электроника, 1997, №1, с. 68-74. 5.4. Убейко В. Н. Экспертные системы. — М.: МАИ, 1992. 5.5. Сафонов В. О. Экспертные системы — интеллектуаль- интеллектуальные помощники специалистов. — С.-Пб: Санкт-Петер- Санкт-Петербургская организация общества «Знание» России, 1992. 5.6. Марселлус Д. Н. Программирование экспертных систем на Турбо Прологе. — М.: Финансы и статистика, 1994.
Учебное издание Казённов Геннадий Георгиевич Основы проектирования интегральных схем и систем Ведущий редактор Б. Копылов Художник Н.Зотова Художественный редактор О.Лапко Компьютерная верстка В.Носенко Подписано в печать 06.04.05. Формат 60x90 %6. Бумага офсетная. Гарнитура Школьная. Печать офсетная. Усл. печ. л. 18,5. Тираж 2000 экз. Заказ 2851. Издательство «БИНОМ. Лаборатория знаний» Адрес для переписки: Москва, 119071, а/я 32 Телефон @95)955-0398. E-mail: lBZ@aha.ru http://www.LBZ.ru Отпечатано с готовых диапозитивов в полиграфической фирме «Полиграфист» 160001, г. Вологда, ул. Челюскинцев, 3