Entity tb_lab2is. Architecture test of tb_lab2 IS. 2. 5. контрольные вопросы. 3. Структурное представление устройств. 3. 1. Структура и поведение
ENTITY Tb_Lab2IS
END Tb_Lab2; ARCHITECTURE test OF Tb_Lab2 IS
SIGNAL stim_integer : INTEGER; SIGNAL z, x0, x1, x2 : std_logic; SIGNAL v : std_logic_vector( 1 DOWNTO 0);
COMPONENT Lab2 PORT ( x0, x1, x2 : IN std_logic; z : OUT std_logic ); END COMPONENT;
BEGIN
u1: Lab2 PORT MAP (x0, x1, x2, z);
stimulator: PROCESS VARIABLE i : INTEGER; VARIABLE stim_vector: std_logic_vector( 2 DOWNTO 0); BEGIN --TIME_VAR: = 5ns; FOR i IN 0 TO 15 LOOP stim_integer < = i; stim_vector: =conv_std_logic_vector(i, 3); x0 < = stim_vector(0); x1 < = stim_vector(1); x2 < = stim_vector(2); WAIT FOR 50 ns; END LOOP; ASSERT false REPORT " End of Stimulation! " SEVERITY error; WAIT; END PROCESS;
END test;
Рекомендуется придерживаться следующего порядка работы: I. Моделирование 1. Запустить моделирующую программу (QuestaSim или ModelSim). 2. Создать в системе моделирования новый проект, включив в него файл Tb_Lab2. vhd, а также файлы Lab21. vhd, Lab22. vhd и Lab23. vhd. Изменить тексты программ в файлах Lab2*. vhd так, чтобы реализовать в каждой из них одну из функций таблицы 2. 1 по заданию преподавателя. 3. Выполнить компиляцию проекта Tb_Lab2. vhd со встроенным компонентом Lab21. 4. Запустить процедуру моделирования, вызвав опцию simulate системы моделирования. Открыть окна наблюдения source, signal, wave. После отладки проект сохранить в новом директории. 5. Выполнить моделирование в автоматическом режиме. Просмотреть временную диаграмму, убедиться в правильности реализации логической функции.
6. Повторить пункты 3 – 5 для компонента Lab22. Объяснить получаемую реализацию. 7. Повторить пункты 3 – 5 для компонента Lab23. Объяснить получаемую реализацию.
II. Синтез и имплементация. 1. Открыть пакет Quartus II (версия задается преподавателем). 2. Создать новый проект – File / New Project Vizard, указав созданный директорий и программу lab2. vhd. 3. Компилировать проект (Processing / Start Compilation), опираясь на данные о ПЛИС, соответствующие используемому учебному стенду (Assigments / Device) 4. Оценить затраты на реализацию проекта Processing / Compilation Report. 5. Просмотреть RTL вид проекта и его топологическую реализацию – Tools / RTL View – Tools / Technology Map View. 6. Задать номера контактов ИС, соответствующие подключению учебной платы DE0. Подключить к контактам ИС x0, x1 x2 переключатели SW, а к контакту z Led. 7. Выполнить компиляцию проекта с назначенными контактами. 8. Загрузить в ИС полученный загрузочный файл проекта и проверить работоспособность разработки. 9. Повторить пункты 2 – 8, перестроив программу Tb_Lab2. vhd, чтобы она включала компонент Lab22. 10. Повторить пункты 2 – 8, перестроив программу Tb_Lab2. vhd, чтобы она включала компонент Lab23. 11. Объяснить расхождение поведения проектов. 12. Имплементировать проект в ИС учебного стенда 13. Проверить реальную работу загруженной программы Содержание отчета по теме: - Порядок и результаты синтеза устройств по пп. 1, 8, 9. - Тексты всех разработанных версий программы с комментарием вносимых изменений. - Временные диаграммы результатов моделирования.
2. 5. Контрольные вопросы 1. Представьте синтаксическое определение и порядок исполнения операторов if, case, loop, условного присваивания, присваивание по выбору. 2. Определите правила и преимущественные области использования типов данных для представления одиночных данных. 3. Как выполняется переход от табличного задания логической функции к алгебраическому?
4. Когда могут возникнуть в схеме «неожиданные» триггеры?
3. Структурное представление устройств
3. 1. Структура и поведение При проектировании аппаратуры применяют представление проекта с различной степенью детализации, иными словами различные модели. Модель, отражающая объект проектирования в форме правил преобразования входных данных в выходные, называется поведенческой. Применяя поведенческое описание, проектировщик абстрагируются от вопросов технической реализации, сосредотачивая внимание на алгоритмических аспектах работы проектируемого изделия, в том числе на отладке алгоритма функционирования. Поведенческое представления обеспечивает лучший уровень взаимопонимания в коллективе разработчиков, а в ряде случаев также и разработчиков с покупателями проекта, включая распространение результатов проектирования как объектов интеллектуальной собственности (IP-блоков). Одним из преимуществ поведенческого описания является возможность относительно легкого переноса описания в различные САПР и для реализации (синтеза) на основе различных технологий. Большинство практических разработок строятся из блоков, либо стандартных, либо создаваемых параллельно несколькими исполнителями. Структурная модель описывает проект в виде совокупности модулей, каждый из которых реализует определенную часть задачи, и набора связей между ними. Современные САПР способны синтезировать аппаратную реализацию, как на основе поведенческого представления, так и структурного и смешанного. Однако при этом предполагается, что каждый подблок структуры уже имеет свое описание. При проектировании на VHDL это означает, что описаны и доступны ENTITY и архитектурное тело, определяющее поведение или внутреннюю структуру подблока. В конечном счете, необходимо, чтобы для всех модулей проекта в проектной библиотеке содержались поведенческие модели. В том числе, если компоненты модуля представлены структурными моделями, то компоненты таких вложенных структур в свою очередь должны иметь поведенческое описание, и так далее. Структурная модель является естественным способом создания сложных проектов, описание которых целесообразно выполнить по иерархическому принципу. Структурная модель приближает описание к реальной конфигурации проектируемого устройства, а, как минимум, к представлению разработчика об этой конфигурации, то есть обеспечивает некоторое влияние разработчика на результат синтеза, например, для учета плохо формализуемых требований к проекту. К тому же надо иметь в виду, что компилятор при синтезе на базе «чисто поведенческого» описания может синтезировать недостаточно эффективные реализации.
Использование структурных моделей кроме того обеспечивает возможность: - использования широкого набора типовых компонентов, содержащихся в библиотеках систем автоматизированного проектирования; - многократного использования ранее созданных проектной группой узлов в новых проектах (так называемый процесс reusing); - параллельной «доработки» фрагментов проекта несколькими разработчиками. Большинство современных языков проектирования аппаратуры поддерживают возможность описания проекта, как в поведенческой форме, так и в виде совокупности заранее описанных компонентов и их связей (то есть в структурной форме), и язык VHDL не является исключением. Всякая иерархия представлена главным проектным модулем, который называют вершиной проекта, и совокупностью подчиненных проектных модулей. Вершина проекта содержит объявления портов и внутренних связей, а также так называемые операторы вхождения компонентов (INSTANTION STATEMENT), т. е. определенные синтаксисом языка указания на включенные компоненты и способ их соединений. В VHDL такое описание называют структурным архитектурным телом (SAB – structural architectural body). Подчиненный проектный модуль может быть, в свою очередь, вершиной следующей иерархии. В общем случае, проектные модули независимы в том смысле, что каждый может использоваться самостоятельно в различных конструкциях и быть вершиной проекта. Проектные модули, относящиеся к одному проекту, могут находиться в одном файле или представляться несколькими файлами. В последнем случае проектные файлы должны компилироваться в библиотеку проекта в порядке их вхождения в иерархию снизу вверх.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|