Опубликован: 13.03.2008 | Уровень: специалист | Доступ: платный | ВУЗ: Московский государственный открытый университет им. В.С. Черномырдина
Лекция 14:

Информационные технологии радиоэлектронной САПР

< Лекция 13 || Лекция 14: 12 || Лекция 15 >

14.2. Языки описания топологии

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

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

14.3. Проектирование СБИС

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

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

Верхний иерархический уровень называют системным, архитектурным или поведенческим. Последнее название связано с тем, что на этом уровне оперируют алгоритмами, подлежащими реализации в СБИС, которые выражают поведенческий аспект проектируемого изделия. Алгоритмы, как правило, представляются на языках проектирования аппаратуры (HDL). Далее на системном уровне формулируют требования к функциональным и схемным характеристикам, определяют общую архитектуру построения СБИС, выделяют операционные (data path) и управляющие ( FSMFinite State Machine) блоки.

Составляют расписание операций заданного алгоритма, т.е. распределяют операции по временным тактам (scheduling) и функциональным блокам (allocating). Тем самым принимают решения по распараллеливанию и/или конвейеризации операций.

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

Последовательность проектных процедур на маршруте проектирования СБИС

Рис. 14.1. Последовательность проектных процедур на маршруте проектирования СБИС

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

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

  1. Проверка корректности исходного алгоритма функционирования СБИС.
  2. Формирование абстрактного описания проекта для перехода к составлению расписания операций.
  3. Выбор базовой технологии и типов функциональных блоков из имеющейся библиотеки функциональных компонентов, которыми могут быть регистры, сумматоры, мультиплексоры и т. п.
  4. Составление расписания операций, т. е. распределение операций по временным тактам и функциональным блокам. При этом определяются типы операционных блоков (комбинационные или последовательностные) и исходные данные для синтеза управляющих блоков.
  5. Разработка модели устройства на уровне RTL, т. е. синтез схем операционных и управляющих блоков.
  6. Верификации выбранного решения, представленного на уровне RTL.
  7. Разработка логических схем путем перевода RTL-модели в модель вентильного уровня с помощью компиляторов логики и библиотек логических элементов.
  8. Оптимизация и верификация логических схем.
  9. Синтез схем тестирования и тестовых наборов.
  10. Конструкторско-технологическое проектирование, включающее процедуры планирования кристалла, размещения компонентов и трассировки межсоединений.
  11. Верификация динамических параметров схемы с учетом задержек в проведенных межсоединениях.
  12. Синтез файлов с управляющей информацией для генераторов изображений.

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

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

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

В качестве ПЛИС широко применяют программируемые логические схемы CPLD (Complex Programmable Logic Device) и программируемые вентильные матрицы FPGA (Field Programmable Gate Array).

В случае СРLD для отражения структуры конкретной схемы в инвариантном по отношению к приложению множестве функциональных ячеек требуется выполнить заключительные технологические операции металлизации. В случае FPGA программатор по заданной программе просто расплавляет имеющиеся перемычки (fuse) или, наоборот, создает их, локально ликвидируя тонкий изолирующий слой (antifusе). Следовательно, при использовании СРLD и FPGA необходимо с помощью САПР выбрать систему связей между ячейками программируемого прибора в соответствии с реализуемыми в схеме алгоритмами и синтезировать программы управления программатором или заключительной операцией металлизации. Ячейки могут быть достаточно сложными логическими схемами, вентилями или даже отдельными транзисторами. На производстве кристаллов ПЛИС специализируется ряд фирм, например Xilinx, Altera, Actel и другие. Зачастую эти же фирмы поставляют программное обеспечение для синтеза схем на производимых ими ПЛИС.

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

Контрольные вопросы и упражнения

  1. Какие пакеты программ используются для решения задач схемотехнического проектирования электронных средств?
  2. Какие программные модули составляют основу системы Design Lab?
  3. Чем характеризуются системы Design Lab и Design Center?
  4. Какие системы имеют широкое распространение в схемотехническом проектировании?
  5. Какие системы предназначены для анализа и моделирования аналоговых и аналого-цифровых устройств (расчет переходных процессов, частотных характеристик, спектральный анализ и др.)?
  6. Что представляет собой графический редактор схем Or CAD Capture CIS (Component Information System)?
  7. Что представляет собой пакет P-CAD (фирма Personal CAD System)?
  8. Что представляет собой пакет AutoCAD?
  9. Какие языки используются при функционально-логическом проектировании?
  10. Как разрабатываются библиотеки функциональных компонентов, например сумматоров, мультиплексоров, регистров и т. п.?
  11. Как осуществляется конструкторско-технологическое проектирование?
  12. В чем состоит процедура синтеза тестов?
  13. Что входит в окончательную верификацию принятых проектных решений?
  14. Поясните укрупненную типичную последовательность проектных процедур на маршруте проектирования СБИС.
  15. Какие процедуры включает в себя типичный маршрут проектирования СБИС?
< Лекция 13 || Лекция 14: 12 || Лекция 15 >
Александр Яковлев
Александр Яковлев
Россия, Тверь, Тверской Государственный Технический Университет, 2000
Игорь Грибков
Игорь Грибков
Россия