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 ) then Q <= D ; конец , если ; завершить процесс ;             

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

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

RTL в цикле схемотехники

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

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

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

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

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

Мотивация

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

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

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

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

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

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

Предварительно описанные клеточные библиотеки

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

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

Пример

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

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

Слабость:

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

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

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

Рекомендации

  1. ^ Фрэнк Вахид (2010). Цифровой дизайн с использованием RTL Design, Verilog и VHDL (2-е изд.). Джон Уайли и сыновья. п. 247. ИСБН 978-0-470-53108-2.
  2. ^ Руководство Yosys (RTLIL)
  3. ^ «Методы оценки мощности для интегральных схем»
  4. ^ «Методологии архитектурного проектирования с низким энергопотреблением»
  5. ^ «Методы оценки уровня регистрации-передачи для коммутационной активности и энергопотребления»
  6. ^ «Макромоделирование мощности для оценки мощности на высоком уровне»