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

УП ЛР Схемотехника ЭВМ v1

.pdf
Скачиваний:
27
Добавлен:
02.06.2015
Размер:
1.07 Mб
Скачать

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

в) управляющие сигналы Y подаются в ОЧ АЛУ синхронно с сигналом Clk;

г) после снятия управляющих сигналов в ОЧ АЛУ начинают формироваться осведомительные сигналы P; через некоторое время их формирование заканчивается и далее они держатся до начала следующего такта. В течение этого времени управляющий автомат переходит в новое состояние и готовится в формированию управляющих сигналов следующего такта.

Лабораторная установка

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

Драйвер

USB-

 

порт

Программа для ЭВМ

 

ПЭВМ

 

 

 

Мост

 

АЛУ

USB

FT-245

Сигналы

USB

 

ПЛИС

Стенд

 

 

Рисунок 13 –

Интерфейс лабораторной установки

21

Интерфейс работает следующим образом. В программе для ЭВМ пользователь задает значения сигналов, которые требуется подать на вход АЛУ. Эти значения посредством специального протокола передаются по шине USB в микросхему буфера FIFO FT-245, находящуюся на плате стенда. Из буфера данные извлекаются модулем моста USB, который программируется в ПЛИС вместе с АЛУ. Извлеченные данные модуль подает на входы АЛУ. Чтение информации с АЛУ осуществляется подобным же образом.

Таким образом, для работы с предложенным интерфейсом в конфигурацию ПЛИС (в функциональную схему) необходимо включать модуль моста USB. Данный модуль представляет собой набор исходных файлов на языке описания аппаратуры VHDL и файл УГО модуля. Обозначение модуля показано на рисунке 14.

Рисунок 14 – Обозначение USB-моста в САПР Quartus II

Назначение входов и выходов модуля приведено в таблице 3.

Таблица 3 – Назначение входов и выходов модуля моста USB

Наименование Функция сигнала

Входной тактовый сигнал. Может использоваться в

качестве тактового сигнала АЛУ. Рекомендуется подавать CLKIN на этот вход сигнал со скважностью 2 (заполнение 50%) и

частотой не более 1 МГц.

Вход выбора режима работы USB. Высокое значение на этом входе запрещает работу USB. Это необходимо для mode_usb_n перевода стенда в режим программирования ПЛИС (джампер MODE на плате стенда). Этот вход должен быть

подключен к выводу 23 ПЛИС.

22

Продолжение таблицы 3

 

Наименование

 

Функция

сигнала

 

 

 

 

Вход разрешения передачи по шине USB. Низкий уровень

USB_TXEn

разрешает передачу. Должен быть подключен к выводу 42

 

ПЛИС

 

 

Вход разрешения чтения. Низкий уровень говорит о

USB_RXFn

наличии данных в буфере и разрешает их читать. Должен

 

быть подключен к выводу 39 ПЛИС.

 

Вход флага готовности. Служит для отображения

 

состояния флага готовности в программе на ЭВМ.

RDY

Подключается к соответствующему выходу ОЧ АЛУ.

Рекомендуется также подключать к одному из

 

 

светодиодов стенда, чтобы наглядно демонстрировать

 

готовность результата.

ZF

Вход флага нулевого значения результата.

SF

Вход флага знака результата.

CF

Вход флага переноса.

PRS

Вход флага ПРС.

 

Вход флага ошибки при делении на ноль. При отсутствии

DIV0

в АЛУ соответствующего выхода на этот вход подается

 

ноль (GND).

 

Вход результата (32 разряда). К этому входу

 

подключается выход ШиВых АЛУ. Данные, поданные на

BusOut

этот вход, защелкиваются в регистре (входящем в состав

 

USB-моста) по спаду сигнала Z. Далее из регистра данные

 

могут быть переданы в программу на ЭВМ.

 

64 входа осведомительных сигналов. Подключаются к

P

соответствующим выходам ОЧ АЛУ. На неиспользуемые

 

входы следует подать низкий уровень (GND).

 

Выход сигнала готовности операнда. Устанавливается по

X

команде с ЭВМ и держится в течение одного такта (см.

рисунок 12). Подключается к соответствующему входу

 

 

УУ АЛУ.

 

 

Выход режима работы (задается с ЭВМ). Низкий

 

уровень –

пошаговый режим (сигнал CLK изменяется в

Mode

программе

на ЭВМ), высокий уровень – нормальный

 

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

 

вход CLKIN).

 

32-разрядный выход операнда. Соединяется со входом

BusIn

ШиВх ОЧ АЛУ. На этот выход во время действия сигнала

X при высоком уровне сигнала CLK подается операнд (см.

 

 

рисунок 12).

23

Продолжение таблицы 3

 

 

Наименование

 

Функция

 

сигнала

 

 

 

 

 

 

Выход сигнала готовности к приему результата. Результат

Z

должен быть подан на вход BusOut до следующего спада

CLK (см.

рисунок 12). Выход Z

подключается в

 

 

соответствующему входу УУ АЛУ.

 

 

Сигнал общего сброса АЛУ. Формируется в программе

Reset

для ЭВМ. Подключается к соответствующему входу УУ

АЛУ для установки начального состояния управляющего

 

 

автомата.

 

 

 

64 управляющих сигнала. Формируются в программе для

 

ЭВМ. Подаются синхронно с CLK,

поэтому изменять

Yрекомендуется при низком уровне тактового сигнала. Подключаются к соответствующим входам ОЧ АЛУ.

USB_WR

Сигнал записи в очередь FIFO USB. Соединяется с

выводом 98 ПЛИС.

 

USB_RDn

Сигнал чтения очереди FIFO USB. Соединяется с выводом

43 ПЛИС.

 

 

8-разрядная шина данных для обмена с FIFO USB.

USB_Data Разряды 0..7 подключаются к выводам 38, 32, 44, 50, 30,

 

28, 31 ПЛИС.

 

Тактовый сигнал (CLK) для АЛУ. Подключается к

OClk

соответствующему входу УУ АЛУ (если необходимо, то и

к ОЧ АЛУ). Формируется в зависимости от режима (см.

 

 

MODE) либо вручную, либо генератором.

Окно программы для ЭВМ показано на рисунке 15.

В разделе ШиВх задается значение операнда. При этом 32разрядный операнд можно вводить в одном из семи полей ввода в

зависимости от формата операнда:

16сс – операнд в 16-ричной системе счисления. Например, 0ABCDE12 (соответствует двоичному коду 000010101011110011011110

00010010);

10cc – операнд в десятичной системе счисления. Например, 12345

(соответствует двоичному коду 00000000000000000011000000111001); 2сс – операнд в двоичном коде;

ПК – операнд в виде десятичной дроби, представленной в прямом коде. Например, 0,75 (соответствует двоичному коду 0.110000000000

000000000000000000);

ОК – операнд в виде десятичной дроби, представленной в обратном коде. Например, -0,25 (соответствует двоичному коду 1.101111111111

111111111111111111);

24

ДК – операнд в виде десятичной дроби, представленной в дополнительном коде. Например, -0,25 (соответствует двоичному коду

1.1100000000000000000000000000000);

ПЗ – операнд в виде десятичной дроби в экспоненциальной записи. Двоичное представление зависит от настроек формата числа (см. ниже). Например, 1,23E+5 (для настроек по умолчанию – формат S-E-F, мантисса в ДК, порядок в ДК – соответствует двоичному значению 0.00010001.1111

000000111100000000).

Рисунок 15 – Окно программы для ЭВМ

Раздел ШиВых содержит те же семь полей. В них отображается значение, считанное с ШиВых. Чтение значения производится из регистра по нажатию кнопки [Обновить флаги и ШиВых] или автоматически по сбросу сигнала Z.

Переключатель «Режим» предназначен для задания режима тактового сигнала. При выборе режима «Ручной» значение сигнала задается флажком OCLK. В режиме «Генератор» флажок OCLK становится недоступным. В качестве тактового сигнала используется сигнал от генератора, подаваемый на вход CLKIN моста USB.

25

Раздел «Формат числа с ПЗ» позволяет настроить представление чисел с плавающей запятой:

переключатель «Поля» задает порядок полей: S-E-F (1 бит – знак, 8 бит – степень, 23 бита – мантисса) или S-F-E (1 бит – знак, 23 бита – мантисса, 8 бит – степень);

переключатель «Степень» задает представление степени в виде порядка или характеристики;

переключатель «Мантисса» задает формат представления отрицательных мантисс: в ДК, ПК ил ОК.

переключатель «Порядок» задает формат представления

отрицательных порядков: ДК, ПК ил ОК.

Раздел «Управляющие сигналы» включает 64 флажка для задания значений сигналов Y0 – Y63 в ручном (пошаговом) режиме. Нужно помнить, что сигналы выдаются синхронно с тактовым сигналом, поэтому изменять их нужно во время действия низкого уровня на выходе OCLK.

Кнопка [Сбросить все Y] устанавливает низкий уровень на выходах Y0 – Y63.

Раздел «Осведомительные сигналы» содержит 64 флажка,

отражающие текущее состояние сигналов P0 – P63. Состояние флажков обновляется в ручном режиме по спаду сигнала OCLK либо по нажатию кнопки [Обновить осведомительные сигналы].

Раздел «Стробы» позволяет управлять выдачей сигналов Reset (сброс состояния УУ АЛУ), OCLK (тактовый сигнал – только в ручном режиме), X (сигнал из ЦУУ о готовности операнда), Z (запрос из ЦУУ на чтение результата). Состояние флажков X и Z сбрасывается автоматически по следующему спаду OCLK независимо от режима.

Флажки раздела «Флаги» показывают текущее состояние флагов результата выполнения операции в АЛУ. Состояние флажков обновляется по нажатию кнопки [Обновить флаги и ШиВых] или автоматически по сбросу сигнала Z.

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

В соответствии с рисунком на листе схемы размещаются разработанная пользователем ОЧ АЛУ и модуль USB-моста, затем они связываются друг с другом: выход данных АЛУ со входом данных USBмоста (BusOut), вход данных АЛУ с выходом данных USB-моста (BusIn), соответствующие входы-выходы сигналов Y, P, флагов (RDY, ZF, CF, SF, ПРС, DIV0). Если в варианте задания операция деления отсутствует, выход DIV0 в АЛУ не реализуется, а на соответствующий вход USB-моста подается ноль.

26

На вход CLKIN необходимо подать сигнал с частотой не более 1 МГц. Для этого в схему необходимо будет включить делитель частоты (PLL), так как стенд имеет только один встроенный генератор, работающий с частотой 25 МГц.

ШиВх 32

 

DI

 

 

 

BusIn

 

Clk 1MHz

 

P

 

P

 

X

 

 

 

 

U

 

 

 

 

 

 

Z

 

ОЧ АЛУ

 

 

 

Мост USB

 

 

 

 

 

 

 

Y

 

Y

 

Reset

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

USB

USB

 

DO >

FL

 

FL

BusOut

 

 

 

 

 

 

 

 

 

 

 

 

ШиВых 32

Рисунок 16 – Структурная схема АЛУ без УУ

В случае, если АЛУ вырабатывает менее 64 осведомительных сигналов, на неиспользуемые входы P USB-моста подается низкий уровень. Неиспользуемые выходы Y, X, Z, Reset, OCLK, Mode никуда не подключаются.

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

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

Графическое обозначение УУ показано на рисунке 17.

Рисунок 17 – УГО УУ АЛУ

27

Устройство управления имеет следующие входы и выходы:

P – 64 входа осведомительных сигналов;

Reset – вход сброса для установки начального состояния управляющего автомата;

X – вход сигнала от ЦУУ о наличии на ШиВх операнда;

Clk – вход тактового сигнала; рекомендуется подавать тактовый сигнал со скважностью 2 (заполнением 50%) с частотой не более 1 МГц;

Z – вход запроса результата;

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

Y – 64 выхода управляющих сигналов.

Функциональная схема УУ показана на рисунке 18.

 

КУ

7

 

 

 

P0

 

 

 

 

 

P1

 

 

S1

C

 

P2

 

 

ИКУ

 

 

 

 

 

P63

MS

=1

EW

CT

 

 

КУ

 

DI

 

X

 

 

 

 

 

 

Z

 

 

Reset

Rst

 

«0»

 

 

 

 

 

S2

 

 

 

 

 

10

A

 

 

 

 

Rg

 

 

 

 

ПЗУ МПР

 

 

 

81

DO

 

 

0

81

72 71

8

7

6

0

ИКУ КУ

Clk

 

Clk

63

0

 

 

S1

 

 

&

 

 

БФС

10

 

 

 

 

Clk1

 

 

64

 

 

S2

 

 

 

25 МГц

 

Adr

 

 

Y

 

 

 

 

 

 

 

Рисунок 18 – Функциональная схема УУ АЛУ

УУсодержит следующие основные узлы:

ПЗУ МПР – постоянная память микропрограмм; в ней хранится алгоритм работы УУ, представленный в форме микропрограмм;

CT – счетчик микрокоманд; хранит адрес текущей микрокоманды;

MS КУ – мультиплексор кода условия – позволяет выбрать одно из 67 условий перехода;

28

схема поразрядного «И» («&») – предназначена для синхронизации выдачи управляющих сигналов Y с тактовым сигналом Clk (представляет собой 64 двухвходовых элемента «И», на один из входов которых подается сигнал с выхода ПЗУ, на другой вход – сигнал Clk, а с выхода снимается соответствующий сигнал Y);

БФС – блок формирования стробов; предназначен для

формирования двух вспомогательных сигналов S1 и S2. Данное УУ реализует принцип микропрограммного управления.

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

81

72

71

8

7

6

0

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

Набор микроопераций

 

Бит инверсии

 

Код условия

 

(10 бит)

(управляющие сигналы Y)

кода условия

 

(7 бит)

 

 

 

 

 

 

 

Рисунок 19 – Формат микрокоманды

Микрокоманды включает следующие поля:

«Адрес перехода» – 10разрядный адрес (номер) микрокоманды, на которую будет сделан переход после выполнения текущей микрокоманды в случае, если заданное условие перехода будет выполнено;

«Набор микроопераций» – 64разрядное поле, которое определяет, какие сигналы Y будут выданы в ОЧ АЛУ при выполнении текущей микрокоманды (по высокому уровню сигнала CLK); каждому сигналу Y (с Y0 по Y63) соответствует свой бит;

«Бит инверсии кода условия» – предназначен для инвертирования выбранного условия перехода. Если этот бит содержит ноль, то переход производится, если выбранное условие имеет значение «1», в противном случае выполняется микрокоманда со следующим адресом (номером). Если бит инверсии кода условия содержит единицу, то переход по адресу, указанному в первом поле, осуществляется, если выбранное условие имеет значение «0», в противном случае будет выполняться следующая микрокоманда;

«Код условия» – 7- разрядное поле, предназначенное для выбора условия перехода. Коды условий приведены в таблице 4.

29

Таблица 4 – Коды условий перехода

Код

Сигнал

Описание

условия

 

 

0

P0

Переход при истинности сигнала P0

1

P1

Переход при истинности сигнала P1

 

63

P63

Переход при истинности сигнала P63

64

X

Переход при истинности сигнала X

65

Y

Переход при истинности сигнала Y

66

«0»

Нет перехода (выполняется следующая микрокоманда)

Например, для реализации цикла ожидания сигнала X нужно указать код условия 64 и установить бит ИКУ (переход по X=0), а в поле адреса указать адрес текущей микрокоманды. Для перехода к следующей микрокоманде – код 66 и ИКУ=0, а для безусловного перехода по указанному адресу – код 66 и ИКУ=1 (в первом поле указать адрес перехода).

Временная диаграмма работы УУ представлена на рисунке 20.

CLK

S1

260-280 нс

S2

 

 

 

 

 

80 нс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формирова-

Рабо-

ЗП

Чтение сле-

 

 

Выполнение микроопераций в ОЧ АЛУ

ние сигналов

та

(счет)

дующей ми-

 

 

 

P

MS КУ

CT

крокоманды

 

 

 

 

 

 

 

Рисунок 20 – Временная диаграмма работы УУ АЛУ

Во время действия высокого уровня на входе CLK в УУ не происходит никаких изменений. На выход выдаются сигналы Y, заданные в поле микроопераций текущей микрокоманды. После спада CLK операционной части АЛУ дается время для формирования осведомительных сигналов. Затем сформированные сигналы поступают на мультиплексор выбора условия перехода. По коду, заданному последним полем микрокоманды, выбирается одно из условий, при необходимости

30