1 автоматизация проектирования в радиоэлектронике 6 Процедуры проектирования сбис



Скачать 159.38 Kb.
Дата17.10.2016
Размер159.38 Kb.
1.6. АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ В

РАДИОЭЛЕКТРОНИКЕ

1.6.1. Процедуры проектирования СБИС

Автоматизация проектирования в радиоэлектронике началась с создания программ анализа электронных схем и проектирования печатных плат в первой половине 1960-х годов. Появление и раз­витие микроэлектроники стимулировало развитие методов и средств автоматизированного проектирования. Первые системы автоматизированного проектирования в электронике (САПР-Э или ECAD - Electronic Computer Aided Design) были созданы именно для нужд микроэлектронной промышленности. В настоящее вре­мя сложность проектируемых сверхбольших интегральных схем (СБИС) определяется сотнями миллионов транзисторов на крис­талле и продолжает расти, что и определяет безальтернативность технологий САПР при разработке СБИС. Применение методов и средств ECAD актуально не только при проектировании самих интегральных схем, но и при разработке радиоэлектронной аппа­ратуры для устройств связи, навигационных, телекоммуникацион­ных устройств, систем автоматического управления в разных при­ложениях и т.п.

К настоящему времени различными фирмами создано большое число программ ECAD, различающихся типами выполняемых про­ектных процедур и ориентацией на те или иные разновидности радиоэлектронных изделий. Динамичное развитие радиоэлектро­ники предъявляет все более жесткие требования к САПР по эф­фективности и разносторонности выполняемых функций. В резуль­тате процесс обновления состава программного обеспечения в САПР происходит весьма динамично.

Как и в других отраслях промышленности, связанных с созда­нием сложной продукции, в радиоэлектронике используют много­уровневые представления проектируемых систем, и соответствен­но имеет место специализация предприятий по номенклатуре со­здаваемых изделий. Одни предприятия могут специализироваться на производстве микросхем, другие - на выпуске процессорных и интерфейсных плат, третьи занимаются сборкой приборов или их встраиванием в технологические, транспортные и другие системы. Очевидно, что использование продукции одного предприятия в изделиях другого, не зависимого от первого, требует, чтобы моде­ли изделий и языки их представления соответствовали принятым стандартам. Основными HDL (Hardware Design Language) языка­ми, используемыми в современных ECAD при функционально-ло­гическом проектировании, начиная с описания алгоритмов и кон­чая представлениями логических схем, являются VHDL [10] и Verilog. Эти языки предназначены для моделирования электрон­ных схем на уровнях вентильном, регистровых передач, корпусов микросхем. Поэтому эти языки можно назвать языками сквозного функционально-логического проектирования.

Кроме языков VHDL и Verilog в ECAD находит применение ряд других языков. Среди них прежде всего следует назвать форматы EDIF (Electronic Design Interchange Format) и GIF (Caltech Intermediate Format). EDIF используют для описания топологии СБИС или списков цепей печатных плат. Он удобен для передачи данных, включающих списки соединений, параметры СБИС или печатных плат, спецификации тестовых наборов, результаты моде­лирования и т.п. Формат CIF применяют при передаче проекта, представленного на уровне геометрических примитивов и управ­ляющих данных, в производство.

Проектирование СБИС является многоуровневым, каждый уро­вень характеризуется своим математическим обеспечением, исполь­зуемым для моделирования и анализа схем. Выделяют уровни сис­темный, регистровый (RTL - Register Transfer Level), называемый также уровнем регистровых передач, логический, схемотехничес­кий, приборно-технологический (компонентный). Общее название для регистрового и логического уровней - уровень функциональ­но-логический. Преобладает нисходящий стиль функционально-логического проектирования, при котором последовательно выпол­няются процедуры уровней системного, RTL и логического. В этих процедурах широко используются ранее принятые унифицирован­ные решения, закрепленные в библиотеках функциональных ком­понентов, например сумматоров, мультиплексоров, регистров и т.п. Эти библиотеки разрабатываются с помощью процедур схемотех­нического и компонентного проектирования вне маршрутов про­ектирования конкретных СБИС.

После получения результатов схемного проектирования присту­пают к конструкторско-технологическому проектированию, син­тезу тестов и окончательной верификации принятых проектных решений. Укрупненная типичная последовательность проектных процедур на маршруте проектирования СБИС показана на рис. 1.87.



Рис. 1.87. Типичный маршрут проектирования СБИС

Верхний иерархический уровень называют системным, архи­тектурным или поведенческим. Последнее название связано с тем, что на этом уровне оперируют алгоритмами, подлежащими реали­зации в СБИС, которые выражают поведенческий аспект проекти­руемого изделия. Алгоритмы, как правило, представляются на язы­ках проектирования аппаратуры (HDL). Далее на системном уровне формулируют требования к функциональным и схемным характе­ристикам, определяют общую архитектуру построения СБИС, вы­деляют операционные (datapath) и управляющие (FSM - Finite State Machine) блоки. Составляют расписание операций заданного ал­горитма, т.е. распределяют операции по временным тактам (scheduling) и функциональным блокам (allocation). Тем самым принимают решения по распараллеливанию и/или конвейеризации операций.

На уровне регистровых передач выполняют синтез и верифика­цию схем операционных и управляющих блоков, получают функ­циональные схемы СБИС.

На логическом уровне, иначе называемом вентильным (gate level), преобразуют RTL-спецификации в схемы вентильного уровня с помощью программ - компиляторов логики; здесь используются библиотеки логических элементов И, ИЛИ, И-НЕ и т.п.

Типичный маршрут проектирования СБИС включает в себя сле­дующие процедуры.


  1. Проверка корректности исходного алгоритма функциониро­вания СБИС.

  2. Формирование абстрактного описания проекта для перехода
    к составлению расписания операций.

  3. Выбор базовой технологии и типов функциональных блоков
    из имеющейся библиотеки функциональных компонентов, которы­ми могут быть регистры, сумматоры, мультиплексоры и т.п.

  4. Составление расписания операций, т.е. распределение опера­ций по временным тактам и функциональным блокам. При этом
    определяются типы операционных блоков (комбинационные или
    последовательностные) и исходные данные для синтеза управляю­щих блоков.

  5. Разработка модели устройства на уровне RTL, т.е. синтез схем
    операционных и управляющих блоков.

  6. Верификация выбранного решения, представленного на уров­не RTL.

  7. Разработка логических схем путем перевода RTL-модели в
    модель вентильного уровня с помощью компиляторов логики и
    библиотек логических элементов.

  8. Оптимизация и верификация логических схем.

  9. Синтез схем тестирования и тестовых наборов.

  1. Конструкторско-технологическое проектирование, включа­ющее процедуры планирования кристалла, размещения компонен­тов и трассировки межсоединений.

  2. Верификация динамических параметров схемы с учетом за­держек в проведенных межсоединениях.

  3. Синтез файлов с управляющей информацией для генерато­ров изображений.

Обычно учет физических характеристик, таких, как задержки в элементах и их соединениях, осуществляют на заключительных этапах. Если быстродействие схемы оказывается неудовлетвори­тельным, приходится выполнять дополнительные витки в итера­ционном цикле проектирования, что заметно удлиняет сроки раз­работки. Чтобы избежать этого, стараются учитывать физические характеристики (в основном это задержки) на возможно более ран­них этапах нисходящего проектирования. В частности, такой учет возможен при планировании кристалла (floorplanning) уже на сис­темном уровне. Он заключается в определении ориентировочного взаимного расположения блоков структурной схемы на кристалле (при многокристальном исполнении блоки предварительно распре­деляются между кристаллами) и внешних выводов блоков. Это позволяет приблизительно оценить длины связей и, следователь­но, задержки в передаче данных уже в самом начале разработки.

К процедурам конструкторского проектирования относят пла­нирование кристалла, размещение компонентов и трассировку меж­соединений. Расчет задержек в межсоединениях и их использова­ние в процедуре верификации позволяют уточнить параметры бы­стродействия схемы. Результаты конструкторского проектирования передаются на этап синтеза файлов с управляющей информацией для генераторов изображений.

В современных системах структурного синтеза на функциональ­но-логическом уровне стремятся получить не просто работоспо­собное решение, но решение с оптимальным компромиссным удов­летворением требований к площади кристалла, быстродействию, рассеиваемой мощности, а в ряде случаев и к тестируемости схе­мы [11].

Формализация процедур структурного синтеза в общем случае затруднительна, поэтому для их эффективного выполнения обыч­но используют специализированные программы, ориентированные на ограниченный класс проектируемых схем. Характерные особен­ности технологии изготовления и проектирования имеются у мик­ропроцессоров и схем памяти, у заказных и полузаказных СБИС (ASIC - Application-Specific Integrated Circuits), в том числе у про­граммируемых логических интегральных схем (ПЛИС). Эти осо­бенности обусловливают различия в методах проектирования схем и требуют их отражения в применяемом математическом и про­граммном обеспечении ECAD.

В качестве ПЛИС широко используют программируемые логи­ческие схемы CPLD (Complex Programmable Logic Device) и про­граммируемые вентильные матрицы FPGA (Field Programmable Gate Array). В случае CPLD для отражения структуры конкретной схемы в инвариантном по отношению к приложению множестве функциональных ячеек требуется выполнить заключительные тех­нологические операции металлизации. В случае FPGA програм­матор по заданной программе просто расплавляет имеющиеся пе­ремычки (fuse) или, наоборот, создает их, локально ликвидируя тонкий изолирующий слой (antifuse). Следовательно, при исполь­зовании CPLD и FPGA необходимо с помощью САПР выбрать си­стему связей между ячейками программируемого прибора в соот­ветствии с реализуемыми в схеме алгоритмами и синтезировать программы управления программатором или заключительной опе­рацией металлизации. Ячейки могут быть достаточно сложными логическими схемами, вентилями или даже отдельными транзис­торами. На производстве кристаллов ПЛИС специализируется ряд фирм, например Xilinx, Altera, Actel и другие, зачастую эти же фирмы поставляют программное обеспечение для синтеза схем на производимых ими ПЛИС.

В последнее время значительное внимание уделяется процеду­рам совмещенного проектирования программной и аппаратной ча­стей СБИС (SW/HW - Software/Hardware codesign). Если в тради­ционных маршрутах проектирования разделение алгоритмов на части, реализуемые программно и аппаратно, происходит на са­мых ранних шагах, то в технологии совмещенного проектирова­ния эта процедура фактически переносится на уровень RTL и тем самым входит в итерационный проектный цикл и может привести к более обоснованным проектным решениям. Примером подхода к совмещенному проектированию может служить методика модели­рования на уровне исполнения системы команд, в соответствии с которой моделируются события, происходящие на внешних выво­дах таких устройств, как арифметико-логическое, встроенная и внешняя память, системная шина и т.п. Благодаря совмещенному проектированию удается не только на ранних стадиях проектиро­вания найти и исправить возможные ошибки в аппаратной и про­граммной частях проекта, но и отладить контролирующие тесты [12].

Совмещенное проектирование аппаратных и программных час­тей успешно применяется при проектировании систем на кристал­ле (SoC - System-on-Chip) для встроенной аппаратуры. При этом аппаратная часть целевого процессора представляется моделью уровня системы команд. Модель может быть описанием архитек­туры процессора или расписанием работы шины процессора на языке VHDL, но возможно использование и аппаратного тестера. При этом скорость моделирования сравнительно невелика. Повы­шения производительности достигают в том случае, если модели­рование операций обращения к памяти выполняют не в аппарат­ном, а в логическом симуляторе.

Для проверки работоспособности и оценки параметров синте­зированных схем применяют процедуры анализа (верификации) функциональных и логических схем. Чаще всего их верифициру­ют с помощью программ моделирования, ориентированных на уров­ни системный, RTL или вентильный. В итерационном цикле про­ектирования моделирование должно осуществляться многократно: сначала оно выполняется с сугубо ориентировочными значениями задержек, затем после этапа топологического проектирования по­вторяется уже с учетом уточненных задержек, обусловленных па­разитными параметрами межсоединений.

Следует отметить, что в СБИС проводники имеют малые пло­щади поперечных сечений и, следовательно, увеличенное сопро­тивление, это приводит к тому, что по мере уменьшения проект­ных норм начинают доминировать задержки в межсоединениях (например, 60...70 % общей задержки в схеме в случае 0,5 мкм тех­нологии и 80...90 % в случае 0,25 мкм технологии приходится на межсоединения). Эти задержки имеют заметный разброс и суще­ственно влияют на быстродействие схемы. Поэтому во многих про­граммах логического моделирования имеются модели проводни­ков, с их помощью рассчитываются задержки в зависимости от результатов трассировки.

Чтобы определить значения параметров схемы, полученные после топологического проектирования, используют специальные программы уточнения задержек (экстракция параметров). Для этих целей возможно применение и программ схемотехнического моде­лирования.

Вследствие разнообразия типов схем и проектных процедур в современных развитых САПР можно увидеть большое число про­грамм различного назначения.

В программах временного анализа на функционально-логичес­ком уровне преимущественно используют событийное (event-driven) асинхронное логическое моделирование с многозначной логикой.

Наряду с асинхронным находит применение синхронное моде­лирование, быстродействие которого на один-два порядка выше, чем у событийного временного анализа [13]. Синхронное модели­рование отличается тем, что на каждом такте синхросигналов оп­ределяется установившееся состояние схемы, а переходные про­цессы не рассматриваются. При этом обычно используется двузначная логика, реже четырехзначная.

Но синхронное моделирование не позволяет верифицировать схему в достаточной мере. Поэтому принимаются меры к повыше­нию эффективности асинхронного событийного анализа.

Еще более высокое быстродействие верификации можно полу­чить в системах эмуляции логики, в которых по исходному описа­нию схемы на уровнях вентильном или RTL происходит ее парал­лельная эмуляция на аппаратных ускорителях.

Другое направление сокращения времени на проверку коррект­ности решений, принимаемых при функционально-логическом проектировании, связано с методами формальной верификации. В этих методах вместо многократного моделирования схемы при раз­личных тестовых воздействиях выполняют сопоставление проектного решения с некоторым эталоном методами, развиваемыми в теории дедуктивных систем [14].

Различают два подхода к формальной верификации [15]. Пер­вый из них применяют для установления соответствия описаний схемы на разных иерархических уровнях. Этот подход называют проверкой эквивалентности (equivalence checking). Обычно с его помощью проверяют корректность синтезированной вентильной схемы, а в качестве эталона используют исходное RTL-описание. Второй подход называют верификацией моделей (model checking). Он характерен тем, что сопоставляются функции, выполняемые объектами, представленными своими моделями. Применение это­го подхода, относящегося к более высоким уровням абстракции, требует хорошей математической подготовки пользователей.

Результаты логического синтеза в виде VHDL- или Verilog-описания используются далее для синтеза тестов и поступают на этап конструкторского проектирования СБИС.

Актуальность проблемы тестирования обусловлена ограничен­ными управляемостью и наблюдаемостью СБИС, поскольку при десятках-сотнях миллионов транзисторов на кристалле имеется лишь несколько сотен внешних выводов. Синтез и анализ тестов занимают до 35 % времени в цикле проектирования СБИС, и, не­смотря на такие затраты, удается разрабатывать тесты с приемле­мой полнотой обнаружения константных неисправностей только для комбинационных схем. Поэтому проблема тестируемости СБИС сохраняет постоянную актуальность.

Для решения проблем тестирования в СБИС используют спе­циальные методы проектирования самих микросхем. Это, во-пер­вых, методы сканирования, преобразующие в режиме тестирова­ния последовательностные схемы в комбинационные. Методы сканирования основаны на объединении триггеров, имеющихся в схеме или специально вводимых в нее, в один или несколько сдви­гающих регистров, управляющих состоянием схемы и управляе­мых через последовательный вход. Во-вторых, это методы самоте­стирования (BIST - Built-in Self-Test), основанные на встраивании в кристалл генераторов тестовых наборов [16] и схем, сжимающих результаты проверки основной части СБИС при этих тестовых на­борах.

Среди методов сканирования значительное внимание уделено методу граничного сканирования (BS - Boundary-Scan) [17], пред­назначенному преимущественно для проверки межсоединений на печатных платах и в многокристальных СБИС. Для этого в каж­дый чип вводятся сдвигающие регистры, состоящие из ячеек по одной на каждый внешний вывод. Благодаря ячейкам можно при проверке межсоединений отключать внутрикристальные цепи, а при проверке логической схемы подключать или внутренние ска­нирующие регистры, или (в случае BIST) генераторы тестовых наборов и схемы компрессии результатов [18]. Для подключения платы к тестирующему по BS прибору достаточно пяти проводов.

Для целей проектирования схем с граничным сканированием разработаны специальный стандарт ШЕЕ 1149.1 и языки BSDL и HSDL (Boundary and Hierarchical Scan Description Languages), яв­ляющиеся подмножеством VHDL. Язык HSDL расширяет возмож­ности BSDL на более высокие иерархические уровни.

Очевидно, что проектирование схем тестирования целесообраз­но вьшолнять совместно с синтезом основных схем, т.е. на уров­нях RTL и вентильном.

Основой программного обеспечения конструкторского проек­тирования в ECAD являются средства топологического проекти­рования, среди которых выделяют программы разработки тополо­гии (layout) кристаллов СБИС, многокристальных СБИС и печатных плат.

Конструкторское проектирование СБИС включает ряд проце­дур. Разрезание (partitioning или компоновка) заключается в груп­пировании компонентов по критерию связности, что нужно или для размещения формируемых групп в отдельных чипах при мно­гокристальной реализации, или для определения их взаимного рас­положения в одном кристалле в процессе выполнения последую­щей процедуры планировки (floorplanning) кристалла. Группы при планировании представляются в виде прямоугольников, их распо­ложение обычно определяется в интерактивном режиме, но нахо­дят применение также генетические алгоритмы.

Далее следуют процедуры размещения (placement) компонен­тов, трассировки (routing) соединений, сжатия (compaction) топо­логической схемы, проверки соответствия топологической и прин­ципиальной схем, подготовки информации для генераторов изображений. Ответственность процедуры размещения определя­ется доминирующим влиянием на быстродействие задержек именно в межсоединениях. Трассировка состоит из фаз глобальной, во вре­мя которой намечается положение трасс, и детальной, которая, в свою очередь, делится на канальную (channel) и локальную (switchbox). Канальная трассировка служит для конкретизации положения трасс в каналах, а локальная - для проведения соедине­ний между каналами и контактами компонентов. Сжатие тополо­гии выполняется во всех направлениях и позволяет уменьшать занимаемую схемой площадь. После исполнения операций размещения и трассировки следует оценка задержек и занимаемой пло­щади, и если требования к этим параметрам не удовлетворены, то нужны дополнительные итерации для приближения к оптималь­ным результатам.

При нисходящем проектировании в предшествующих проце­дурах приходится задаваться ориентировочными значениями дан­ных, истинные значения которых становятся известными только после выполнения последующих процедур. Это обстоятельство обусловливает итерационный характер процесса проектирования с возвратами от последующих этапов к предыдущим, что, есте­ственно, существенно увеличивает затраты на проектирование.

Поэтому усилия разработчиков системных вопросов ECAD на­правлены на поиск методов сокращения числа итераций в цикле проектирования СБИС. Такой поиск привел к положительным ре­зультатам, по крайней мере, в следующих двух направлениях.

Во-первых, это технологии так называемого физического про­ектирования, в которых стараются уже на ранних архитектурном и регистровом этапах проектирования учесть физические парамет­ры (задержки, рассеиваемые мощности). Осуществляется такой учет благодаря разработке методов совместного решения задач, ранее выполнявшихся раздельно (например, задач синтеза RTL-схем и схем граничного сканирования).

Во-вторых, это разумное сочетание элементов нисходящего и восходящего проектирования, при котором на ранних этапах про­ектирования ориентировочно распределяются задержки и мощно­сти между блоками, что позволяет далее проектировать эти блоки независимо друг от друга. И если принятые ранее значения пара­метров блоков оказываются выполнимыми, то дополнительные итерации не требуются.

При проектировании интегральных схем процедуры схемотех­нического проектирования применяют в основном в процессе от­работки библиотек функциональных компонентов СБИС. Но при проектировании принципиальных электрических схем радиоэлек­тронных устройств в различных приложениях эти процедуры мо­гут стать основными, наряду с процедурами конструкторского про­ектирования печатных плат.

Схемотехнический анализ может потребоваться также и внут­ри маршрута проектирования СБИС. Так, в случае МОП-схем по­является промежуточный уровень абстракции (switch level) между схемотехническим и вентильным уровнями, на котором элемента­ми моделей являются не вентили, а МОП-транзисторы. Благодаря представлению последних в виде переключателей удается отобра­зить процессы в схеме более детально, чем с помощью программ логического моделирования. Имеются также предложения по рас­пространению возможностей схемотехнического моделирования на схемы с десятками тысяч транзисторов [19].

Математическое обеспечение схемотехнического анализа (ана­лиза электронных схем) составляют модели электронных компо­нентов, методы формирования математических моделей схем в виде систем обыкновенных дифференциальных уравнений и методы численного интегрирования этих систем.

Схемотехническое проектирование радиотехнических (RF) схем отличается рядом особенностей математических моделей и исполь­зуемых методов, прежде всего в области СВЧ-диапазона. Для ана­лиза линейных схем обычно применяют методы расчета полюсов и нулей передаточных характеристик. Моделирование стационар­ных режимов нелинейных схем чаще всего выполняют с помощью метода гармонического баланса, основанного на разложении неиз­вестного решения в ряд Фурье, подстановкой разложения в систе­му дифференциальных уравнений с группированием членов с оди­наковыми частотами тригонометрических функций, в результате получаются системы нелинейных алгебраических уравнений, под­лежащие решению. Сокращение времени в случае слабо нелиней­ных схем достигается при моделировании СВЧ-устройств с помо­щью рядов Вольтерра. Анализ во временной области для ряда типов схем выполняют с помощью программ типа Spice путем интегри­рования систем обыкновенных дифференциальных уравнений.

Приборно-технологическое (компонентное) проектирование предназначено для проектирования приборов (компонентов) интег­ральных схем. Обычно выделяют вертикальное проектирование, касающееся диффузионного профиля (формирования областей в направлении, перпендикулярном поверхности кристалла), и гори­зонтальное (формирование вида интегрального прибора в поверх­ностной плоскости). Компонентное проектирование называют так­же физическим, относя к нему процедуры экстракции параметров спроектированных межсоединений.

Моделирование технологических процессов изготовления СБИС относят к технологическому проектированию, поддерживаемому соответствующими программами ECAD.



Технологическое проектирование печатных плат заключается в преобразовании результатов конструкторского проектирования в файлы управляющей информации для фотоплоттеров и сверлиль­ных станков с ЧПУ.
Каталог: lib
lib -> Практикум по дисциплине «Основы организационного управления в информационной сфере»
lib -> Лабораторная работа № Изучение микроконтроллера msp430. Последовательный ввод-вывод и измерение температуры
lib -> Программа вступительного экзамена для магистерской подготовки по специальности 1-40 80 01
lib -> Программа учебной дисциплины «вычислительные машины, системы и сети» Направление подготовки
lib -> Лабораторная работа № Изучение микроконтроллера msp430. Аналоговый ввод-вывод и коммуникация
lib -> Энциклопедия авиации. Главный редактор: Г. П. Свищёв. Издательство: Москва, «Большая Российская Энциклопедия»


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©grazit.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал