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

редактировать

описание цифровых схем с точки зрения потока информации между регистрами

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

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

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

Содержание
  • 1 Описание RTL
  • 2 RTL в цикле проектирования схемы
  • 3 Методы оценки мощности для RTL
    • 3.1 Мотивация
    • 3.2 Преимущества выполнения оценки мощности на уровне RTL или архитектуры
    • 3.3 Эквиваленты вентилей
      • 3.3.1 Примеры методик эквивалентов вентилей
    • 3.4 Библиотеки предварительно охарактеризованных ячеек
      • 3.4.1 Пример
  • 4 См. Также
    • 4.1 Оценка мощности
  • 5 Ссылки
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 имеет значительно большую степень детализации, чем описания на уровне шлюза или схемы.

Эквиваленты шлюза

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

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

  • Моделирование мощности независимо от класса: Это метод, который пытается оценить площадь кристалла, скорость и рассеиваемую мощность на основе информации о сложности конструкции в терминах эквивалентов ворот. Функциональность разделена между различными блоками, но не делается различий в функциональности блоков, т. Е. Она в основном не зависит от класса. Это метод, используемый системой оценки микросхем (CES).
Шаги:
  1. Определите функциональные блоки, такие как счетчики, декодеры, умножители, память и т. Д.
  2. Назначьте сложность с точки зрения Эквиваленты ворот. Количество GE для каждого типа блока либо берется непосредственно как ввод от пользователя, либо вводится из библиотеки.
P = ∑ i ∈ fns GE i (E typ + CL i V dd 2) f A int i {\ displaystyle \ displaystyle P = \ sum _ {i \ in {\ text {fns}}} {\ textit {GE}} _ {i} (E _ {\ text {typ}} + C_ {L} ^ {i } V _ {\ text {dd}} ^ {2}) fA _ {\ text {int}} ^ {i}}{\ displaystyle \ displaystyle P = \ sum _ {i \ in {\ text {fns}} } {\ textit {GE}} _ {i} (E _ {\ text {typ}} + C_ {L} ^ {i} V _ {\ text {dd}} ^ {2}) fA _ {\ text {int} } ^ {i}}
Где E typ - предполагаемая средняя энергия, рассеиваемая эквивалентным вентилем, когда активен. Коэффициент активности, A int, обозначает средний процент переключений вентилей за такт, и может изменяться от функции к функции. Емкостная нагрузка C L представляет собой комбинацию разветвленной нагрузки и разводки. Оценка средней длины провода может использоваться для расчета емкости проводки. Это обеспечивается пользователем и проверяется с помощью производной от правила Рента.
Допущения:
  1. Один эталонный вентиль берется за основу для всех оценок мощности, не принимая во внимание различные стили схем и стратегии синхронизации., или методы компоновки.
  2. Процент переключения вентилей за тактовый цикл, обозначенный факторами активности, считается фиксированным независимо от входных шаблонов.
  3. Типичная энергия переключения вентилей характеризуется полностью случайной однородностью белый шум (UWN) распределение входных данных. Это означает, что оценка мощности одинакова независимо от того, находится ли цепь в режиме ожидания или при максимальной нагрузке, поскольку эта модель UWN игнорирует, как различные входные распределения влияют на энергопотребление затворов и модулей.
  • Моделирование мощности в зависимости от класса: Этот подход немного лучше, чем предыдущий подход, поскольку он учитывает индивидуальные методы оценки для различных типов функциональных блоков, таким образом пытаясь повысить точность моделирования, чего не было в предыдущем методе, таком как логика, память, межсоединение и часы, следовательно название. Оценка мощности выполняется аналогично независимому случаю. Базовая энергия переключения основана на логическом элементе И с тремя входами и рассчитывается на основе технологических параметров, например ширина ворот, tox и ширина металла, предоставленные пользователем.
P bitlines = N col 2 ⋅ (L col C wire + N row C cell) V dd V swing {\ displaystyle P _ {\ text {bitlines}} = {\ dfrac {N _ {\ text {col}}} {2}} \ cdot (L _ {\ text {col}} C _ {\ text {wire}} + N _ {\ text {row}} C _ {\ text { cell}}) V _ {\ text {dd}} V _ {\ text {swing}}}{\ displaystyle P _ {\ text {bitlines} } = {\ dfrac {N _ {\ text {col}}} {2}} \ cdot (L _ {\ text {col}} C _ {\ text {wire}} + N _ {\ text {row}} C _ {\ текст {ячейка}}) V _ {\ text {dd}} V _ {\ text {swing}}}
Где C wire обозначает емкость разводки разрядной линии на единицу длины, а C cell обозначает нагрузку из-за того, что одна ячейка свисает с разрядной линии. Тактовая емкость основана на предположении о распределительной сети H-tree. Деятельность моделируется с использованием модели UWN. Как видно из уравнения, потребляемая мощность каждого компонента связана с количеством столбцов (N col) и строк (N row) в массиве памяти.
Недостатки:
  1. Активность схемы не моделируется точно, так как общий коэффициент активности предполагается для всего чипа, что также не является надежным, как указано пользователем. Фактически, факторы активности будут варьироваться в зависимости от чипа, поэтому это не очень точно и подвержено ошибкам. Это приводит к проблеме, заключающейся в том, что даже если модель дает правильную оценку общей мощности, потребляемой микросхемой, распределение мощности по модулям является довольно неточным.
  2. Выбранный коэффициент активности дает правильную общую мощность, но разбивка питания на логику, часы, память и т. д. менее точна. Таким образом, этот инструмент не сильно отличается или не улучшен по сравнению с CES.

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

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

P = ∑ i ∈ все блоки K i G ifi {\ displaystyle \ displaystyle P = \ sum _ {i \ in {\ text {все блоки} }} K_ {i} G_ {i} f_ {i}}{\ displaystyle \ displaystyle P = \ sum _ {i \ in {\ text {все блоки}}} K_ {i} G_ {i} f_ {i}}

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

Пример

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

P mult = K mult N 2 f mult {\ displaystyle \ displaystyle P _ {\ text {mult}} = K _ {\ text {mult}} N ^ {2} f _ {\ text {mult}}}{\ displaystyle \ displaystyle P _ {\ text {mult}} = K _ {\ text {mult}} N ^ {2} f _ {\ text {mult}}}

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

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

Слабость:

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

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

См. Также

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

Справочная информация
Последняя правка сделана 2021-06-03 11:52:43
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте