Методика проектирования ПЛИС в САПР Active-HDL

Общая характеристика программируемой логики. Изучение особенностей языка описания цифровых устройств VHDL. Разработка методики деятельности ПЛИС в системе автоматизированного проектирования Active-HDL. Обзор и принципы работы основных редакторов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.03.2015
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Преимущества Макрокоманд:

· Быстрая запись стимулятора, непосредственно с клавиатуры;

· Нет потребности использовать дополнительные редакторы;

· Позволяет автоматизировать весь процесс моделирования;

Недостатки

o Собственный формат команд моделирования;

o Требует хорошего знания языка макрокоманд.

Рис. 3.56 - Файл Макрокоманды

3.3.3.4.4 VHDL testbench (Испытательный стенд VHDL)

VHDL testbench - программа VHDL, которая описывает входные значения моделирования на стандартном языке VHDL. Есть множество VHDL определенные функции и конструкции языка разработанные, непосредственно, для того, чтобы создать воздействия моделирования. Возможно считать данные моделирования из текстового файла, создать отдельные процессы, управляющие входными портами, и пр. Типичный способ создания VHDL testbench стенда заключается в создании дополнительного файла VHDL для проектирования (реальной конструкции VHDL), который рассматривается в качестве компонента (Unit Under Test ) и присваивает определенные значения входным портам.

Рис. 3.57 - Модель Testbench

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

Испытательный стенд создаваемый мастером Test Bench Wizard.

Создание испытательных стендов является довольно утомительным процессом. Мастер Test Bench Wizard автоматизирует этот процесс, взяв на себя руководство процессом. Во-первых, необходимо чтобы Вы выбрали высокоуровневый объект проекта, который будет протестирован. Затем, нужно ввести имя файла waveform с требуемыми значениями входных и выходных портов. После ответа на несколько дополнительных вопросов мастер Test Bench собирает необходимую информацию и создает шаблон для тестовой программы. Можно отредактировать сгенерированный мастером файл и добавить , если это необходимо , собственный сценарий тестирования и дополнительные вводы/выводы.

Рис. 3.58 - Мастер Test Bench Wizard

Испытательный стенд VHDL, созданный пользователем.

Испытательный стенд VHDL, который создает разработчик, будет обработан в проекте как один из файлов VHDL. Можно импортировать существующие файлы испытательного стенда или создать новые с нуля. Есть некоторые редакторы VHDL, предоставленные Active-HDL, которые включают в себя функции испытательного стенда. Редактор Language Assistant поддерживает моделирование некоторых конструкций VHDL.

Преимущества испытательных стендов:

· Этот метод задания входных воздействий имеет широкие возможности при создании;

· Файлы VHDL поддерживаются на любом средстве моделирования VHDL;

· Испытательный стенд может произвести моделирование во всех стадиях проектирования.

Недостатки:

o Задание испытательных стендов (как конструкции VHDL) является трудоёмким процессом, особенно в ходе первоначального моделирования поведенческой модели.

o Задание испытательного стенда требует хорошего знания VHDL, и этот метод подходит в основном для опытных разработчиков.

3.3.3.4.5 Использование стимуляторов

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

Инструменты Active-HDL на протяжении более 15 лет постоянно совершенствуются. Поэтому эта среда предлагает это предлагает широкий диапазон опций стимулирования, которые выдержали проверку временем и оказались необходимыми.

Доступные Стимуляторы

Стимуляторы это специализированные сигналы, которые могут задать любое требуемое значение на входах модели. Используя стимуляторы можно легко и быстро задать входные воздействия, необходимые для полной проверки модели. Они позволяют в интерактивном режиме изменить любое значение сигнала, чтобы создать требуемые условия тестирования для модуля Unit Under Test (UUT). Эти изменения мгновенны и могут быть выполнены во время моделирования. Самый простой способ создать входные воздействия - это добавить требуемые порты или имена сигналов к редактору Waveform Editor а затем присвоить стимуляторы выбранным сигналам, используя опцию Stimulators. Есть несколько типов стимуляторов:

Value -Значение

Formula -Формула

Hotkey -Горячая клавиша

Clock -Временной

Counter -Счетчик

Custom Пользовательский

Predefined Предопределенный

Рис. 3.59 - Типы стимуляторов

Существует несколько типов вызова стимуляторов:

1. Override (Переопределение) - стимулятор определяет значение сигнала до следующей команды FORCE.

2. Deposit (Депозит) - стимулятор устанавливает значение сигнала, которое остается неизменным до последующего задействия драйвера (например, от процесса P1 или P2 () и связанной команды FORCE.

3. Drive (Диск) - подключает виртуальный драйвер к сигналу, и этот драйвер вызывает значение, активное до следующей команды FORCE. Этот тип стимулятора используется только для разрешенных типов сигналов, таких как std_logic.

Рис. 3.60- Окно выбора типа вызова

Стимулятор Value (Значение).

Стимуляторы Value позволяют присваивать постоянное значение выбранному сигналу, (например, '1', `0'). Значения могут быть заданы любыми сигналами, векторами и присвоены любым типам портов (in, out, inout, buffered), и могут быть применены во время моделирования. Средство моделирования выполняет сначала проверку типа сигнала, чтобы проверить, подходит ли для выбранного типа сигнала значение. Значения для сигналов типа одномерных массивов могут быть определены или как символьные литералы или как числа с основанием 2, 8, 10 или 16.

Поле Stimulator окна редактора Waveform Editor выводит на экран соответствующие присвоения значений сигналам.

Рис. 3.61 -Стимулятор Value

Стимулятор Formula (Формулы)

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

value time [,value time] [-r period] (время значения [оцените время] [-r период])

где - r опция позволяет автоматически повторять введенную формулу после установленного периода времени. Единица измерения времени по умолчанию - ps (пикосекунда). Однако можно выбрать любые единицы измерения из списка:

ps - пикосекунды

ns - наносекунды

us - микросекунды

ms - миллисекунды

Примеры:

0 0, 1 10, 0 20 defines a logic "1" that starts at 10 (ps) and ends at 20 ps

0 0, 1 10, 0 20 определяет логическую "1", которая запускается после 10 (пс) и заканчивает работу после 20 пс,

1 0, 0 5 ns, -r 20 ns defines a pulse wave with period of 20 ns and 25% duty cycle

1 0, 0 5 нс,-r 20 нс определяет импульсную волну периода 20 нс и 25%-ого рабочего цикла

Если введенная формула корректна, то значение будет присвоено, и в поле Stimulator окна редактора Waveform Editor выведется слово "formula" .

Отметим, что единица измерения времени должна быть отделена пробелом от временного значения.

Рис. 3.62 - Стимулятор Формулы

Стимулятор Hotkey (Горячей клавиши)

Стимуляторы Hotkey позволяют управлять значениями сигнала непосредственно с клавиатуры. Стимулятор горячей клавиши определяет ключ, который будет использоваться, чтобы переключаться между значениями, доступными для данного сигнала.

Например, если присвоить горячую клавишу 'R' сигналу "reset" (сброса), можно будет переключить значение этого сигнала во время моделирования, нажимая клавишу R на клавиатуре.

Рис. 3.64 - Стимулятор Hotkey

Значения, доступные для сигнала, зависят от его типа. По умолчанию доступны значения '0' и '1'. Возможно, однако, добавить дополнительные значения для сигналов в поле Sequences окна Simulators/Hotkeys.

Рис. 3.65 - Доступные значения Hotkey

Стимулятор Clock (Времени)

Стимуляторы Clock предназначены для того, чтобы смоделировать временные формы сигналов. Графический редактор Clock позволяет определять тактовую частоту, рабочий цикл, начальное значение и задержку. Слово Clock будет выведено на экран в поле Stimulator, справа от имени синхросигнала.

Рис. 3.66 -Стимулятор Clock

Стимулятор Counter (Счетчика)

Другой тип стимулятора - стимулятор Counter, который задает значение сигналов после требуемых периодов времени. Таким образом, с его помощью можно моделировать различные виды задержек ,часто встречающихся в цифровых приборах. Можно выбрать один из доступных режимов счетчиков:

· двоичный код;

· Код Грея;

· Код Джонсона.

Также необходимо определить начальное значение, в некоторых случаях шаг инкремента, и период времени, после которого будет изменено значение. Также возможно изменить дисплей счетчика в окне редактора Waveform Editor и также изменить порядок битов.

Рис. 3.67 -Стимулятор Counter

Стимулятор Custom (Пользовательский)

Стимулятор Custom позволяет задавать, графически, форму сигнала, выведенную на экран в окне редактора Waveform Editor как входное воздействие, для моделирования. Стимуляторы Custom могут использоваться только после того, как были созданы некоторые формы сигналов, с помощью других типов стимуляторов, например редактора Waveform editor, Стимулятора Hotkey, или Стимулятора Formula .

Стимуляторы Custom дают возможность создать очень сложные формы сигнала и использовать их так часто как требуется. Они комбинируют все преимущества стимуляторов Hotkey и Formula .

Поле Stimulator указывает на присвоение пользовательского стимулятора буквами "CS" (Пользовательский Стимулятор).

Рис. 3.68 - Стимулятор Custom

Стимулятор Predefined (Предопределенный).

Стимулятор Predefined задает временную форму сигнала с предопределенной частотой и рабочим циклом/формулами, создаваемыми для частого использования.

Рис. 3.69 -Стимулятор Predefined

Есть восемь предопределенных временных интервалов, которые могут быть использованы для настройки требуемой частоты и времени рабочего цикла.

Также есть возможность создать любое число собственных формул и присвоить их любому сигналу или порту.

Рис. 3. 70 - Использование Стимулятора Predefined

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

Так как Active-HDL позволяет совмещать в ходе моделирования вектора и формы сигналов, все разработчики будут в состоянии эффективно использовать Active-HDL.

Важно подчеркнуть преимущества использования стимуляторов-они позволяют в интерактивном режиме изменять значения сигналов в любом моменте времени, во время моделирования. После того, как моделирование произошло, они могут использоваться снова, так часто как это требуется, значительно экономя при этом, время разработчика.

Есть такие простые стимуляторы как Горячие клавиши, которые являются идеальными для задания простых входных воздействий, и сложные такие как Формула и Пользовательский, которые позволяют описывать сложные и неправильные по форме сигналы (импульсные пакеты, переменные рабочие циклы, и т.д.) и подходят для проверки сложных проектов (FPGA, ASIC, и т.д.).

Другое преимущество использования стимуляторов состоит в гибкости объединения различных типов стимуляторов. Легче создать собственные образцы форм сигналов, используя графические инструменты и сохранить их, в целях будущего моделирования.

Рис. 3.71-Окно The Waveform Editor

3.3.3.4.6 VHDL Testbench (Испытательный стенд VHDL)

Испытательный стенд VHDL -это программа VHDL, которая описывает внешние воздействия на входах моделирования, используя стандартные процедуры языка VHDL. Таким образом, VHDL Testbench - верхний уровень иерархической модели, которая инициирует модуль Unit Under Test (UUT)-(тестируемый модуль) и управляет им с помощью ряда тестовых векторов, а затем сравнивает сгенерированные результаты с ожидаемыми ответами.

Типичный испытательный стенд VHDL составлен из трех основных элементов:

1. Stimulus Generator (Генератор воздействия) - воздействует на UUT с помощью генерации Test Vector (Тестовых векторов) которые определяются специальными условиями;

2. Unit Under Test (UUT)-(Тестовый модуль) представление прохождения моделью верификации;

3. Verifier (Верификатор) - выполняет автоматическую проверку и создает отчеты о любых ошибках встречавшихся во время выполненного моделирования. Он также сравнивает выходную информацию модели с ожидаемыми результатами.

Рис 3.72-Модель Испытательного стенда.

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

Off-line Configuration (Офлайновая Конфигурация)

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

Генератор воздействия считывает все входные сигналы из файла и обеспечивает создание тестового вектора.

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

Рис 3. 73-Off-line Configuration Испытательного стенда.

On-line Configuration (Онлайновая Конфигурация).

Испытательные стенды также позволяют в интерактивном режиме проверять любые изменения модели на различных этапах разработки проекта. Генератор воздействия задает один и тот же Тестовый вектор для каждой тестируемой модели. Таким образом, выходная информация со всех моделей генерируется одновременно и без любого взаимодействия с пользователем, такого как обмен компонентами. Режим работы Верификатора намного более простой чем в офлайновой конфигурации, потому что здесь он только собирает информацию моделирования с выходов каждой модели и сравнивает ее, обнаруживая любые различия и решает, продолжать моделирование или нет.

Рис. 3.74 On-line Configuration Испытательного стенда

Adaptive Configuration (Адаптивная Конфигурация).

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

Например: эффективные модели тестирования, содержащие такие протоколы связи как UART или шина PCI.

Рис. 3.74 -Adaptive Configuration Испытательного стенда

3.3.3.4.7 Мастер VHDL Test Bench Wizard (Испытательного стенда VHDL)

Файлы Испытательного стенда, создаваемые с помощью Мастера Test Bench Wizard, совместимы со стандартным языком VHDL. Мастер позволяет создание испытательного стенда с уже существующими формами сигналов или создание шаблонного файла, в который все значения сигналов будут вставлены позже.

Иногда легче изменить форму сигнала в графическом редакторе, чем описать образец с помощью кода. Тем, кто предпочитает второй вариант, Мастер Bench Wizard предоставляет быструю и надежную шаблонную среду разработки, экономя время и трудозатраты.

Можно вызвать мастер Test Bench Wizard, выбирая опцию Generate Test Bench из меню Tools. В поле Entity необходимо выбрать проект, для которого нужно сгенерировать файл испытательного стенда и щелкнуть по значку Next.

Рис. 3.74 - Test Bench Wizard -1 шаг

В следующем окне, нужно выбрать: либо сгенерировать Испытательный стенд из уже существующего файла waveform либо создать новый файл Испытательного стенда для последующего редактирования. В последнем случае нужно просто снять флажок напротив панели Тестовые векторы и щелкнуть по значку Next.

Рис.3.75- Test Bench Wizard -2 шаг

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

Рис.3.76 - Test Bench Wizard -3 шаг

Последнее окно показывает имена файлов, которые будут сгенерированы. Первый файл-файл испытательного стенда с тестовыми векторами.

Второй - файл с дополнительной конфигурацией синхронизации, а последний - файл макроса моделирования, который автоматизирует весь процесс генерации формы сигнала, и выполняет файлы Испытательного стенда.

Нажатием кнопки Finish, будут сгенерированы файлы Испытательного стенда.

Рис. 3.77 - Test Bench Wizard -4 шаг

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

Заключение

Сложно переоценить значение автоматизации проектирования для развития науки, техники и народного хозяйства. Именно с автоматизацией проектирования связаны принципиальные возможности создания все более усложняющихся технических объектов, и более того, на сегодняшний день это становиться необходимым требованием, без которого создание электронных устройств по современной технологии становиться просто невозможным. Автоматизация проектирования - основной способ повышения производительности труда инженерно-технических работников, занятых проектированием. Это очень важно для предприятия, работающего в условиях жесткой конкуренции на рынке технических систем. Вот почему фундаментальная комплексная подготовка студентов технических специальностей по курсу САПР является столь необходимой.

Система проектирования Active-HDL является сегодня ведущей средой проектирования для создания проектов и их моделирования для всех семейств программируемых интегральных схем (ПЛИС), в том числе используемых для проектирования устройств связи, обеспечивая гибкость подхода и предоставляя развитые функции поддержки наиболее сложных современных проектов. Среда проектирования Active-HDL дает разработчикам независимость в использовании других средств проектирования из единого, полностью интегрированного окружения. Тесная интеграция всех приложений обеспечивает абсолютный контроль над проектом от спецификации на всем пути к его физической реализации. Active-HDL также имеет интерфейсы со всеми ведущими программными продуктами, предоставляя разработчикам свободу в использовании тех средств проектирования, которые наиболее полно отвечают требованиям каждого конкретного проекта.

В ходе дипломной работы была разработана методика проектирования первоначальных поведенческих моделей, их последующее моделирование. Был разработан лабораторный практикум. Отдельная цель, была в закреплении знаний по языку описания цифровых устройств VHDL, использующимся практически во всех современных САПР. Его знание позволит молодым специалистам повысить свою конкурентоспособность на рынке труда и более уверенно себя чувствовать на производстве.

Список литературы

1. Цикл материалов о Active-HDL 7.1. http://www.kit-e.ru/articles/circuit

2. Тренинги Active-HDL http://www.aldec.com/

3. Норенков И.П., Маничев В.Б. Основы теории и проектирования САПР. - М.: Высшая шк., 2010. - 335 с.

4. Ильин А.В. Автоматизация схемотехнического проектирования. - М.: Высшая шк., 2007. - 182 с.

5. Норенков И.П. Основы автоматического проектирования: Учеб. пособие для вузов. - М.: изд-во МГТУ, 2010.-359 с.

6. Зотов В.Ю., "Компоненты и технологии" www.compitech.ru

7. Назаров Л.Н., Комарова Я.А. Основы программирования микропроцессоров. - М.: Высшая шк., 2003. - 825 с.

8. Тутевич В. Н. Телемеханика. - М.: Высшая шк., 1985. - 424 с.

9. Норенков И.П. Основы автоматического проектирования: Учеб. пособие для вузов. - М.: изд-во МГТУ, 2012.-389 с.

10. Б.С. Энциклопедия начинающего радиолюбителя. - М.: Патриот, 2012. - 623 с.

11. Трейстер Р., Мейо Дж. 44 источника электропитания для любительских электронных устройств: Пер. с англ. - М.: Энергоатомиздат, 2000. - 288

Приложение

ЛАБОРАТОРНАЯ РАБОТА №1

Изучение интегрированной среды автоматизированного проектирования Active - HDL 7.1

Цель работы: ознакомиться с принципами автоматизированного проектирование ПЛИС с помощью пакета Active - HDL 7.1. Изучить структуру создания маршрута проектирования. Научиться работать со средствами управления проектом (Мастер проекта, Окно просмотра проекта). Научиться создавать элементарные объекты и их интерфейсы с помощью редакторов HDE и BDE. Получить начальные сведения о возможностях моделирования проекта.

1. Теоретическая часть

Общий вид экрана при работе из САПР Active - HDL приведено на рис. 1.1.

Рис. 1.1 - Общий вид экрана САПР Active - HDL

На рис 1.1 показаны также основные элементы интерфейса САПР Active -HDL: Менеджер проекта, Редактор, Консоль.

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

1.1 Триггер - это электрическая схема, имеющая два устойчивых состояния, которые устанавливаются при подаче соответствующей комбинации сигналов на управляющие входы триггера и сохраняющиеся в течение заданного времени после окончания действия этих сигналов. Триггер - логическое устройство способное хранить 1 бит данных. Триггер является основным компонентом более сложных устройств, таких как: счетчики, сдвиговые регистры, и регистры памяти.

Общая структурная схема триггера:

Рис.1.2 - Структура управления триггера

Переключение элемента памяти в то или иное состояние осуществляется сигналами "S" (установка), "R"(сброс), поступающими с выхода схемы управления. Логическое значение сигналов "S", "R" зависит от комбинации сигналов на внешних управляющих входах X триггера и от состояния выхода элемента памяти, которое определяется значением сигнала "Q" поступающего с выхода элемента памяти по цепи ОС. Состояние триггера определяется значением сигнала "Q". Если переключение триггера происходит при поступлении синхроимпульса на специальный вход синхронизации "C" (Clok- времязадающий), то триггер называется синхронным. Триггеры могут синхронизироваться уровнем или фронтом синхроимпульса.

RS-триггер имеет два управляющих входа S и R выполняющие функции установки Q=1 при S=1 и R=0 и сброса в состояние Q=0 при S=0 и R=1 при S=R=0 триггер работает в режиме хранения при S=R=1 - запрещенная комбинация (установка и сброс одновременно) т. к. приводит к неопределенности состояния Q

Рис. 1.3 Таблица переходов RS-триггера

1.2 Задание диаграмм входных сигналов

Существует большое количество способов задания внешних воздействий. Для того что бы студент, начинающий выполнять цикл лабораторных работ уже умел задавать входные воздействия, мы покажем как зададать входные воздействия для схемы мультиплексора. Повторив аналогичные действия, не составит труда промоделировать, подобным образом, работу любой другой схемы. Например заданного RS-триггера.

Временные диаграммы внешних воздействий задаются в специальном окне редактора сигналов Waveform Editor, который вызывается щелчком по пиктограмме New Waveform на инструментальной панели Standard. Дословно Waveform переводится как "форма волны", "сигнал". Отсюда и название -- редактор сигналов, или сигнальный редактор.

При запуске редактор Waveform Editor открывает новую закладку поверх ранее нарисованной схемы, которая состоит из двух частей. Левая часть предназначена для ввода сигналов, правая -- для показа временных диаграмм.

Щелкнем ПКМ в левой части окна и выберем в контекстном меню команду Add Signals. Она дублируется также на инструментальной панели иконкой . Откроется одноименная панель со списком всех доступных сигналов: D0, D1, A, Y, F1, F2, F3. С помощью клавиш Shift или Ctrl сформируем список сигналов, которые мы хотим наблюдать на экране монитора, например D0, D1, A и Y. Нажатием кнопки Add перенесем выбранные сигналы в окно редактора Waveform Editor (рис. 2) и закроем панель Add Signals (кнопка Close).

Рис. 1.4 Список, выводящийся на экран

Выделим один или несколько программируемых сигналов и щелчком на иконке Stimulators исполним одноименную команду Stimulators. С тем же успехом ее можно выполнить из контекстного меню.

Для входных сигналов D0, D1 и A зададим временные диаграммы. В пакете есть много различных способов выполнить такую работу. Подробно мы познакомимся с ними на втором уроке. А сейчас воспользуемся одним из самых простых стимуляторов типа Clock.

Откроется диалоговая панель Stimulators (рис. 3). В окне Signals выделим первый сигнал D0, в окне Type определим для него тип стимулятора Clock и в правом окне зададим частоту (Frequency) 10 МГц. Нажмем кнопку Apply и, не закрывая панель, перейдем к программированию второго сигнала D1.

Рис. 1.5 Программируем внешние воздействия D0, D1 и A

Для него зададим частоту вдвое меньше -- 5 МГц. Наконец, для третьего входа A назначим частоту 1 МГц. Покончив с описанием входных сигналов, закроем панель Stimulators (кнопка Close).

Моделирование проекта

Выполним необязательную инициализацию схемы (команда Initialize Simulation из меню Simulation). Рядом с именами сигналов в столбце Value появятся начальные значения всех сигналов (рис. 4). Выходной сигнал Y получит значение U (Uninitialized -- не инициализировано). Если сейчас вы переключитесь на закладку mux2_schema.bde, то увидите, что и на схеме появились те же самые значения сигналов.

Рис. 1.5 Выполняем начальную инициализацию схемы

Есть несколько способов запустить схему на моделирование (рис. 5). Проще всего выполнить команду Run For из меню Simulation. Она дублируется кнопкой и горячей клавишей F5. Имитатор, получив такую команду, продвинет моделирование на один шаг, величина которого задается в соседнем окне справа от кнопки.

Рис. 1.6 Кнопки управления процессом моделирования

По умолчанию шаг равен 100 ns, но его всегда можно поменять. Повторное исполнение этой команды продвинет время моделирования еще на один шаг и т.д. В паузе перед очередным шагом вы можете изменить не только его длительность, но и перепрограммировать параметры входных сигналов. Такое пошаговое моделирование весьма полезно при отладке схемы.

Если необходимо выполнить непрерывное моделирование на всем интересующем интервале модельного времени, то можно воспользоваться командой Run Until… из меню Simulation. Она дублируется кнопкой на инструментальной панели (рис. 5). При этом откроется окно с одноименным названием (рис. 6), где и следует задать желаемое время, например 1.2us (1,2 мкс).

Рис. 1.8 Задаем финальное время моделирования

На инструментальной панели есть еще одна "весьма опасная" команда Run (Alt+F5). Она запускает моделирование на неопределенное время, пока не будут обработаны все планируемые события (transactions) в схеме.

Если хотя бы один входной сигнал описан как периодический (Clock), события на входах будут генерироваться бесконечно, и имитатор не остановится до тех пор, пока время моделирования не достигнет максимального значения TIME'HIGH.

Лучший выход из создавшейся ситуации -- воспользоваться командой принудительного останова, щелкнув на иконке Break , или выполнить команду Restart.

Возможно, по этой причине команда Run отсутствовала на инструментальной панели более ранних версий пакета.

Заметим, что управлять моделированием можно не только из графического интерфейса пользователя, но и из окна консоли (Console). Наберите в командной строке следующий текст: run 1200ns и нажмите Enter. Моделирование сразу продвинется на заданное время (рис. 7).

Рис. 1.7 Результаты моделирования мультиплексора mux2_schema

На временных диаграммах видно, что пока на селекторном входе A низкий уровень, на выход передается входной сигнал D0. Если A принимает значение '1' (момент времени 500 ns), на выходе появляется сигнал D1. Именно так и должен работать мультиплексор (коммутатор) на два входа.

Сохраним результаты моделирования. С этой целью щелкнем ПКМ на названии закладки с временными диаграммами и исполним команду Save. Редактор предложит сохранить результаты в файле Waveform Editor 1.awf. Лучше отказаться от такого предложения и ввести более информативное имя сигнального файла, например mux2_schema.awf.

В среде Active-HDL 7.1 результаты моделирования можно представить не только в графической, но и в табличной форме. Вернитесь к началу моделирования (команда Restart) и выполните команду New List (иконка ). Откроется новая закладка list1, на которую надо поместить интересующие нас сигналы D0, D1, A и Y (команда Add Signals или кнопка ). Выполнив несколько шагов моделирования, вы увидите результаты в табличной форме (рис. 8).

Рис. 1.9. Табличная форма представлениярезультатов моделирования (фрагмент)

Просматривая различные закладки (схему, временные диаграммы, таблицу), можно обнаружить, что они синхронно заполняются данными по мере того, как продвигается моделирование в пошаговом режиме.

Техническое задание к лабораторной работе:

1. Ознакомьтесь с составом, интерфейсом и возможностями интегрированной среды Active - HDL с помощью выше представленной работы.

2. Изучить порядок действий и функциональные возможности Мастера

Нового Проекта (New Design Wisard).

6. Создать с помощью Мастера Нового Проекта (New Design Wisard)

пустой проект.

7. Изучить порядок действий и функциональные возможности редактора Design Flow Manager. Изучить возможные варианты создания поведенческой модели.

8. Изучить структуру и принцип работы редакторов HDE (Hardware Description Editor-текстовый редактор) и BDE (Block Diagram Editor-схемный редактор).

9. Создать модель RS -триггера с помощью редактора HDE.

Для этого необходимо описать на VHDL простейший объект, который представляет собой RS -тригер. Интерфейс этого объекта : 2 входных порта R и S и 2 исходных порта U и INV_U типа STD_LOGIC.

10. Скомпилировать файл. В случае успешной компиляции перейти к следующему шагу

11. Запустить моделирование модели. Сравнить результаты моделирования с данными таблицы возбуждения из теоретической части.

13. Создать модель RS -триггера с помощью редактора BDE, составленного из простейших логических элементов.

14. Графическое описание проекта (в нашем примере -- схема) должно быть конвертировано в текстовое описание (в нашем примере -- в формат языка VHDL).

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

15. Сравнить результаты: модель RS -триггера, созданную с помощью редактора HDE и автоматически сгенерированного VHDL-описания.

16. Скомпилировать файл. В случае успешной компиляции перейти к следующему шагу

17. Запустить моделирование модели. Сравнить результаты моделирования с данными таблицы возбуждения из теоретической части.

18. Сделать выводы.

Контрольные вопросы

1. Состав и структура проекта в Active - HDL.

2. Анализ возможностей Мастера Нового Проекта (New Design Wisard).

3. Какие средства предоставляются в Active - HDL для создания поведенческой модели?

4. Какие возможности имеет Менеджер проекта (Design Browser)?

5. Что такое интерфейс?

6. Каким образом описываются объекты в VHDL?

7. Какие способы заданий внешних воздействий существуют в САПР Active-HDL?

Требования к отчету

1. Название и цель выполнения лабораторной работы;

2. Описание средств Active - HDL для управления проектами;

3. Описание структуры создания поведенческой модели;

4. Состав и структура 2-ух проектов, сформированных в результате работы, редакторами HDE и BDE;

5. Результаты моделирования 2-ух проектов, сформированных в результате работы, редакторами HDE и BDE;

6. Выводы по лабораторной работе.

Лабораторная Работа №2

Тема: Моделирование транспортной и инерциальной задержек времени

Цель лабораторной работы: Научиться описывать транспортную и инерциальную задержки времени с помощью Active-HDL, выяснить принципиальные отличия между ними

Теоретические сведения:

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

Транспортная задержка сигнала

Транспортная задержка сигнала является простой задержкой передачи входного сигнала на точно определённое время. Она описывается в VHDL так:

Y(выходной сигнал)<= transport Х(входной сигнал)after значение времени;

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

Инерциальная задержка сигнала

Инерциальная задержка сигнала моделирует работу элементов схемы, которые не пропускают короткие импульсы. То есть при инерциальной задержке выходной сигнал будет задерживаться на время этой задержки, но импульсы, длительность которых меньше инерциальной задержки будут игнорироваться. Описывать инерциальную задержку можно так:

Y(выходной сигнал)<= inertial X(входной сигнал) after значение времени;

Если надо чтобы импульсы, минимальная длительность которых меньше инерциальной задержки, что часто требуется в реальных условиях, пропускались то форма записи изменяется:

Y(выходной сигнал)<= reject длина импульса inertial X(входной сигнал) after значение времени;

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

Техническое задание к лабораторной работе:

1. Ознакомиться с материалами приведенным в разделе 1 теоретической части.

2. Для своего варианта схемы, который определяется преподавателем, описать объект (entity) и соответствующий интерфейс с помощью кода VHDL, используя редактор HDE (Текстовый редактор).

Рис. 2.1

3. Описать схему кодом VHDL с учётом временных задержек всех ее элементов (для логических элементов И и ИЛИ - 6 ns, для инвертора - 2 ns).

4. Промоделировать работу схемы для случаев:

а) когда длительность входного сигнала больше чем инерциальная задержка логических элементов;

б) когда длительность входного сигнала меньше чем инерциальная задержка логических элементов.

5. Изменить структуру программы, чтобы пропускались только импульсы, длительность которых составляет 5 ns и больше.

6. Промоделировать работу схемы.

7. Изменить структуру программы таким образом, чтобы входные сигналы поступали с постоянной задержкой 15 ns.

8. Промоделировать работу схемы.

9. Сделать вывод о проделанной работе

Контрольные вопросы

1. Что такое инерционная задержка, ее физическое содержание?

2. Что такое транспортная задержка ее физическое содержание?

3. Как описываются инерционная и транспортная задержки в VHDL?

4. Фильтрация импульсов заданной длительности средствами VHDL.

Требования к отчету

1. Название и цель произведенной лабораторной работы;

2. Определения транспортной и инерционной задержек, метод их моделирования с помощью системы Active - HDL;

3. Принципиальную схему соединения логических элементов для моделирования;

4. Описание схемы в VHDL - коде;

5. Результаты моделирования для разной длительности входных влияний (п.4), их сравнение;

6. Привести текст кода для реализации пп. 5, 7 задания, и результаты моделирования;

7. Выводы по работе.

8. Ответы на контрольные вопросы

Лабораторная Работа №3

Тема: Моделирование режима ожидания в цифоровых устройствах с помощью оператора WAIT

Цель лабораторной работы: Получить практические навыки применения оператора wait при моделировании разнообразных режимов ожидания в Active-HDL. Научиться использовать сравнение временных диаграмм.

Теоретические сведения:

Многие электронные устройства имеют непрерывный цикл работы. Однако устройства останавливают свою работу после завершения текущих задач и возобновляют её снова, как только возникает необходимое событие. Для описания такого свойства в VHDL используется оператор wait, который определяет необходимые условия возобновления (остановки) выполнения операций. Так как похожие функции выполняет список чувствительности, то process со списком чувствительности не может иметь оператора wait. После возобновления работы процесса выполняется оператор, следующий за оператором wait.

Существует несколько форм оператора wait, которые отличаются способом возобновления process:

оператор wait без параметров, который окончательно останавливает выполнение процесса. Однако он применяется редко и полезен, в основном, при создании испытательных стендов или для формирования задающих или побудительных влияний.

wait on список_чувствительности; - ожидание до тех пор, пока не изменится какой-нибудь из сигналов в списке чувствительности.

wait for const_типа_time; - ожидание на протяжении времени указанном в параметре оператора wait.

wait until булевское_выражение; - ожидание выполнения условия (значения истины - `1'), которое указано в параметре оператора.

Это дополнительный тип, комбинированный, который может состоять из двух или трёх разных форм оператора wait. Например:

wait on список_чувствительности until булевское_выражение;

или

wait until булевское_выражение for const_типа_time;.

Техническое задание к лабораторной работе:

Создать базовый проект LabWait, текст которого приведён ниже.

Промоделировать работу LabWait. Получить временные диаграммы для сигналов CLK (задается как источник с синхронизирующим импульсом частотой 50 Мгц), Aout, Bout.

Сохранить результаты моделирования, как файл с именем Wform1, в текущем каталоге.

Рис. 3.1-фрагмент кода

С помощью wait for сформировать синхронизирующий импульс CLK самостоятельно (предварительно исключив этот сигнал из интерфейса системы) в теле процесса Pr_CLK. Уровень этого сигнала должен изменяться с высокого на низкий через каждые 10 ns.

Выучить работу процесса Pr_A и переписать его с использованием оператора wait on.

Выучить работу процесса Pr_B и переписать его с использованием оператора wait until.

Промоделировать работу созданных с помощью оператора wait процессов, получить временную диаграмму.

Сравнить текущую временную диаграмму и базовую временную диаграмму Wform1. Войти в меню Waveform и выбрать пункт Compare Waveforms. В результате на экране появится окно "Open". Выбрать файл Wform1.awf и нажать кнопку "Open". В результате к текущей диаграмме будут добавлены временные зависимости, которые хранятся в Wform1.awf. Темно-синим цветом обозначены текущие временные зависимости (поз.1, рис Л3.2), красным - добавленные временные зависимости (поз.2, рис. Л3.2). Различия между сравниваемыми сигналами обозначаются жирной голубой линией (поз.3, рис Л3.2). Если базовая и текущая диаграммы совпадают, то можно перейти к следующему пункту выполнения работы.

Рис. 3.2 - Окно сравнения результатов моделирования

Выйти из режима сравнения. Для этого необходимо выбрать в окне временных диаграмм любую линию различия сигналов (жирную голубую линию), и нажать правую кнопку мыши. В меню, которое появилось, выберите пункт "Remove Difference Marks".

Прибавить к последовательности операции процесса Pr_А выражение wait for 30 ns.

Промоделировать работу процесса, записать полученную временную диаграмму как файл Wform2.awf.

В выражении wait for, который был прибавлен в п.10, изменить время задержки на 20 ns.

Промоделировать работу процесса. Полученную временную диаграмму сравнить из Wform2.awf.

Подготовить отчет, по проделанной работе.

Контрольные вопросы

1. Назовите два способа задания режима ожидания процессов в VHDL объясните чем они отличаются.

2. Допускается ли одновременное использование оператора wait и списка чувствительности?

3. Какие три основных типа оператора wait вы знаете, их синтаксис?

4. Как формируется комбинированный тип оператора wait?

5. Опишите порядок операций, для выполнения сравнения двух временных диаграмм.

Требования к отчету

1. Название и цель проведенной лабораторной работы;

2. Определение основных видов применения оператора wait;

3. Привести вариант базового кода из файла LabWait и соответствующие результаты моделирование (п.3);

4. Привести варианты кода с применением оператора wait (пп. 5, 6, 7);

5. Привести результаты сравнения (согласно п.9);

6. Привести результаты моделирования (согласно п.14);

7. Привести сделанные выводы по работе.

Лабораторная Работа №4

Тема: Разработка программы и моделирование параллельного и последовательного регистров

Цель лабораторной работы: Усвоить принципы работы параллельного и последовательного регистров. Научиться описывать синхронизированные процессы и использовать циклические операторы при описании поведения объектов при помощи VHDL.

Теоретические сведения:

1. Циклы в языке VHDL

Циклы применяются для описания фрагментов, которые повторяются. Основным циклом для всех циклических конструкций в VHDL является бесконечный цикл.

Бесконечный цикл:

Loop_метка: loop

тело_цикла

end loop Loop_Label;

Тут Loop_метка - метка цикла, может быть пропущена. С помощью меток можно реализовывать вложенные циклы.

Оператор Exit:

Хотя бесконечные циклы применяются на практике, однако очень часто возникает необходимость в циклах, которые заканчиваются при выполнении какого-то условия. Именно для этого и используется оператор exit.

exit loop_метка when булевское_выражение;

Его самая простая форма имеет вид:

exit;

Эта команда прерывает работу текущего цикла и следующим выполняется оператор после этого цикла.

Оператор next:

С помощью него можно перейти к следующей итерации, то есть на начало цикла к оператору loop.

next when булевское_выражение;

Цикл While:

loop_метка: while булевское_выражение loop

послідовність_операторів

end loop;

Этот цикл выполняется пока булевское выражение имеет значение истины (true).

Цикл з параметром (for):

loop_метка: for параметр in диапазон loop

тело_цикла

end loop;

В языке VHDL параметр цикла не нужно объявлять, он появляется и исчезает вместе с циклом. Тип параметра определяется типом изменяемой величины. Если в программе уже присутствует идентификатор, совпадающий с параметром цикла, то в теле цикла такой идентификатор доступен не будет. В теле цикла параметр выступает как константа, его можно только читать, но нельзя изменять.

2. Описание с помощью языка VHDL работы параллельного и последовательного регистров.

Параллельный 8-разрядный регистр имеет:

8-разрядный вход DATA_IN (7 downto 0) типа STD_LOGIC_VECTOR

для передачи данных;

вход синхронизации CLK;

вход разрешения на запись WE;

вход разрешения считывания RE (типу STD_LOGIC).

Кроме того, регистр имеет 8-розрядный выход DATA_OUT (7 downto0)

для вывода данных (типа STD_LOGIC_VECTOR).

Работа регистра должна совершаться таким образом:

1) В состоянии сохранения байта на выходе регистра постоянно удерживается высокий импеданс ("ZZZZZZZZ"). Это даёт возможность организовать работу нескольких регистров на одну шину, так как, согласно таблице перекрывания сигналов, сигнал высокого импеданса имеет самый низкий приоритет.

2) Если WE = '1' и RE = '0', то совершается запись информации в регистр.

3) Если WE = '0' и RE = '1', то на выход регистра подаётся значение байта,

которое сохраняется в этом регистре.

4) Все другие комбинации WE та RE рассматриваются как состояние сохранения байта.

5) Работа регистра должна быть синхронизирована по сигналу CLK.

Последовательный 8-розрядный регистр имеет:

один вход DATA_IN типу STD_LOGIC для ввода информации;

вход синхронизации CLK;

вход разрешения на запись WE;

вход разрешения считывания RE (типу STD_LOGIC).

Кроме того, регистр имеет 8-розрядный выход DATA_OUT (7 downto0)

для параллельного вывода данных (типа STD_LOGIC_VECTOR).

Работа регистра должна совершаться таким образом:

1) В состоянии сохранения байта на выходе регистра постоянно удерживается высокий импеданс ("ZZZZZZZZ").

2) Если WE = '1' і RE = '0', то совершается запись информации в регистр,

при этом сигнал DATA_IN поступает в DATA_OUT(0), значение

DATA_OUT(0) смещается в DATA_OUT(1) и так далее.

3) Если WE = '0' і RE = '1', то на выход регистра подаётся значение байта, которое сохраняется в этом регистре.

4) Все другие комбинации WE та RE рассматриваются как состояние сохранения байта.

5) Работа регистра должна быть синхронизирована по сигналу CLK.

Рекомендации по написанию программы.

1. Для сохранения промежуточной информации целесообразно применять переменные типа STD_LOGIC_VECTOR (7 downto 0).

2. Для обеспечения синхронизации в список чувствительности процессов целесообразно помещать сигнал CLK.

3. Сдвиг в регистре сдвига следует реализовывать с помощью цикла с параметром (for).

4. Эффективнее является сдвиг от старшего (7-го) бита к младшему (1-ому).

Техническое задание к лабораторной работе:

1. Выучить все разделы теоретической части.

2. Разработать VHDL -модель параллельного 8-разрядного регистра.

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

4. Проанализировать на основе полученных временных диаграмм соответствие работы параллельного регистра заданному алгоритму. В случае соответствия перейти к шагу 5.

5. Разработать VHDL -модель 8-разрядного последовательного регистра.

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

7. Проанализировать на основе полученных часовых диаграмм соответствие работы регистра сдвига заданному алгоритму. В случае их соответствия, прейти к шагу 8.

8. Сделать выводы по проделанной работе.

Контрольные вопросы

Опишите работу параллельного регистра.

Опишите работу последовательного регистра.

Перечислите типы циклических операторов в VHDL.

Каким образом в VHDL реализуется цикл с параметром?

Каким образом в VHDL реализуются вложенные циклы?

Сколько времени (модельн.) занимает цикл, в теле которого нет операторов wait?

Требования к отчету

Название и цель выполнения лабораторной работы;

Описание циклических конструкций, которые используются в VHDL;

Тексты VHDL -программ, которые описывают поведение параллельного и последовательного регистров;

Временные диаграммы

Выводы по работе.

Лабораторная работа №5

Тема: Проектирование сканеру клавиатуры с применением диаграмм конечных автоматов для описания объектов в САПР ACTIVE-HDL.

Цель лабораторной работы:

Выучить принцип работы сканера клавиатуры.

Получить навыки проектирования цифровых устройств с помощью конечных автоматов средствами ACTIVE-HDL.

Теоретические сведения:

Принцип действия сканера клавиатуры (СК)

Клавиатура большинства вычислительных устройств смонтирована в виде прямоугольной матрицы (рис. Л7.1), в точках пересечения строк и столбцов которой располагаются кнопочные контакты.

Сканирующее устройство, которое разрабатывается, должно определять номер элемента матрицы, который отвечает нажатой клавише, и выдавать соответствующий ему двоичный код.

СК работает в двух главных режимах:

1. Режим ожидания:

1.1 На все столбцы матрицы клавиатуры (МК), которые обозначены на рис. Л7.1 (С0, С1, С2) подается логическая единица.

1.2 Все строки МК, которые обозначены на рис. Л7.1. (R0, R1, R2) имеют низкий уровень сигнала - логический нуль.

1.3 Уровень сигналов R проверяется с каждым синхронизирующим импульсом CLK и, если один из них изменит свое значение с "0" на "1", то это сигнализирует о нажатии одной из клавиш. При этом СК переходит в следующий режим.

Рис. 5.1 - Функциональная схема сканера клавиатуры

2. Режим сканирования:

2.1. На столбец С0 подается сигнал высокого уровня, а на все другие столбцы - низкого уровня.

2.2. Проверяется уровень сигналов R.

2.3. Если уровень одного из R (например R1) изменится из "низкого" на "высокий", то это значит, что был замкнут контакт, который расположен на пересечении столбца С0 и строки R1. То есть номер элемента МК, которому отвечает нажатая клавиша, найден.

2.4. Сканер передает эту информацию в декодер для формирования соответствующего кода избранной цифры (или операции) и опять переходит к режиму ожидания;

2.5. Если уровень всех строк R остается низким, то пп.2.1,2.2 повторяются последовательно для всех столбцов C0 - С2 до тех пор, пока не будет выполненного условия 2.3.

Техническое задание к лабораторной работе:

1. Ознакомиться с возможностями редактора конечных автоматов (FSM Editor) в Active - HDL.

2. Исходя из основного принципа работы сканера клавиатуры, определить основные состояния устройства и условия перехода от одного состояния к другому (см. Пример). При этом количество клавиш на клавиатуре равняется 15 (0 . 9, '+''-' '/' '*', '=').

3. Определить интерфейс системы (см. Пример).

4. Создать новую диаграмму конечных автоматов (меню File\NewDesign\FSM Diagrame).

5. С помощью New Design Wizard и New Source File Wizard создать новый проект и макет диаграммы конечных автоматов.

6. Составить диаграмму конечных автоматов.

6.1. Используя кнопку рабочей панели FSM State Editor, создать в рабочей области необходимое количество кружков (поз.1, рис. Л7.2) в соответствии с количеством возможных состояний СК (S0, S1.), которые были определены в п.2.

6.2. Используя кнопки рабочей панели FSM State Editor, отобразить с помощью стрелок связки между состояниями (поз.2, рис.Л7. 2);

6.3. Поскольку как в режиме ожидания, так и в режиме сканирования нужно проверять или имеет хотя бы один из сигналов R значения "1", то будет удобно ввести локальный сигнал К(поз.3, рис.Л7. 2) с помощью кнопки рабочей панели FSM State Editor.

6.4. Определить свойства данного объекта (параметры, действия, условия) в соответствии с п.2. Для открытия соответствующего диалогового окна следует навести курсор на условное обозначение нулевого состояния (S0), щелкнуть правой кнопкой мыши и выбрать пункт "Properties" из локального меню.

6.5. Аналогичным способом определить свойства всех других элементов диаграммы (состояний S1 . Sn (поз.4, рис. Л7.2), переходов (поз 5, 6, рис. Л7.2) и локального сигнала К).

6.6. Прибавить источник диаграммы (поз. 7, рис. Л7.2). Для этого надо щелкнуть левой кнопкой мыши за пределами полей страницы и выбрать из локального меню пункт "Properties", определить синхронизирующий сигнал.

7. Последовательным нажатиям кнопок сформировать и отобразить код VHDL, соответственный созданной диаграмме конечных автоматов.

8. Выучить соответствие графических объектов диаграммы и VHDL кода.

9. Скомпилировать устройство и промоделировать его работу.

10.Подготовить отчет по лабораторной работе.

Контрольные вопросы

1. Определение конечных автоматов.

2. Каков порядок формирования нового макета диаграммы конечных автоматов при использовании New Design Wizard и New Source File Wizard?

...

Подобные документы

  • Проектирование цифровых устройств на ПЛИС фирмы Xilinx с применением языка VHDL, использование систем Leonardo Spectrum, Foundation Express и Integrated Synthesis Environment (ISE). Синтез и реализация проекта, разработка регистровой схемы и умножителя.

    курсовая работа [2,3 M], добавлен 28.06.2009

  • Определение принципов работы с САПР Xilinx WebPACK. Особенности проектирования простейших комбинационных схем на базе ПЛИС. Описание устройства на языке VHDL, набор тестовых воздействий и временные диаграммы его работы. Размещение устройства на кристалле.

    лабораторная работа [318,7 K], добавлен 28.05.2012

  • Разработка трехмерной модели судна на уровне эскизного проекта в системе автоматизированного проектирования CATIA v5 R19. Технология и этапы автоматизированного проектирования. Параметризация и декомпозиция судна как сборки. Принципы работы в CATIA.

    методичка [597,5 K], добавлен 21.01.2013

  • История развития логических схем с программируемой и репрограммируемой структурами, рост уровня их интеграции и взаимосвязь между ними. Краткий обзор основных семейств Плис фирмы Xilinx. Детальный обзор архитектур и характеристик серий семейства Spartan.

    контрольная работа [1,2 M], добавлен 13.06.2013

  • Характеристика состава, интерфейса и основных возможностей программы схемотехнического моделирования и проектирования семейства Micro-Cap8, которая относится к наиболее популярным системам автоматизированного проектирования (САПР) электронных устройств.

    реферат [108,0 K], добавлен 12.03.2011

  • Современные семейства ПЛИС фирмы Xilinx, их характеристики и значимость в процессе построения систем цифровой обработки сигналов. Создание базы параметров, фактов и запрещенных комбинаций для решения открытой задачи поискового проектирования модели ПЛИС.

    курсовая работа [3,6 M], добавлен 14.12.2012

  • Основные цели и принципы построения автоматизированного проектирования. Повышение эффективности труда инженеров. Структура специального программного обеспечения САПР в виде иерархии подсистем. Применение методов вариантного проектирования и оптимизации.

    презентация [259,7 K], добавлен 26.11.2014

  • Применение службы каталога Active Directory для решения задач управления ресурсами в сетях под управлением Windows. Обеспечение доступа к базе данных, в которой хранится информация об объектах сети. Логическая и физическая структура Active Directory.

    презентация [207,2 K], добавлен 10.09.2013

  • Структура и классификация систем автоматизированного проектирования. Виды обеспечения САПР. Описание систем тяжелого, среднего и легкого классов. Состав и функциональное назначение программного обеспечения, основные принципы его проектирования в САПР.

    курсовая работа [37,7 K], добавлен 18.07.2012

  • Понятия доменной архитектуры. Модели управления безопасностью. Реализации службы каталогов. Возможности Active Directory. Установка контроллеров домена. Поиск объектов в глобальном каталоге. Использование сайтов, упрощение процессов Active Directory.

    презентация [243,9 K], добавлен 05.12.2013

  • AutoCAD как одна из самых популярных графических систем автоматизированного проектирования, круг выполняемых ею задач и функций. Технология автоматизированного проектирования и методика создания чертежей в системе AutoCAD. Создание и работа с шаблонами.

    лекция [58,9 K], добавлен 21.07.2009

  • Технологии автоматизированного проектирования, автоматизированного производства, автоматизированной разработки и конструирования. Концептуальный проект предполагаемого продукта в форме эскиза или топологического чертежа как результат подпроцесса синтеза.

    реферат [387,2 K], добавлен 01.08.2009

  • Ландшафт, ландшафтные объекты и способы их описания. Основные этапы проектирования. Особенности проектирования ландшафтных объектов. Обоснование необходимости автоматизации процесса проектирования ландшафтных объектов. Разработка АРМ.

    дипломная работа [2,9 M], добавлен 06.12.2006

  • Понятие и функции систем автоматизированного проектирования (САПР), принципы их создания и классификация. Проектирующие и обслуживающие подсистемы САПР. Требования к компонентам программного обеспечения. Этапы автоматизации процессов на предприятии.

    реферат [19,8 K], добавлен 09.09.2015

  • Мова VHDL. Створення проекту для моделювання цифрових і аналогових схем. Синтез і моделювання комбінаційних пристроїв, заданих в табличній формі, за допомогою системи Active-HDL 6.1. Створення ієрархічних структур при проектуванні складних пристроїв.

    реферат [287,3 K], добавлен 14.02.2009

  • Предпосылки внедрения систем автоматизированного проектирования. Условная классификация САПР. Анализ программ, которые позволяют решать инженерные задачи. Система управления жизненным циклом продукта - Product Lifecycle Management, ее преимущества.

    контрольная работа [1,3 M], добавлен 26.09.2010

  • Исследование принципа работы основных логических элементов цифровых устройств. Описания вычислительных машин непрерывного и дискретного действия. Инверсия конъюнкции, дизъюнкции и равнозначности. Разработка программы, реализующей логические операции.

    практическая работа [230,8 K], добавлен 25.03.2015

  • Разработка на программируемой логической интегральной микросхеме арифметико-логического устройства для выполнения операций над числами. Описание его функционирования. Коды команд АЛУ. Реализация действия RS триггера. Структура, тело и работа программы.

    курсовая работа [697,1 K], добавлен 16.12.2014

  • Функциональное описание процесса разработки системы автоматического проектирования цилиндрической емкости. Математическая постановка и программное обеспечение задачи. Алгоритм работы программы и результаты ее работы, анализ использования основных окон.

    курсовая работа [876,0 K], добавлен 20.12.2012

  • Проектирование арифметико-логических устройств (АЛУ). Отладка описания логических схем на языке VHDL. Классификация АЛУ по способу представления чисел, характеру использования элементов и узлов. Список стандартных функций АЛУ, его описание на языке VHDL.

    лабораторная работа [633,4 K], добавлен 11.03.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.