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

В разработка цифровых схем, уровень регистрации-передачи (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)начинать    если фронт(clk) тогда        Q <= D;    конец если;конец процесс;

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

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

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

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

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

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

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

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

Мотивация

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

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

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

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

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

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

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

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

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

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

Пример

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

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

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

Слабое место:

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

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

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

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

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

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