Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...