Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
22-33.doc
Скачиваний:
32
Добавлен:
18.09.2019
Размер:
2.46 Mб
Скачать

Схемное устройство управления

Устройство управления схемного типа состоит из:

  • датчика сигналов, вырабатывающего последовательность импульсов, равномерно распределенную во времени по своим шинам

(n - общее количество управляющих сигналов, необходимых для выполнения любой операции; m - количество тактов, за которое выполняется самая длинная операция); Датчик сигналов обычно реализуется на основе счетчика с дешифратором или на сдвиговом регистре.

  • блока управления операциями, осуществляющего выработку управляющих сигналов, то есть коммутацию сигналов, поступающих с ДС, в соответствующем такте на нужную управляющую шину;

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

Данная реализация соответствует приведенному ощему описанию:

Верхний DC – дешифратор кода операций;

Нижний DC, CNT, ГТИ (генератор тактовых импульсов), ГОИ (генератор опорных импульсов) – датчик сигналов;

Выделенная пунктиром логика представляет собою блок управления операциями, который вырабатывает управляющие сигналы, которые поступают в операционный блок (ОБ).

Устройство управления с программируемой логикой

Принцип микропрограммного управления.

Управляющий автомат с хранимой в памяти логикой; строится на основе принципа программного управления, использующего операционную и адресную структуру управляющего слова; Алгоритм управления представляется упорядоченной совокупностью управляющих слов. Управляющее слово определяет порядок функционирования устройства и называется микрокомандой (МК).

В 1951 году этот принцип предложил Уилксон.

Свойства:

• простота принципа управления

• возможность изменения алгоритма управления путём изменения содержимого

управляющей памяти

• регулярность структуры УУ, удобство реализации на кристалле

• возможность параллельного изготовления аппаратной и программной части УУ

• возможность использования языков микропрограммирования

• универсальность способов построения УУ

СхФАПМк микрокоманды преобразует код операции команды, присутствующей в данный момент в регистре команд, в начальный адрес микропрограммы, реализующей данную операцию. СхФАМк определяет адрес следующей микрокоманды выполняемой микропрограммы по значению адресной части текущей микрокоманды (Q(t)) и управляющего сигнала из ОБ.

Также (не указано на рисунке) производится запись новой команды в РгК, в случае выполнения последней микропрограммы.

Если управляющая память выполнена как постоянная, то имеет место статическое

микропрограммное управление, а если как ОЗУ – динамическое (мягкое)

у правление.

МК состоит из:

МКК – код микрокоманды

УП – условие перехода

АП – адрес перехода

В ЭВМ используется два способа адресации:

• принудительная - адрес перехода указывается в самой МК

• естественная - адрес следующей команды не указывается (он равен IP++)

------------------------------------------------------------------------------------------------------------

Язык VHDL:

Язык VHDL используется для:

- описания поведения цифровых устройств во времени и при изменении входных воздействий;

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

- моделирования цифровых устройств;

- описания тестовых воздействий при моделировании устройств;

- автоматизации преобразования исходного описания схемы в описание на более низком уровне (вплоть до вентильного уровня).

Стили описания:

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

- структурный стиль описания, при котором устройство представляется в виде иерархии взаимосвязанных простых устройств (подобно стилю, принятому в схемотехнике);

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

Полное VHDL-описание объекта состоит как минимум из двух отдельных описаний: описание интерфейса объекта (внешнее описание) и описание тела объекта (описание архитектуры, внутренне описание - функционирование).

Интерфейс описывается в объявлении объекта entity declaration и определяет входы и выходы объекта, его входные и выходные порты ports и параметры настройки generic. Параметры настройки отражают тот факт, что некоторые объекты могут иметь управляющие входы, с помощью которых может производиться настройка экземпляров объектов в частности, задаться временем задержки.

Тело объекта специфицирует его структуру или поведение. Его описание по терминологии VHDL содержится в описании его архитектуры architecture.

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

Структура программы на VHDL:

<объект проекта>::=

[<описание library>]

[<описание use>]

<объявление объекта>

<тело архитектуры>

[<объявление конфигурации>]

[<описание library>]::= library <идентификатор> {, <идентификатор>};

[<описание use>]::= use <селективное имя> {, <селективное имя> };

<селективное имя>::= <имя1>. <имя2>

<имя>::= <идентификатор> | <символьный литерал> |all

Примеры :

use IEEE.std_logic_arith."-", IEEE.std_logic_arith."+" ;

use IEEE.std_logic_arith.all;

<объявление объекта>::=

entity <идентификатор> is

[generic(<объявление настроечной константы> {; <объявление настроечной константы>});]

[port (<объявление порта> {;<объявление порта>});]

{<объявление в объекте>}

[begin

{<оператор assert> | <пассивный вызов процедуры> | <пассивный процесс> }]

end [entity][<идентификатор>];

<объявление портов объекта>::=

port (<объявление порта> {; <объявление порта>});

<объявление порта>::= <идентификатор>: in|out|inout|buffer|link <тип>

[:=<начальное значение>].

<объявление настроечных констант>::=

generic(<объявление настроечной константы>

{; <объявление настроечной константы>});

<объявление настроечной константы> ::= <идентификатор>:<тип>[:=<начальное значение>]

<тело архитектуры>::=

architecture <идентификатор> of <имя объекта> is

{<объявление в блоке>}

begin

{ <параллельный оператор>}

end [architecture][<идентификатор>];

<Тип>::= TYPE <Идентификатор> IS <Описание типа>;

<Процесс>::=

[<Метка>:][POSTPONED] PROCESS (<Список чувствительности>) [IS]

<Декларативная часть>

BEGIN

<Последовательные операторы>

END [POSTPONED] PROCESS [<Метка>] ;

Пример:

Синтаксис операторов:

Entity entity_name IS

PORT ( port_interface_List)

END ENTITY;

ARHITECTURE atrch_name OF

entity name IS

BEGIN {concurrent. statement}

END ARCHITECTURE arch_name;