Перейти на главную страницу
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Лабораторна робота
Перевірив: викладач
Коріний Руслан Сергійович |
Виконав: ст. 5-го курсу гр. ЗКМ-02 ФИТИС
Гальченко С. Н. |
Черкаси 2005
http: // www.aldec.com
Рабочая среда Active-HDL основана на стандартном MFC-подобном окне ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ (GNU). Каждое окно может быть присоединено, перекрыто или свернуто.
Главные части Active-HDL:
_ Окно просмотра Проекта
_ Окно Проводника проекта
_ HDL Редактор
_ Редактор автоматов
_ Окно просмотра сигнала
_ Консоль
_ Менеджер библиотек
_ Редактор принципиальных схем
Интерфейс Active-HDL PLUS
Чтобы начать работать с программой необходимо на рабочем столе Windows выбрать в группе Пуск->Программы->-Active-HDL и нажать мышью обозначение. Active- VHDL Active- VHDL начинает загружаться, что видно по следующей заставке Заставка Active-HDL PLUS
Когда процесс загрузки заканчивается, появляется следующий диалог:
Начальное Стартовое Окно
Выберите Создание нового проекта (Create New Design) и нажмите на OK.
СОЗДАНИЕ НОВОГО ПРОЕКТА
ВВОД НАЗВАНИЯ ПРОЕКТА
Active-HDL содержит простой в использовании Мастер Проекта (New Design Wizard). В первом окне мастера Вы можете ввести имя проекта, его папку, тип проекта и имя рабочей библиотеки. Окно Design Wizard В поле Type Design Name введите Tutorial, a также введите или выберите желательное расположение папки проекта в соответствующем поле. Нажмите кнопку Next чтобы продвинуться к следующей странице. Нажмите кнопку Cancel, чтобы выйти из Мастера Проекта (New Design Wizard) без любых изменений
Следующий диалог позволяет Вам точно определить содержание создаваемого проекта. Вы можете: _ Creat new Source files now оперативно создать новые исходные файлы - это создаст новые файлы, содержащие точно установленные объекты
_ Add existing resources files добавить существующие файлы - существующие VHDL проекты могут быть импортированы в Active- VHDL
_ Import design from Active-CAD импортировать проект из Active-CAD - в этом случае список соединений VHDL, сгенерированный Active-CAD’ом, будет импортирован
_ Create an empty design создать чистый проект - ни один из компонентов не будет добавлен к проекту
Окно ресурсов Design Wizard
Выберите Create new source files now.
Нажмите кнопку Back, если хотите заново ввести название проекта и каталога. Нажмите следующие клавиши:
_ Back - повторный ввод имени и директории проекта.
_ Next - перейти к следующей странице
_ Cancel - прервать процесс
СОЗДАНИЕ МАКЕТА ИСХОДНОГО ФАЙЛА
В следующем диалоге Вы можете прибавлять компоненты которые вы хотите включить в ваш проект. Нажмите кнопку New и затем введите имя объекта. Окно объектов Design Wizard Колонка Source Type позволяет Вам выбирать текстовое описание VHDL или графическое описание, используя редактор Конечных Автоматов (Finite State Machine Editor). Введите Counter как название объекта и выберите VHDL-Code как источник. Выберите пункт Counter, а затем нажмите на кнопку Ports. После этого, используя Мастер Портов (Port Wizard), введите описание портов.
Мастер Порта (Port Wizard) используется для обозначения портов. Чтобы ввести порты, нажмите на кнопку New и введите имя. Вы можете указать направление порта используя элемент Direction. Если вы хотите ввести шину, вы можете установить ее ширину используя элемент Bus. Прибавьте три порта следующим образом:
_ CLK - порт входа
_ RESET - порт входа
_ Q[3:0] - порт - выходная шина, диапазон [3:0]
После того, как Вы прибавили порты, нажмите кнопку Type. Это выдаст диалог, который разрешит Вам выбрать тип порта.
Окно Портов
Выберите опцию STD_LOGIC для единичных портов и STD_LOGIC_VECTOR для шин. Это заставит сгенерированный шаблон включить библиотеку IEEE и объявления пакетов. Если Вы нажмете OK в диалоге Port Wizard’a, то появится диалог Мастера Проектов (New Design Wizard). Нажмите на кнопку Next, чтобы перейти к последней странице.
Последний диалог - диалог подтверждения. Все свойства проекта показаны в соответствующем окне. Если они записаны правильно, нажмите кнопку Finish.
_ Используйте кнопку Back, если установки неправильно введены.
_ Используйте кнопку Cancel, если Вы не хотите создавать новый проект.
_ Нажмите кнопку Finish чтобы завершить создание проекта.
Последнее окно мастера создания проекта
Окном просмотра Проекта называется окно, показывающее содержание проекта. В результате предыдущих операций Вы получите следующее окно: Окно просмотра Проекта Вы можете видеть на рисунке имя проекта Tutorial. На этой стадии проект содержит только файл Counter.vhd и рабочую библиотеку, идентичную с именем проекта. Трансляция исходного файла может быть выполнена или выбором команды Compile из меню Design или выбором соответствующей команды из контекстного меню, вызванного, щелчком правой кнопкой мыши наименование файла.
Окно просмотра Проекта после команды Compile
Нажмите знак "+", чтобы расширить просмотр.
Окне просмотра Проекта со структурой объектов
Окно показывает пару архитектура-объект. Дважды нажмите обозначение Counter.vhd, чтобы
вызвать HDL Редактор.
РЕДАКТИРОВАНИЕ КОДА
HDL РЕДАКТОР
HDL Редактор это текстовый редактор с VHDL ключевыми словами, окрашенными определенным цветом и стандартными средствами редактирования.
Active-HDL обладает другой полезной особенностью, которая позволяет группировать, свертывая и разворачивая часть VHDL конструкций, чтобы улучшить читаемость кода.
Окно HDL Редактора
Если Вы сделали все предыдущие шаги, Вы будете видеть выше стоящее окно.
Сгенерированный код - шаблона, основан на ваших установках портов.
Для примера опишем структуру "Счетчика".Выберите опция Language Assistant, в меню Tools, или нажмите значок на панели инструментальной. Появляется следующее окно:
Окно Language Assistant
Расширьте отметку Tutorial. Появятся следующие пункты:
Окно Language Assistant
Нажмите на отметку Counter.
Окно Language Assistant
В появившемся окне предварительного просмотра имеется описание на языке VHDL счетчика двоично-десятичного кода. Далее вставим код в шаблон, для чего:
1. Посмотрите на окно HDL Редактора и найдите строку со следующим текстом:
2. Установите курсор в следующей строке.
3. Выберите Counter в обозначении дерева Language Assistant.
4. Выберите Use из сокращенного меню
5. Шаблон будет немедленно помещен в выбранное место на шаге 2.
ДОБАВЛЕНИЕ БИБЛИОТЕК
Отредактированный код требует, чтобы были включены некоторые дополнительные пакеты. Чтобы это сделать после use IEEE.std_logic_1164.all добавьте следующую строку: use IEEE.std_logic_unsigned.all;
Результат:
Окно HDL Редактора с кодом счетчика
Для автоформатирования VHDL кода нажмите значок , и сгенерируйте структуру используя кнопку . Вы только что изменили модуль „Counter”.
КОНТРОЛЬ СИНТАКСИСА
Перейдите к окну Просмотра проекта (Design Browse), выберите Counter.vhd и нажмите правую кнопку мыши. Выберите опцию Compile из сокращенного меню.
Сокращенное Меню
Если имеется ошибка в исходном файле, то появится знак ошибки рядом с именем файла. Ошибочные строки подчеркнуты, и окно VHDL консоли будет содержать описание ошибки. Если Вы хотите видеть, как они будут отображены, измените, имя библиотеки в выражении use c std на srd и произведите трансляцию.
Окно HDL Редактора с индикацией ошибок Вы должны исправить имя пакета и перетранслировать исходный файл. На этот раз не должно появиться никаких ошибок, и знак появиться справа от имени файла.
ДОБАВЛЕНИЕ ФАЙЛОВ К ПРОЕКТУ
Чтобы добавить файл, Вы должны дважды нажать обозначение Add New File в дереве Окна просмотра Проекта. Появится следующий диалог, который поможет Вам выбрать способ, которым будет добавлен к проекту новый файл.
Команды меню New Vhdl Source
Нажмите кнопку Next
Новое окно New Source Withard
В ранее упомянутом окне помощника, введите Decoder как название файла. Нажмите кнопку Next, которая продвинет Вас к следующей позиции. Имя нового файла с исходным текстом Введите порты как показано ниже. Выберите STD_LOGIC_VECTOR. Нажмите кнопку Finish для создания скелетного файла.
Окно New Source Wizard – Ports
Окно просмотра Проекта показывает:
Окно просмотра Проекта
Мы создали две отдельных разработки, содержащиеся в "Counter.vhd" и "Decoder.vhd". Двойной щелчок по Decoder.vhd , показывает его VHDL код. Сейчас мы заполним шаблон, используя Language Assistant. Для этого в окне Tutorial и выберите Decoder.
Содержимое VHDL файла декодера
Поместите курсор в блоке архитектуры после оператора begin в HDL Редакторе, затем выберите обозначение Decoder, и выберите Use из сокращенного меню. Содержание окна должно быть следующие:
Содержимое файла Decoder VHD
СОЗДАНИЕ ОСНОВНОГО ФАЙЛА.
Чтобы создать новый чистый VHDL файл, выберите иконку Add New File из Design Browser’a.
Окно добавления Нового файла
_ Перейдите к Language Assistant и найдите обозначение Top.
_ Выберите Use из сокращенного меню, чтобы вставить шаблон в код.
_ Перейдите к меню File, и выберите опцию Save As.
_ Сохраните файл как Top.vhd.
_ Перейдите к меню Design, выберите Add Files to design и прибавьте файл к проекту
Архитектура основного уровня
Окно Design Browser’a после этих операций показано ниже:
Окно Design Browser’a
Содержимое HDL-редактора, после генерации структур и автоформатирования:
Содержимое HDL-редактора
Теперь давайте перекомпилируем весь проект. Используйте опцию Compile All, доступную для правой кнопки всплывающего меню
Для точного определения вашего объекта верхнего уровня, нажмите кнопку ниспускающегося списка, чтобы видеть доступные пары архитектуры-объекты. Выберите обозначение "topstructure".
Выбор высокоуровневой архитектуры Вы можете делать ту же самую работу, выбирая обозначение "top-structure" в дереве и выбирая опцию Set As Top level, доступную во всплывающем меню, вызываемом правой кнопкой. Вы можете также использовать команду Settings, доступную ниже из меню Design. Это покажет диалог Установок Проекта, в котором Вы можете выбирать объект верхнего уровня. В Окне просмотра Проекта выберите закладку Structure:
Компоненты Закладки структура
Закладка Структура показывает структуру проекта. В проекте Top, который имеет атрибут Root, имеются две составляющие: Счетчик и Дешифратор. Каждая из этих составляющих имеет один процесс, который показывается в дереве. Также показываются все используемые пакеты.
ПРОСМОТР ЛОКАЛЬНЫХ ДАННЫХ
Каждое проектируемое устройство может содержать порты, сигналы и переменные. Active-HDL допускает простой просмотр через данные устройства. Если Вы нажимаете составляющее обозначенные на закладке Структура окна просмотра Проекта, то локальные данные будут показаны в более низком подокне окна.
Выбор модели портов
Давайте проверим наш проект.
Чтобы начать моделирование, вы должны сначала инициализировать стимулятор, используя опцию Initialize Simulation из меню Simulation. После того, как моделирующее устройство было инициализировано, Вы должны открыть новое окно Формы сигнала (Waveform Window). Нажмите кнопку панели New Waveform. Появляется новое окно формы сигнала.
Окна просмотра формы волны (Waveform Viewer Windiow)
Сигналы для моделирования могут быть добавлены, перемещая сигналы в окно. На закладке Structure окна Просмотра Проекта Вы должны выбрать составляющую тех портов, которые Вы хотите наблюдать и просто нажав левую кнопку, переместить все вместе к левой части окна Формы сигнала, после чего отпустить кнопку. Это типичная процедура взял и переместил (drag-and-drop).
Добавление сигнала из Окна просмотра Проекта
Если Вы хотите удалять сигнал, выберите его и нажмите правую кнопку. Появится всплывающее меню, содержащее пункт Delete. Выберите эту опцию, чтобы удалить сигнал. Active-HDL позволяет просматривать результаты моделирования в виде таблицы с точностью до времени дельта. Окно List Viewer позволяет просматривать значение сигнала без возможности изменить данное значение на желаемое. Чтобы открывать окно Viewer надо нажать на панели кнопку New List. В результате появиться окно показанное ниже.
Окно List Viewer
Добавление сигналов к окну List Viewer подобно работе с Waveform Viewer средства просмотра
Формы сигнала. Перетащите требуемые сигналы от позиции табуляции Structure окна Design Browser. Окно List Viewer с добавленными сигналами должно выглядеть следующим образом.
Окно List Viewer с добавленным сигналом Окно List Viewer - это интерактивный дисплей, который отражает все действия моделирования и результаты.
В левой части окна Просмотра сигналов (Waveform Viewer) выберите сигнал CLK. Нажмите
правую кнопку чтобы вызвать всплывающее меню.
Установка стимуляторов сигнала
Выберите пункт Stimulators. Будет отображено следующее окно:
Окно моделирования
Выберите из диалога Stimulators пункт Clock:
Установка частоты генератора для сигнала
Установите указатель мыши в поле Frequency и установите значение 50 MHz. Нажмите кнопку Apply чтобы запустить моделирование. Далее отметьте сигнал RESET в окне просмотра сигналов диалога Stimulators из всплывающего меню, затем отметьте пункт Formula изсценария выбора.
Когда появится диалог, наберите выражение:
1 0, 0 10000
Установка формулы моделирующего сигнала
Нажмите на Apply, затем на Close.
Давайте будем моделировать!
Вы можете произвести или один шаг моделирования, который полезен для отладки исходного кода программы, или продолжительное моделирование, для высокоскоростного анализа проекта и сравнения результатов. Посмотрите на последующий рисунок: Произведите несколько шагов моделирования, нажимая на кнопку Trace Over. Нажмите кнопку Run For. Вы получите следующие результаты на панели Waveform. Результаты моделирования
Шина Internal была расширена, после щелчка на знаке “+” рядом с меткой, смотри рисунок ниже.
Завершите моделирование выбирая пункт End Simulation в меню Simulation.
Для отображения результатов в виде таблицы и контроля изменения дельта времени переключитесь к открытому окну List Viewer. Результаты должны быть отображены следующим способом.
Результаты моделирования в окне List Viewer
Для отображения результатов с точностью дельта нажмите значок на панели инструментов Active-HDL позволяет Вам производить моделирование другим способом, используя автоматически сгенерированные испытательные стенды. Вы можете также стимулировать сигналы формы волны, созданные в окне Waveform Viewer. Эти действия требуют, чтобы Вы экспортировали результаты моделирования в отдельные VHDL процессы, стимулирующие различные сигналы.
Для этого используйте опцию Export Waveforms из меню Waveform. В появившемся окне, введите имя файла, в котором будут сохранены формы волны.
Экспортирование файла волны в VHDL процесс
После сохранения форм волны при помощи кнопки Save, Вы готовы для генерации Испытательного стенда(Test Bench) . Щелкните правой кнопкой мыши на архитектуре верхнего уровня в окне Design Browser, и выберите команду Generate test bench. Генерация испытательного стенда В результате появляться Мастер Генерации Испытательного стенда. В первом окне выберите Объект (Entity) и Архитектуру (Architecture), для которой будет сгенерирован испытательный стенд. Введите предложенные Мастером имена и нажмите Next.
Местер генерации испытательного стенда Следующий шаг основан на предварительно экспортируемых формах волны. В поле Select a waveform (выберите файл формы волны): введите имя файла stimuli.vhs и продвиньтесь вперед, щелкая Next.
Мастер генерации испытательных стендов
На последнем шаге Вы можете разрешить генерацию конфигурации для синхронизированного моделирования. По умолчанию эта опция выключена. Закончите генерацию испытательного стенда, нажав кнопку Finish.
Экспортирование волновой формы в VHDL процесс.
Новая папка была создана в окне Design Browser, в котором был сохранен файл испытательного стенда вместе с .do-файлом макрокоманды для автоматической трансляции и моделирования. Новая папка испытательного стенда
Запустить моделирование, нажав правую кнопку мыши на сгенерированном Испытательном стенде .do файл макрокоманды и выбрать команду Execute.
Выполнение файла макрокоманд
Выполнение файла макрокоманды приводит к автоматической перетрансляции и моделированию, результат которого показан на следующем рисунке.
Результат моделирования
Active-HDL позволяет Вам передвигаться по исходному тексту во время моделирования. Окно с текстом автоматически открывается после нажатия на кнопку моделирования. Строка, которая будет выполнена следующей, показана в HDL-редакторе желтым цветом. Сначала Вы должны закончить выполнение предыдущего моделирования, выбрав опцию End
Simulation из меню Simulation и повторно инициализировать его, выбрав опцию Initialize.
Нажмите на одну из кнопок: Watch и Process чтобы просмотреть дополнительные окна Watch и Process.
Окно Process показывает статус процессов проекта. Окно Watch позволяет Вам проверять значения переменных и сигналов.
В течение отладки доступны следующие команды:
Trace into - выполняет одиночную VHDL инструкцию. Если сталкиваются с запросом подпрограммы, выполнение переходит в тело подпрограммы.
Trace over - выполняет одиночную VHDL команду. Если сталкиваются с запросом подпрограммы, инструкции, содержащиеся в пределах тела подпрограммы, выполняются в за один шаг.
Trace out - выполняет так много VHDL инструкций, как требуются, чтобы завершить выполнение подпрограммы. Если подпрограммы вложены, команда завершает выполнение только самой внутренней подпрограммы.
Используя эти команды, Вы можете наблюдать изменения значения сигнала в окне Watch. Сигнал восклицание появляющийся перед именем сигнала, указывает на изменение значения сигнала в текущем цикле моделирования (сигнал CLK на рисунке ниже).
Окно Watch
В окне Processes Вы можете наблюдать список процессов и их текущеее состояние (ready или wait). Готовое состояние (ready) означает, что процесс в настоящее время активен и автоматически продвинут к вершине отображенного списка.
В Active-HDL 3.5 добавлены новые окна Call Stack и Data Flow.
Окно Call Stack - средство отладки, которое отображает список выполняемых в настоящее время подпрограмм (процедур и функций) в текущем выполняемом процессе. Термин процесс используется здесь, чтобы обозначить любое одновременное операторное моделирование последовательных процессов в разработанной модели. Такие операторами являются -инструкции процесса, инструкции назначения параллельных сигналов, операторы параллельных утверждений и операторы вызова параллельных процедур (точно также как и для окна Process). Окно обеспечивает два различных кодов.
_ Формальные параметры наряду с их фактическими значениями
_ Переменные, константы и файлы, объявленные локальными в телах подпрограмм наряду с их текущими значениями.
Окно Call Stack вызывается, выбором опции Call Stack, из пункта меню View. В нашем случае мы можем наблюдать только значения переменной, объявленной в процессе, ответственном за счетчик.
Окно Call Stack
Окно Data flow - инструмент, обеспечивающий графическое представление сигналов, протекущих в и вне процессов в течение моделирования. Термин процесс используется здесь, чтобы обозначить любое одновременное операторное моделирование последовательных процессов в разработанной модели. Такие операторами являются - инструкции процесса, инструкции назначения параллельных сигналов, операторы параллельных утверждений и операторы вызова параллельных процедур (точно также как и для окна Process). Окно обеспечивает два различных вида:
_ С процессом в центре окна,
_ С сигналом в центре окна.
Когда процесс отображен в центре, это представлено как прямоугольное поле с входными сигналами на левой стороне и выходными сигналами справа. Входные сигналы – читаемые процессом. Выходные сигналы - модифицируемые процессом. Когда сигнал отображен в центре, он представлен как толстая вертикальная строка с процессами, связанными с ним с обеих сторон. Процессы справа модифицируют сигнал. Процессы слева читают сигнал. Вы можете переключаться между этими двумя видами, щелкая иконки в окне Data flow
В обоих видах, сигналы отображены вместе с их именами, а процессы отображены вместе с их метками (или назначенными явно пользователем или сгенерированными автоматически эмулятором). Для сигналов, окно Data flow также отображает их текущие значения.
Рабочая среда Active-hdl основана на стандартном mfc-подобном окне графического интерфейса пользователя (gnu). Каждое окно может быть присоединено, перекрыто или свернуто
14 12 2014
1 стр.
Задание: создать модель имитирующую процесс сбора информации от нескольких источников
14 12 2014
1 стр.
Тема уроку: Adobe Photoshop головне меню програми. Adobe Photoshop його інструменти та їх використання. Прошарки та робота з ними. Корегування зображень. Робота з об'єктами. Робота
02 10 2014
1 стр.
Мета роботи: обговорити відмінності між навчальним і науковим дослідженням та шляхи ефективного використання комп'ютерних технологій під час навчального проектування; визначити та
17 12 2014
1 стр.
Мета роботи: зняти пускову та вольт-амперні характеристики (вах) напівпровідникового тиристору
13 10 2014
1 стр.
Ознайомитися з будовою і принципом роботи оптичного пірометра із зникаючою ниткою, визначити сталу Стефана–Больцмана
15 10 2014
1 стр.
Мета: Визначити густину бруска, рідини та тіла довільної форми за допомогою формули ρ =
15 10 2014
1 стр.
Сети Active Directory могут быть различного размера: от нескольких сотен до нескольких миллионов объектов
17 12 2014
1 стр.