Уровень регистрации-передачи
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2009 г. ) |
В цифровых схем проектировании уровень передачи регистров ( RTL ) — это абстракция проектирования, которая моделирует синхронную цифровую схему с точки зрения потока цифровых сигналов ( данных ) между аппаратными регистрами и логических операций , выполняемых над этими сигналами.
Абстракция уровня передачи регистров используется в языках описания оборудования (HDL), таких как Verilog и VHDL, для создания представлений схемы высокого уровня, из которых могут быть получены представления более низкого уровня и, в конечном итоге, фактическая проводка. Проектирование на уровне RTL — типичная практика современного цифрового дизайна. [1]
В отличие от разработки программного компилятора, где уровень передачи регистров является промежуточным представлением и находится на самом низком уровне, уровень RTL является обычным входным сигналом, с которым работают проектировщики схем. Фактически, при синтезе схем промежуточный язык между представлением уровня передачи входного регистра и целевым списком соединений иногда используется . В отличие от списка соединений, доступны такие конструкции, как ячейки, функции и многобитные регистры. [2] Примеры включают 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 , и уже много лет используются разработчиками в качестве инструментов анализа производительности. Из-за этих недостатков инструменты оценки мощности на уровне вентилей начали получать некоторое признание там, где начали завоевывать популярность более быстрые вероятностные методы. Но у этого также есть свой компромисс, поскольку ускорение достигается за счет точности, особенно при наличии коррелированных сигналов. С годами стало понятно, что самые большие успехи в проектировании с низким энергопотреблением не могут быть достигнуты за счет оптимизации на уровне схемы и вентиля, тогда как оптимизация архитектуры, системы и алгоритмов, как правило, оказывает наибольшее влияние на энергопотребление. Поэтому произошел сдвиг в склонности разработчиков инструментов к инструментам высокоуровневого анализа и оптимизации мощности.
Мотивация
[ редактировать ]Хорошо известно, что более значительное снижение мощности возможно, если оптимизация производится на уровнях абстракции, таких как архитектурный и алгоритмический уровень, которые выше уровня схемы или вентиля. [3] Это дает разработчикам необходимую мотивацию сосредоточиться на разработке новых инструментов анализа энергопотребления на архитектурном уровне. Это никоим образом не означает, что инструменты более низкого уровня не важны. Вместо этого каждый уровень инструментов обеспечивает основу, на которой может быть построен следующий уровень. Абстракции методов оценки на более низком уровне могут использоваться на более высоком уровне с небольшими изменениями.
Преимущества выполнения оценки мощности на уровне RTL или архитектурном уровне
[ редактировать ]- Проектировщики используют описание проекта на уровне регистра-передачи (RTL), чтобы оптимизировать и искать компромиссы на самых ранних стадиях процесса проектирования.
- Присутствие функциональных блоков в описании RTL делает сложность архитектурного проекта намного более управляемой даже для больших микросхем, поскольку RTL имеет достаточно большую степень детализации, чем описания на уровне вентиля или схемы.
Эквиваленты ворот [4]
[ редактировать ]Это метод, основанный на концепции эквивалентов ворот. Сложность архитектуры микросхемы можно приблизительно описать с точки зрения эквивалентов вентилей, где количество эквивалентов вентилей определяет среднее количество эталонных вентилей, необходимых для реализации конкретной функции. Общая мощность, необходимая для конкретной функции, оценивается путем умножения приблизительного количества эквивалентов вентиля на среднюю мощность, потребляемую на вентиль. Опорным вентилем может быть любой вентиль, например вентиль И-НЕ с 2 входами.
Примеры метода эквивалента ворот
[ редактировать ]- Классонезависимое моделирование мощности: это метод, который пытается оценить площадь кристалла, скорость и рассеиваемую мощность на основе информации о сложности конструкции с точки зрения эквивалентов вентилей. Функциональность разделена между различными блоками, но в функциональности блоков не делается никаких различий, т.е. она в основном не зависит от класса. Это метод, используемый системой оценки чипов (CES).
- Шаги:
- Определите функциональные блоки, такие как счетчики, декодеры, умножители, память и т. д.
- Назначьте сложность с точки зрения эквивалентов ворот. Количество GE для каждого типа единиц либо берется непосредственно в качестве входных данных от пользователя, либо поступает из библиотеки.
- Шаги:
- Где E тип — предполагаемая средняя энергия, рассеиваемая эквивалентом затвора, когда он активен. Коэффициент активности A int обозначает средний процент переключения вентилей за такт и может варьироваться от функции к функции. Емкостная нагрузка C L представляет собой комбинацию разветвленной нагрузки и проводки. Оценку средней длины провода можно использовать для расчета емкости проводки. Это предоставляется пользователем и перепроверяется с помощью производного правила Рента.
- Предположения:
- В качестве основы для всех оценок мощности принимается один эталонный вентиль, не принимая во внимание различные стили схем, стратегии тактирования или методы компоновки.
- Предполагается, что процент переключения вентилей за такт, обозначаемый коэффициентами активности, является фиксированным независимо от входных шаблонов.
- Типичная энергия переключения затвора характеризуется полностью случайным равномерным распределением белого шума (UWN) входных данных. Это означает, что оценка мощности одинакова независимо от того, находится ли схема в режиме ожидания или при максимальной нагрузке, поскольку эта модель UWN игнорирует, как различное входное распределение влияет на энергопотребление вентилей и модулей. [5]
- Предположения:
- Класс-зависимое моделирование мощности: этот подход немного лучше, чем предыдущий подход, поскольку он учитывает индивидуальные методы оценки для различных типов функциональных блоков, тем самым пытаясь повысить точность моделирования, чего не было в предыдущем методе, таком как логика. , память, межсоединение и часы (отсюда и название). Оценка мощности выполняется аналогично независимому случаю. Базовая энергия переключения основана на логическом элементе И с тремя входами и рассчитывается на основе технологических параметров, например, ширины затвора, tox и ширины металла, предоставленных пользователем.
- Где провод C обозначает емкость проводки битовой линии на единицу длины, а ячейка C обозначает нагрузку из-за того, что одна ячейка свисает с битовой линии. Емкость часов основана на предположении о распределительной сети H-дерева . Деятельность моделируется с использованием модели UWN. Как видно из уравнения, потребляемая мощность каждого компонента связана с количеством столбцов (N col ) и строк (N row ) в массиве памяти.
- Недостатки:
- Действия схемы не моделируются точно, поскольку предполагается общий коэффициент активности для всего чипа, который также не является надежным, как указано пользователем. На самом деле коэффициенты активности будут различаться по всему чипу, поэтому это не очень точно и подвержено ошибкам. Это приводит к проблеме: даже если модель дает правильную оценку общего энергопотребления чипа, распределение мощности по модулю является довольно неточным.
- Выбранный коэффициент активности дает правильную общую мощность, но разбивка мощности на логику, часы, память и т. д. менее точна. Поэтому этот инструмент не сильно отличается и не улучшен по сравнению с CES.
- Недостатки:
Предварительно описанные клеточные библиотеки
[ редактировать ]Этот метод дополнительно настраивает оценку мощности различных функциональных блоков за счет использования отдельной модели мощности для логики, памяти и межсоединений, предлагая вместо этого метод аппроксимации коэффициента мощности (PFA) для индивидуальной характеристики всей библиотеки функциональных блоков, таких как умножители, сумматоры и т. д. модели, эквивалентной одному вентилю, для «логических» блоков.
Мощность всей микросхемы аппроксимируется выражением:
Где K i — константа пропорциональности PFA, характеризующая i-й функциональный элемент. является мерой сложности аппаратного обеспечения, а обозначает частоту активации.
Пример
[ редактировать ]G i, обозначающий аппаратную сложность умножителя, связан с квадратом длины входного слова, т.е. N 2 где N — длина слова. Частота активации — это скорость, с которой умножения выполняются алгоритмом, обозначенным и константа PFA, , извлекается эмпирическим путем из предыдущих конструкций умножителя и, как показано, составляет около 15 фВт/бит2 Гц для технологии 1,2 мкм при напряжении 5 В.
Результирующая степенная модель множителя на основе приведенных выше предположений имеет вид:
Преимущества:
- Возможна настройка любых параметров сложности, подходящих для этого блока. Например, для множителя подходил квадрат длины слова. Для памяти используется емкость памяти в битах, а для драйверов ввода-вывода достаточно только длины слова.
Слабость:
- Существует неявное предположение, что входные данные не влияют на активность мультипликатора, что противоречит тому факту, что константа PFA предназначен для фиксации внутренней активности, связанной с операцией умножения, поскольку она считается константой.
Экспериментируется ошибка оценки (относительно моделирования на уровне переключателя) для множителя 16x16, и замечено, что, когда динамический диапазон входов не полностью занимает длину слова множителя, модель UWN становится крайне неточной. [6] Конечно, хорошие дизайнеры стараются максимизировать использование длины слова. Тем не менее ошибки в диапазоне 50-100% не редкость. Эта цифра ясно указывает на недостаток модели UWN.
См. также
[ редактировать ]- Путь к данным
- Автоматизация электронного проектирования (EDA)
- Электронный системный уровень
- Конечный автомат с трактом данных
- Разработка интегральных схем
- Синхронная схема
- Алгоритмический конечный автомат
Оценка мощности
[ редактировать ]Ссылки
[ редактировать ]- ^ Фрэнк Вахид (2010). Цифровой дизайн с использованием RTL Design, Verilog и VHDL (2-е изд.). Джон Уайли и сыновья. п. 247. ИСБН 978-0-470-53108-2 .
- ^ Руководство Yosys (RTLIL)
- ^ «Методы оценки мощности для интегральных схем»
- ^ «Методологии архитектурного проектирования с низким энергопотреблением»
- ^ «Методы оценки уровня регистрации-передачи для коммутационной активности и энергопотребления»
- ^ «Макромоделирование мощности для оценки мощности на высоком уровне»