Уровень регистрации-переноса - Register-transfer level

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

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

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

RTL описание

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

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

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

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

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

D <= not Q;
 
process(clk)
begin
    if rising_edge(clk) then
        Q <= D;
    end if;
end process;

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

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

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

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

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

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

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

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

Мотивация

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

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

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

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

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

Примеры техники Gate Equivalent

  • Независимое от класса моделирование мощности: это метод, который пытается оценить площадь кристалла, скорость и рассеиваемую мощность на основе информации о сложности конструкции с точки зрения эквивалентов затвора. Функциональные возможности разделены между различными блоками, но функциональные возможности блоков не различаются, т. Е. Они в основном не зависят от класса. Это метод, используемый системой оценки микросхем (CES).
Шаги:
  1. Определите функциональные блоки, такие как счетчики, декодеры, умножители, память и т. Д.
  2. Назначьте сложность в терминах эквивалентов ворот. Количество GE для каждого типа единиц либо берется непосредственно как ввод от пользователя, либо вводится из библиотеки.
Где E тип - предполагаемая средняя энергия, рассеиваемая эквивалентом затвора в активном состоянии. Коэффициент активности, A int , обозначает средний процент переключения шлюзов за тактовый цикл и может изменяться от функции к функции. Емкостная нагрузка C L представляет собой комбинацию разветвленной нагрузки и проводки. Оценка средней длины провода может использоваться для расчета емкости проводки. Это предоставляется пользователем и проверяется с помощью производной от правила аренды.
Предположения:
  1. Один опорный вентиль берется за основу для всех оценок мощности, не принимая во внимание различные стили схем, стратегии тактирования или методы компоновки.
  2. Предполагается, что процент переключения шлюзов за такт, обозначенный как «Коэффициенты активности», является фиксированным независимо от входных шаблонов.
  3. Типичная энергия переключения затвора характеризуется полностью случайным равномерным распределением белого шума (UWN) входных данных. Это означает, что оценка мощности одинакова независимо от того, находится ли цепь в режиме ожидания или при максимальной нагрузке, поскольку эта модель UWN игнорирует, как различные входные распределения влияют на энергопотребление ворот и модулей.
  • Моделирование мощности, зависящее от классов: этот подход немного лучше, чем предыдущий, поскольку он учитывает индивидуализированные методы оценки для различных типов функциональных блоков, тем самым пытаясь повысить точность моделирования, чего не было в предыдущем методе, таком как логика. , память, межсоединение и часы, отсюда и название. Оценка мощности выполняется аналогично независимому случаю. Базовая энергия переключения основана на логическом элементе И с тремя входами и рассчитывается на основе технологических параметров, например, ширины затвора, tox и ширины металла, предоставленных пользователем.
Где провод C обозначает емкость проводки разрядной линии на единицу длины, а ячейка C обозначает нагрузку из-за свисания одной ячейки с разрядной шины. Тактовая емкость основана на предположении о распределительной сети H-tree . Деятельность моделируется с использованием модели UWN. Как можно видеть из уравнения потребляемая мощность каждого компонента связана с количеством столбцов (N Col ) и строк (N строк ) в матрице памяти.
Недостатки:
  1. Действия схемы не моделируются точно, так как общий коэффициент активности предполагается для всего чипа, что также не является надежным, как указано пользователем. Фактически, факторы активности будут варьироваться в зависимости от микросхемы, поэтому это не очень точно и подвержено ошибкам. Это приводит к проблеме, заключающейся в том, что даже если модель дает правильную оценку общей мощности, потребляемой микросхемой, распределение мощности по модулям оказывается довольно неточным.
  2. Выбранный коэффициент активности дает правильную общую мощность, но разбивка мощности на логику, часы, память и т. Д. Менее точна. Таким образом, этот инструмент не сильно отличается или улучшен по сравнению с CES.

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

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

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

Пример

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

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

  • Настройка возможна с точки зрения любых параметров сложности, которые подходят для этого блока. Например, для множителя подходил квадрат длины слова. Для памяти используется объем памяти в битах, а для драйверов ввода-вывода достаточно одной длины слова.

Слабость:

  • Существует неявное предположение, что входные данные не влияют на активность умножителя, что противоречит тому факту, что константа PFA предназначена для фиксации внутренней внутренней активности, связанной с операцией умножения, поскольку она считается константой.

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

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

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

использованная литература