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

Уровни абстракции проектирования: понятное руководство по архитектуре чипов

Прежде чем углубиться в детали языка Verilog, полезно понять разные уровни абстракции в проектировании чипов.

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

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

HDL затем преобразуются в гейтовые схемы, задействующие технологические библиотеки, характеризующие цифровые элементы (триггеры). Например, схема D-защёлки содержит NAND-гейты, расположенные так, что все комбинации входов D и E выдают выход Q по таблице истинности.

Таблица истинности даёт перестановку всех уровней входных сигналов и результирующий выходной уровень. Для D-защёлки с enable-входом она выглядит так. Аппаратная схема также может быть получена из таблицы истинности через булеву логику и карты Карно, но для сложных блоков (процессоры, контроллеры) этот метод непрактичен.

Реализация NAND-гейта выполняется соединением CMOS-транзисторов в определённом формате. На этом уровне учитываются ширины каналов транзисторов, Vdd и способность управлять ёмкостной нагрузкой выхода.

Финальный этап — размещение этих транзисторов в кремнии с помощью EDA-инструментов для фабрикации. Здесь нужны знания об устройстве и технологии, так как разные макеты дают разные физические свойства: сопротивление, ёмкость и др.

Стили проектирования

Существует два основных стиля проектирования цифровых блоков: сверху-вниз (top-down) и снизу-вверх (bottom-up).

Top-Down (сверху-вниз)

Сначала определяется верхний блок и идентифицируются подмодули, необходимые для его построения. Каждый подблок дальше делится на более мелкие компоненты, и процесс продолжается до достижения leaf cell (неделимого элемента).

Bottom-Up (снизу-вверх)

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

Обычно используется комбинация обоих подходов. Архитекторы определяют системное представление, проектировщики реализуют логику функциональных блоков и синтезируют их в гейты. До этого момента следует top-down. Однако сами гейты построены по bottom-up: начиная с физического макета наименьшего блока с оптимальной площадью, производительностью и мощностью. Эти стандартные ячейки имеют схемы и предоставляют данные о нарастании/спаде, мощности, задержках. Они доступны инструменту синтеза, который выбирает и инстанцирует их там, где нужно.

Verilog

  1. Мастерство продуктового дизайна: проверенные стратегии преодоления частых вызовов
  2. Бетонные блоки (КМУ): история, материалы, дизайн и современные инновации
  3. Область видимости переменных в C#: класс, метод и блок
  4. Освоение Verilog: полное руководство по проектированию цифровых схем
  5. Управление потоком в Verilog: IF-ELSE, Case, циклы и не только
  6. Гейтовое моделирование в Verilog: от схем к коду
  7. Практическое гейтовое дизайнирование в Verilog: AND, OR, NOT гейты и 2x1 мультиплексор
  8. Продвинутое коммутаторное моделирование в Verilog (Switch-Level Modeling)
  9. Архитектурное проектирование: принципы, практика и влияние на среду
  10. Точная выверка токарного станка: профессиональное руководство