Уровень регистровых передач
Разработка синхронных цифровых интегральных схем на уровне передач данных между регистрами (англ. register transfer level, RTL — уровень регистровых передач) — способ разработки синхронных (англ.) цифровых интегральных схем, при применении которого работа схемы описывается в виде последовательностей логических операций, применяемых к цифровым сигналам (данным) при их передаче от одного регистра к другому (не описывается, из каких электронных компонентов или из каких логических вентилей состоит схема). Такое высокоуровневое описание составляется на одном из языков описания аппаратуры (англ. hardware description language, HDL), например, на языке Verilog или на языке VHDL, после чего специальной программой преобразуется в низкоуровневое описание — граф логических элементов и проводников; процесс преобразования называется логическим синтезом (англ. logic synthesis) или синтезом логики. Другие программы по описанию могут проверить правильность работы схемы (см. logic simulation) и соответствие схемы предъявляемым требованиям (например, требованиям к скорости работы схемы (англ. static timing analysis)). Третья программа, используя низкоуровневое описание, может разместить логические элементы и проводники по поверхности схемы (для изготовления СБИС) (англ. place and route) или создать прошивку для ПЛИС.
Описание
Синхронные схемы создаются из элементов двух типов: регистров и элементов комбинационной логики. Регистры (обычно реализованные с помощью D-триггеров) синхронизируют работу схем по фронтам синхросигнала и являются ячейками памяти. Элементы комбинационной логики выполняют логические функции и, обычно, представляют собой логические вентили.
Рассмотрим синхронную схему, изображённую на рисунке. В качестве элемента комбинационной логики используется инвертор. Выход регистра, обозначенный на рисунке буквой «Q», подключён ко входу «D» (см. рис.) регистра через инвертор. При появлении фронта синхросигнала на входе «clk» (см. рис.) в регистр записывается уровень сигнала, противоположный уровню, записанному в регистр на предыдущем такте.
Проектирование схемы на языке описания аппаратуры — проектирование на более высоком уровне абстракции, чем уровень транзисторов (см. logic family) или уровень логических вентилей. На языке описания аппаратуры объявляют регистры (аналогичные переменным в языках программирования компьютеров) и описывают комбинационную логику, используя конструкции языка типа «if-then-else» и арифметические операции (как в языках программирования компьютеров). Термин «register-transfer level» подчёркивает тот факт, что передача данных (сигналов) осуществляется между регистрами.
Приведённую на рисунке схему на языке VHDL можно записать следующим образом:
D <= not Q ;
process ( clk )
begin
if rising_edge( clk ) then
Q <= D ;
end if ;
end process ;
«D», «Q» и «clk» — входы и выходы регистра (см. рис.).
«rising_edge» — функция, возвращающая true
при изменении уровня указанного сигнала от низкого к высокому (то есть, при появлении фронта сигнала).
Программа автоматизации проектирования электроники (EDA), выполняя логический синтез, преобразует код с языка описания аппаратуры в информацию, необходимую для создания аппаратной реализации схемы (обычно, список логических вентилей и соединений между ними (см. netlist)), и сохраняет её в файл. Такой файл может быть передан на вход программе, предназначенной для создания интегральных схем специального назначения (ASIC) (см. placement и routing), или программе, предназначенной для создания прошивок для программируемируемых пользователем вентильных матриц (FPGA). Программа, выполняющая логический синтез, также может оптимизировать схему (см. logic optimization).
По наличию или отсутствию в схеме регистров, выходы которых связаны с их входами, схемы делят на два типа:
- схемы, в которых существует путь от выхода какого-либо регистра к его входу (или от выходов нескольких регистров к их входам), называемые схемами с конечным числом состояний (конечным автоматом) или схемами с секвенциальной логикой;
- схемы, в которых нет подобных путей, называемые конвейерными (см. pipeline).
См. также
Литература
- Frank Vahid. Digital Design with RTL Design, Verilog and VHDL (неопр.). — 2nd. — John Wiley and Sons, 2010. — С. 247. — ISBN 978-0-470-53108-2.
Примечания
Ссылки
- https://books.google.ru/books?id=N4NyCQAAQBAJ&pg=PA15
- http://www.ece.ubc.ca/~edc/379.jan99/lectures/lec8.pdf (англ.)
- https://web.archive.org/web/20160928022106/http://semiengineering.com/kc/knowledge_center/Register-Transfer-Level/49 (англ.)
- IEEE 1076.6 "IEEE Standard for VHDL Register Transfer Level (RTL) Synthesis" (англ.)