Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
XilinxCourse_v2.0.doc
Скачиваний:
56
Добавлен:
22.04.2019
Размер:
3.26 Mб
Скачать

2.4 Понятие уровней абстракции и иерархии в проектировании аппаратуры

Со времени первого появления цифровой микросхемы в 1958 году разработчики наблюдают экспоненциальный рост числа транзисторов на интегральной микросхеме, что приводит к росту проектов и их стремительному усложнению. Для упрощения процесса проектирования, в проектах используются техники, такие как абстракция и иерархия. Эти техники работают по принципу «разделяй и властвуй» и оказывается довольно эффективным в рамках экстремально больших проектов.

2.4.1 Уровни абстракции

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

Следующий, более сложный уровень HDL, определяется способностью поддерживать логические примитивы. Этот уровень называется функциональным или RTL (Register Transfer Level), т.е. уровнем регистровых передач. Устройство на данном уровне абстракции представляется набором регистров, связанных между собой элементами комбинационной логики.

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

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

На рисунке 2.4.1 показано упрощенное представление о функционировании аппаратных блоков на различных уровнях абстракции.

В настоящее время основным способом представления аппаратуры является уровень RTL. Все остальные представления либо являются вспомогательными, либо впоследствии конвертируются в однозначный RTL-код.

 

Рисунок 2.4.1 – Представление о функционировании аппаратных блоков на различных уровнях абстракции

2.4.2 Понятие проекта. Составные части проекта. Иерархия проекта.

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

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

Рисунок 2.4.2 — Упрощенная структура иерархии проекта

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]