11
-------------------------------------------------------------------------------
--
-- Title |
: start |
-- Design |
: start |
-- Author |
: User |
-- Company |
: 12 |
-- |
|
-------------------------------------------------------------------------------
--
-- File |
: E:\my_designs\start\start\src\start.vhd |
|
-- Generated |
: Thu Apr 13 10:45:11 2017 |
|
-- |
From |
: interface description file |
-- |
By |
: Itf2Vhdl ver. 1.22 |
--
-------------------------------------------------------------------------------
--
-- Description :
--
-------------------------------------------------------------------------------
--{{ Section below this comment is automatically maintained
--and may be overwritten
--{entity {start} architecture {start}}
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity start is port(
x: in STD_LOGIC;
y: out STD_LOGIC
);
end start;
--}} End of automatically maintained section
architecture start of start is begin
-- enter your statements here -- end start;
12
Опишем элемент «инвертор». В описании вход x, выход y. Функция сум-
матора имеет вид.
Реализуем эту функцию в разделе архитектура. Полный текст модели (ис-
ключена часть комментариев) приведен ниже. Описание функций очевидно и не требует пояснений. Обратите внимание на символ присваивания <=.
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity start is port(
x: in STD_LOGIC;
y: out STD_LOGIC
);
end start;
architecture start of start is begin
y <= not x; end start;
После ввода текста файла нужно выполнить его компиляцию. Компиляция текущего активного файла выполняется кнопкой Compile . Если в проекте не-
сколько VHDL-файлов и необходимо компилировать все, то нажимаете кнопку
Compile All.
Следующим шагом работы с проектом является его моделирование. Пред-
варительно создаем окно (и файл) Waveform кнопкой . После создания окна формируем подмножество переменных для наблюдения в процессе моделирова-
ния. Для этого в окне проекта Design Browser активизируем окно
Structure (кнопки окон проекта в нижней части окна Design Browser). Пе-
ретаскиваем мышью в колонку Name окна Waveform имена переменных, кото-
рые необходимо наблюдать (формируем состав протокола моделирования). На рис. 8 приведен фрагмент окна моделирования. В число наблюдаемых включены вход X и выход Y элемента. Затем необходимо присвоить переменным значения.
13
Это можно сделать в окне Stimulators, которое открывается кнопкой . Вид окна для рассматриваемого примера приведен на рис. 9.
Рисунок 8. Окно Design Browser.
Рисунок 9. Окно формирования (стимуляции) значений переменных. при моделировании Stimulators
Можно задавать значения непосредственно в поле Enter formula. Через за-
пятую вводятся пары: значение сигнала и, через пробел, момент времени. Ввод
14
заканчивается заданием периода повторения формулы. Обязательно указание размерности времени. После задания значений переменных следует задать об-
щее время моделирования в соответствующем окне панели, например 210нС , и
нажать кнопку Run.
Результат моделирования приведен на рис. 10. Показана часть панелей ин-
струментов. Как можно судить по результату, инвертор на уровне функций опи-
сан правильно.
Рисунок 10. Результат моделирования.
Варианты для самостоятельной работы:
1Создать блок И-НЕ и протестировать его функционирование.
2Создать блок И и протестировать его функционирование.
3Создать блок ИЛИ и протестировать его функционирование.
4Создать блок ИЛИ-НЕ и протестировать его функционирование.
5Какие из обеспечений САПР задействованы для выполнения задания.
15
Практическая занятие 2.
Пример проектирования устройства с использованием обеспече-
ний САПР
Будем проектировать устройство формирования пачки импульсов, рас-
смотренное в методических указаниях по формальному синтезу дискретных устройств (11). ГСА работы устройства приведена на рис. 21. На рисунке поме-
чены состояния управляющих автоматов Мили (обозначены как s1, s2 и s3) и
Мура (v1, v2, v3 и v4).
В таб. 1 приведена таблица переходов-выходов автомата Мили.
На ГСА приняты следующие обозначения:
D - четырехразрядная шина данных;
WD = 1 - готовность данных на шине D;
CT = D - команда записи данных в счетчик СТ, в таблице обозначена CTD;
ПУСК - команда на формирование пачки импульсов;
СТ = СТ - 1 команда на вычитание единицы из содержимого счетчика, в
таблице обозначена СТМ1;
СТ = 0 - счетчик СТ = 0000, в таблице обозначено СТО
Рис. 21. ГСА формирования пачки импульсов