stringtranslate.com

Уровень регистра-передачи

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

Абстракция уровня регистровой передачи используется в языках описания оборудования (HDL), таких как Verilog и VHDL, для создания высокоуровневых представлений схемы, из которых могут быть получены низкоуровневые представления и, в конечном счете, фактическая проводка. Проектирование на уровне RTL является типичной практикой в ​​современном цифровом проектировании. [1]

В отличие от проектирования программного компилятора, где уровень передачи регистров является промежуточным представлением, а на самом низком уровне уровень RTL является обычным входом, с которым работают проектировщики схем. Фактически, в синтезе схем иногда используется промежуточный язык между представлением уровня передачи входных регистров и целевым списком соединений . В отличие от списка соединений, доступны такие конструкции, как ячейки, функции и многобитовые регистры. [2] Примерами являются FIRRTL и RTLIL.

Моделирование на уровне транзакций — это более высокий уровень проектирования электронных систем .

Описание RTL

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

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

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

При проектировании цифровых интегральных схем с помощью языка описания оборудования (HDL) проекты обычно проектируются на более высоком уровне абстракции, чем уровень транзистора ( логические семейства ) или уровень логического вентиля. В HDL проектировщик объявляет регистры (которые примерно соответствуют переменным в языках программирования) и описывает комбинационную логику, используя конструкции, знакомые по языкам программирования, таким как if-then-else и арифметические операции. Этот уровень называется уровнем передачи регистров . Этот термин относится к тому факту, что RTL фокусируется на описании потока сигналов между регистрами.

В качестве примера, упомянутую выше схему можно описать на языке VHDL следующим образом:

D <= не Q ; процесс ( clk ) начать , если rising_edge ( clk ) тогда Q <= D ; конец , если ; конец процесса ;             

Используя инструмент EDA для синтеза, это описание обычно можно напрямую перевести в эквивалентный файл аппаратной реализации для ASIC или FPGA . Инструмент синтеза также выполняет оптимизацию логики .

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

RTL в цикле проектирования схем

RTL используется на этапе проектирования логики цикла проектирования интегральных схем .

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

Инструменты логического моделирования могут использовать RTL-описание проекта для проверки его корректности.

Методы оценки мощности для RTL

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

Мотивация

Хорошо известно, что более существенное снижение энергопотребления возможно, если оптимизация выполняется на уровнях абстракции, таких как архитектурный и алгоритмический уровень, которые выше уровня схемы или вентиля [3]. Это обеспечивает необходимую мотивацию для разработчиков, чтобы сосредоточиться на разработке новых инструментов анализа энергопотребления на архитектурном уровне. Это никоим образом не означает, что инструменты более низкого уровня не важны. Вместо этого каждый уровень инструментов обеспечивает основу, на которой может быть построен следующий уровень. Абстракции методов оценки на более низком уровне могут использоваться на более высоком уровне с небольшими изменениями.

Преимущества оценки мощности на уровне RTL или архитектуры

Эквиваленты ворот[4]

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

Примеры техники эквивалента ворот

Шаги:
  1. Определите функциональные блоки, такие как счетчики, декодеры, умножители, памяти и т. д.
  2. Назначьте сложность в терминах Gate Equivalents. Количество GE для каждого типа блока либо берется непосредственно как ввод от пользователя, либо подается из библиотеки.
Где E typ — предполагаемая средняя рассеиваемая энергия эквивалентом затвора, когда активен. Фактор активности, A int , обозначает средний процент переключения затворов за тактовый цикл и может меняться от функции к функции. Емкостная нагрузка, C L , представляет собой комбинацию нагрузки разветвления и проводки. Оценка средней длины провода может использоваться для расчета емкости проводки. Она предоставляется пользователем и перепроверяется с использованием производной правила Рента.
Предположения:
  1. За основу всех оценок мощности взят один опорный вентиль, при этом не учитываются различные стили схем, стратегии тактирования или методы компоновки.
  2. Предполагается, что процент переключения вентилей за такт, обозначенный как Факторы активности, фиксирован независимо от входных шаблонов.
  3. Типичная энергия переключения затвора характеризуется полностью случайным равномерным распределением белого шума (UWN) входных данных. Это подразумевает, что оценка мощности одинакова независимо от того, простаивает ли схема или находится под максимальной нагрузкой, поскольку эта модель UWN игнорирует то, как различные распределения входов влияют на потребление энергии затворами и модулями. [5]
Где C wire обозначает емкость проводки битовой линии на единицу длины, а C cell обозначает нагрузку из-за одной ячейки, свисающей с битовой линии. Емкость тактового генератора основана на предположении о распределительной сети H-tree . Активность моделируется с использованием модели UWN. Как видно из уравнения, энергопотребление каждого компонента связано с количеством столбцов (N col ) и строк (N row ) в массиве памяти.
Недостатки:
  1. Действия схемы не моделируются точно, поскольку предполагается общий фактор активности для всего чипа, который также не заслуживает доверия, поскольку предоставлен пользователем. Фактически, факторы активности будут различаться по всему чипу, поэтому это не очень точно и подвержено ошибкам. Это приводит к проблеме, что даже если модель дает правильную оценку общего потребления энергии чипом, распределение мощности по модулям довольно неточно.
  2. Выбранный фактор активности дает правильную общую мощность, но разбивка мощности на логику, часы, память и т. д. менее точна. Поэтому этот инструмент не сильно отличается или улучшен по сравнению с CES.

Библиотеки предварительно охарактеризованных клеток

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

Где K i — коэффициент пропорциональности ПФА, характеризующий i-й функциональный элемент, является мерой сложности оборудования и обозначает частоту активации.

Пример

G i обозначает сложность оборудования умножителя, связанную с квадратом длины входного слова, т.е. N 2 , где N — длина слова. Частота активации — это скорость, с которой умножения выполняются алгоритмом, обозначенным как , а константа PFA, , извлекается эмпирическим путем из прошлых конструкций умножителей и, как показано, составляет около 15 fW/bit2-Hz для технологии 1,2 мкм при 5 В. Результирующая модель мощности для умножителя на основе приведенных выше предположений:

Преимущества:

Слабость:

Ошибка оценки (относительно симуляции на уровне переключателя) для умножителя 16x16 экспериментально проверена, и было замечено, что когда динамический диапазон входов не полностью занимает длину слова умножителя, модель UWN становится крайне неточной. [6] Конечно, хорошие разработчики пытаются максимально использовать длину слова. Тем не менее, ошибки в диапазоне 50-100% не являются редкостью. Рисунок явно указывает на недостаток в модели UWN.

Смотрите также

Оценка мощности

Ссылки

  1. ^ Фрэнк Вахид (2010). Цифровое проектирование с RTL Design, Verilog и VHDL (2-е изд.). John Wiley and Sons. стр. 247. ISBN 978-0-470-53108-2.
  2. ^ Руководство Yosys (RTLIL)
  3. ^ "Методы оценки мощности интегральных схем"
  4. ^ "Методологии проектирования маломощных архитектурных систем"
  5. ^ "Методы оценки уровня регистровой передачи для коммутационной активности и энергопотребления"
  6. ^ "Макромоделирование мощности для оценки мощности высокого уровня"