Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3965

.pdf
Скачиваний:
0
Добавлен:
08.01.2021
Размер:
722.18 Кб
Скачать

21

elsif (urs='0' and dw='1' and ucu=,1' and ucd'event and ucd=,1') then if(z(0)='0' and z(1)='0' and z(2)='0' and z(3)='0') then wpd<='1'; end if; z <= z - 1 ; end if;

end process N;

q1<=z(0); q2<=z(1); q3<=z(2); q4<=z(3); end ie7;

1.3. Схема генератора пачки импульсов в ACTIVE-VHDL

Для завершения проекта необходимо синтезировать схему ОА и объеди-

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

Для поиска схемы ОА необходимо для каждой переменной, которая полу-

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

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

В нашем примере имеется единственная переменная СТ, которая получа-

ет значения в результате выполнения операторов алгоритма. В ГСА содержатся две операции с этой переменной: присваивание ей значения с шины данных

(CT=D) и вычитание единицы (СТ=СТ-1). Эти операции могут быть реализова-

ны на вычитающем счетчике со входом параллельной записи данных. Если мы возьмем микросхемы 155-й серии, то точно такого устройства не обнаружим,

но эта серия содержит реверсивный счетчик 155ИЕ7. Модель такого счетчика уже реализована. Он обеспечивает параллельную запись 4-х разрядного двоич-

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

Кроме того в операционном автомате необходимо сформировать сигнал СТ=0 равенства нулю содержимого счетчика - его можно получить на элементе

22

4ИЛИ-НЕ.

При объединении УА и ОА следует обеспечить формирование счетных импульсов (ведь УА формирует только сигнал разрешения вычитания СТМ1, а

не сами счетные импульсы).

Полная схема устройства в обозначениях Active-VHDL приведена на рис.

27. УА на схеме показан на структурном уровне. Сигнал разрешения парал-

лельной записи подается на вход W счетчика через инвертор, так как УА фор-

мирует высокий уровень сигнала (1), а в счетчике активным является низкий уровень (0). Значение СТ0 получаем, объединив выходы счетчика на элементе

4ИЛИ-НЕ. Счетные импульсы формируем на выходе элемента 3И-НЕ. На один из его входов поступает сигнал разрешения вычитания из УА (СТМ1), на вто-

рой тактовые импульсы и на третий - инвертированный сигнал СТО. Послед-

ний запрещает прохождение счетных импульсов на вход счетчика при дости-

жении им состояния 0000, что исключает возможные гоночные ситуации в схе-

ме. Инвертированные счетные импульсы служат выходом генератора - той са-

мой пачкой импульсов, которую необходимо сформировать, на схеме она на-

звана imp.

23

После преобразования схемы в VHDL-текст и ее компиляции выпол-

ним моделирование генератора. Результаты моделирования приведены на

рис. 28.

В счетчик последовательно записывались значения пять, (0101), один

(0001), пятнадцать (1111) и ноль (0000). Затем подавалась команда ПУСК.

Модель устройства правильно отработала все режимы.

Если предполагается реализация управляющего автомата на програм-

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

гистров, а описать на VHDL непосредственно его таблицу переходов и вы-

ходов. Ниже приведены тексты описаний автоматов Мили и Мура для рас-

сматриваемого примера.

Вопросы:

1Создать блоки модели Мура.

2Создать блоки операционной части устройства и протестировать его функ-

ционирование.

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

4Какие из обеспечений САПР задействованы для выполнения задания.

24

Лабораторное занятие 3. Описание автоматов

3.1. Управляющий автомат по структуре Мили

-- File : uagpi_mili.vhd -- Generated

library IEEE; -- Стандартное описание подключаемых библио-

тек use IEEE.STD_LOGIC_1164.all;

-- Объявление элемента, перечисляются его входы и выходы -- Не забудь-

те вход тактирования и начальной установки (в примере входы с и rs) entity uagpi_mili is port(

wd, pusk, ct0, c, rs : in STD_LOGIC; dst, ctm1 : out STD_LOGIC); end uagpi_mili;

--Далее следует описание архитектуры architecture uagpi_mili of uagpi_mili is

type T_st is (s1,s2,s3); -- объявляется перечислимый тип T_st,

--включающий множество имен состояний автомата signal st, next_st :T_st; -- Объявляются внутренние переменные типа T_st -- st -

текущее состояние автомата и -- next_st - состояние перехода begin

NS: process (st,wd, pusk, ct0, c, rs) begin

if (rs=T) then -- Начальная установка автомата: выходы принимают

-- значение 0, автомат устанавливается в состояние si dst<='0'; ctm1<=,0'; st<=s1; next_st<=s1;

-- Далее переходы автомата по фронту тактового импульса elsif ( c'event and c='1') then -- так на VHDL выделяется фронт импульса case st is

-- Переключатель

when s1=> -- Переходы из состояния s1

-- Обратите внимание, что в УА Мили значения -- вы-

ходным переменным присваиваются в момент перехода if (wd=T) then next_st<=s2; dst<='1'; ctm1<='0'; elsif (wd='0' and

25

pusk='0')

then next_st<=s1; dst<='0'; ctm1<='0'; elsif (wd='0' and pusk-1' and ct0='1')

then next_st<=s1; dst<='0'; ctm1<='0'; elsif (wd='0' and pusk-1' and ct0='0')

then next_st<=s3; dst<='0'; ctm1<='1'; end if;

when s2=> -- Переходы из состояния s2 if (wd='1')

then next_st<=s2; dst<='0'; ctm1<='0'; elsif (wd='0') then next_st<=s1; dst<='0'; ctm1<='0';

end if;

when s3=> -- Переходы из состояния s3 if (ct0='0')

then next_st<=s3; dst<='0'; ctm1<='1'; elsif (ct0='1') then next_st<=s1; dst<='0'; ctm1<='0';

end if;

end

case; st<=next_s t; end if; end process

NS; end uagpi_mili;

3.2. Управляющий автомат по структуре Мура

-- Title : gpimr - File : gpimr.vhd --{entity {gpimr} architecture {gpimr}}

 

26

library IEEE;

-- Декларация библиотек

use IEEE.STD_LOGIC_1164.all;

entity uagpi_mura is

-- Объявление портов

port( wd, pusk, ct0, c, rs : in STD_LOGIC; -

- Входы dst, ctml : out STD_LOGIC); -- Выхо-

ды

 

end uagpi_mura;

 

architecture uagpi_mura of uagpi_mura is -- Архитектура

type T_st is (v1,v2,v3,v4);

-- Объявление перечислимого типа, элемен-

тами

-- которого являются имена состояний автомата signal st, next_st :T_st; --

st - имя текущего состояния

 

 

 

-- next_st имя состояния, в которое переходит автомат begin

-- Начала

процесса переходов автома

 

 

 

та

 

 

 

NS: process (st,wd, pusk, ct0, c, rs)

 

begin

 

-- Начала процесса переходов автомата

case st is

-- Переключатель

 

when v 1 =>

-- Если автомат находится в состоянии v1

if (wd—Г) then next_st<=v2; -- Условия переходов автомата из состояния

v1

elsif (wd='0' and pusk='0') then next_st<=v1; elsif (wd='0' and pusk='1'

and ct0='1') then next_st<=v1; elsif (wd='0' and pusk='1' and ct0='0')then next_st<=v4; end if;

when v2=> -- Если автомат находится в состоянии v2

if (wd='1') then next_st<=v3;--Условия переходов автомата из состояния v2

elsif (wd='0') then next_st<=v1; end if;

when v3=> -- Если автомат находится в состоянии v3

if (wd='1')then next_st<=v3; -- Условия переходов автомата из состояния

27

v3

elsif (wd='0') then next_st<=v1; end if;

when v4=>

-- Если автомат находится в состоянии v4

if (ct0='0') then next_st<=v4; -- Условия переходов автомата из состояния

v4

 

elsif (ct0=T) then next_st<=v1;

 

end if; end case;

 

end process NS;

-- Конец процесса переходов автомата

st<=v1 when rs='1' else -- установка в v1 при активном сигнале rs

-- Если нет rs - переход в новое состояние next_st when c'event and c='1' else st; -- по фронту тактового импульса dst<='0' when st=v1 else --

Формирование сигналов на выходе dst '1' when st=v2 else '0' when st=v3 else '0' when st=v4;

ctm1<='0' when st=v1 else -- Формирование сигналов на выхе ctm1 '0' when st=v2 else '0' when st=v3 else '1' when st=v4; end uagpi_mura;

Вопросы:

1Создать управляющий автомат по структуре Мура.

2Создать основные блоки управляющего автомата по структуре Мура

3Создать управляющий автомат по структуре Мили.

4Создать основные блоки управляющего автомата по структуре Мили

5Какие из обеспечений САПР задействованы для выполнения задания.

28

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

Основная литература 1. Основы автоматизированного проектирования [Электронный ресурс]:

доп. УМО по университетскому политехническому образованию в качестве учебника для студентов высших учебных заведений / под ред. А.П. Карпенко.

— М. : ИНФРА-М, 2018. — 329 с., - ЭБС "Знаниум". - http://znanium.com/bookread2.php?book=962578

2. Левицкий А. А. Проектирование микросистем. Программные средства обеспечения САПР [Электронный ресурс] : рек. УМО пообразованию в области радиотехники, электроники и биомедицинской техники и автоматизации в качестве учеб. пособия / А. А. Левицкий, П. С. Маринушкин. - Красноярск : Сиб. федер. ун-т, 2010. – 156 с.- ЭБС "Знаниум".

Дополнительная литература

1.Зольников В. К. Автоматизация проектирования электронной компонентной базы [Электронный ресурс] : электронный учебник / В. К. Зольников, В. В. Лавлинский, В. А. Смерек; ВГЛТА. - Воронеж, 2012. - ЭБС ВГЛТУ.

2.Зольников В. К. Программирование на языке VHDL [Электронный ресурс] : учебное пособие для направления 230200.62 Информационные системы

и230.400.62 Информационные системы и технологии / В. К. Зольников, В. В. Лавлинский, В. А. Смерек; ВГЛТА. - Воронеж, 2013. - ЭБС ВГЛТУ.

 

Редактор Е.А. Попова

Подписано в печать

. . . Формат 60×90 1/16.

Объём п. л.

Усл. печ. л. .

Уч.-изд. л. . Тираж 100 экз.

Заказ

ФГБОУ ВО «Воронежский государственный лесотехнический университет им. Г.Ф. Морозова»

РИО ФГБОУ ВО «ВГЛТУ». 394087. Воронеж, ул. Тимирязева, 8 Отпечатано в УОП ФГБОУ ВО «ВГЛТУ»

394087, Воронеж, ул. Докучаева, 10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]