Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Verilog

Схема проектирования ASIC

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

Требования

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

Технические характеристики

Следующим шагом будет сбор «спецификаций», которые абстрактно описывают функциональность, интерфейс и общую архитектуру разрабатываемого чипа. Это может быть что-то вроде:

  1. Требуется вычислительная мощность для запуска алгоритмов обработки изображений для поддержки виртуальной реальности.
  2. Требуются два процессора ARM A53 с когерентным межсоединением и частота 600 МГц.
  3. Требуются интерфейсы USB 3.0, Bluetooth и PCIe 2-го поколения.
  4. Должен поддерживать отображение 1920 x 1080 пикселей с соответствующим контроллером.

Архитектура

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

Цифровой дизайн

Из-за сложной природы современных чипов невозможно построить что-то с нуля, и во многих случаях многие компоненты будут использоваться повторно. Скажем, компании X требуется модуль FlexCAN для взаимодействия с другими модулями в автомобиле. Они могут либо купить конструкцию FlexCAN у другой компании, чтобы сэкономить время и силы, либо потратить ресурсы на ее создание самостоятельно. Кроме того, нецелесообразно проектировать такую ​​систему из базовых строительных блоков, таких как триггеры и КМОП-транзисторы. Вместо этого разрабатывается поведенческое описание для анализа конструкции с точки зрения функциональности, производительности и других вопросов высокого уровня с использованием языка описания оборудования, такого как Verilog или VHDL. Обычно этим занимается цифровой дизайнер, и он чем-то похож на программиста высокого уровня, обладающего навыками работы с цифровой электроникой.

Подтверждение

После того, как дизайн RTL готов, его необходимо проверить на функциональную правильность. Например, ожидается, что процессор DSP будет выполнять транзакции шины для выборки инструкций из памяти, но откуда мы знаем, что это произойдет именно так, как ожидалось? Таким образом, на этом этапе требуется функциональная проверка, которая выполняется с помощью симуляторов EDA, которые имеют возможность моделировать конструкцию и применять к ней различные стимулы. Это работа инженера по предварительной проверке кремния.

Чтобы сэкономить время и достичь функционального закрытия, группы проектирования и проверки работают параллельно, при этом дизайнеры «выпускают» версию RTL, а группа проверки разрабатывает тестовую среду и тестовые примеры для проверки функциональности этой версии RTL. Если какой-либо из этих тестов не пройден, это может указывать на проблему с дизайном, и в этом элементе дизайна будет обнаружена «ошибка». Эта ошибка должна быть исправлена ​​в следующей версии RTL от команды разработчиков. Этот процесс продолжается до тех пор, пока не будет достигнут достаточный уровень уверенности в функциональной правильности проекта.

Логический синтез

Теперь, когда мы довольны дизайном, пришло время преобразовать его в аппаратную схему с реальными элементами, такими как комбинационные вентили и триггеры. Этот шаг называется синтезом. Инструменты логического синтеза позволяют преобразовывать описание RTL в HDL в список соединений уровня вентиля. Этот список соединений представляет собой не что иное, как описание схемы с точки зрения вентилей и соединений между ними. Это может выглядеть примерно так:

  
  
and_2_0     u_and2_0 ( .in_a (_net_112),
                       .in_b (_net_56),
                       .out  (_net_222));

ff_lt       u_ff_lt_122 (.d   (_net_222),
                         .clk (_net_11),
                         .q   (_net_76));

  

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

Логическая эквивалентность

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

Размещение и маршрутизация

Затем список соединений вводится в поток физического проектирования, где с помощью инструментов EDA выполняется автоматическое размещение и маршрут (APR или PnR). Хорошим примером таких инструментов являются Cadence Encounter и Synopsys IC Compiler. Это выберет и поместит стандартные ячейки в строки, определит шаровые карты для ввода-вывода, создаст различные металлические слои и разместит буферы в соответствии со временем. После завершения этого процесса создается макет, который обычно отправляется на изготовление. Этот этап обычно выполняется группой физического проектирования, которая хорошо разбирается в технологическом узле и деталях физической реализации.

Проверка

Это не заканчивается здесь. Образец чипа будет изготовлен либо той же полупроводниковой фирмой, либо отправлен на сторонний завод, такой как TSMC или Global Foundries. Теперь этот образец проходит постпроцессорную проверку, в ходе которой другая команда инженеров запускает различные шаблоны на тестере. Отлаживать посткремниевую проверку намного сложнее, чем предкремниевую, просто потому, что уровень видимости внутренних узлов чипа резко снижается. Более того, миллион тактовых циклов завершился бы за секунду, и отслеживание точного времени ошибки заняло бы много времени. Если на этом этапе будут обнаружены какие-либо реальные проблемы или ошибки в дизайне, то это необходимо будет исправить в RTL, повторно проверить и выполнить все последующие шаги.

Несмотря на то, что процесс проектирования состоит из нескольких этапов, большая часть проектной деятельности обычно сосредоточена на оптимизации и проверке RTL-описания схемы. Важно отметить, что, хотя инструменты EDA доступны для автоматизации процессов, неправильное использование приведет к неэффективным проектам, и, следовательно, дизайнер должен делать осознанный выбор в процессе проектирования.


Verilog

  1. Учебник Verilog
  2. Слои абстракции дизайна
  3. Четыре главных аспекта хорошего дизайна панели управления
  4. Основы проектирования шкафов управления в машинах, автоматизации и промышленности
  5. Основы дизайна панели управления
  6. Краткие ответы на важные вопросы о проектировании печатных плат
  7. Методы повышения помехоустойчивости при проектировании печатных плат
  8. Как устранить помехи при проектировании печатных плат
  9. Три аспекта проектирования, обеспечивающие электромагнитную совместимость печатной платы ноутбука
  10. Что такое архитектурный дизайн?