Главная страница

МПСиС_Лабораторный практикум. Учебное пособие по курсу Микропроцессорные средства и системы Под редакцией доктора технических наук, доцента


Скачать 15.57 Mb.
НазваниеУчебное пособие по курсу Микропроцессорные средства и системы Под редакцией доктора технических наук, доцента
АнкорМПСиС_Лабораторный практикум.pdf
Дата27.12.2017
Размер15.57 Mb.
Формат файлаpdf
Имя файлаМПСиС_Лабораторный практикум.pdf
ТипУчебное пособие
#13173
страница4 из 4
1   2   3   4
Часть
3. Лабораторный практикум
Лабораторная
работа № 1
Разработка
арифметико-логического устройства
Лабораторное
задание
Необходимо разработать и промоделировать работу 4-разрядного
АЛУ с последовательной и параллельной организацией арифметическо- го переноса. За схемотехническую основу предлагается взять классиче- скую структуру АЛУ.
Процесс выполнения задания можно разделить на следующие этапы:
1) создание в САПР Quartus II;
2) разработка Verilog-описания конфигурируемого сумматора SM;
3) проверка работы сумматора SM в симуляторе;
4) создание примитива (символа) сумматора SM;
5) сборка схемы АЛУ с последовательным переносом;
6) проверка работы АЛУ с последовательным переносом в симуля- торе;
7) разработка HDL-описания схемы ускоренного переноса (СУП) и сборка схемы АЛУ с параллельным переносом;
8) проверка работы АЛУ с параллельным переносом в симуляторе.
Структура
АЛУ
На рис.1 представлена схема 4-разрядного АЛУ с последователь- ной организацией арифметического переноса. Основу данной схемы со- ставляет одноразрядный комбинационный сумматор SM, который изме- няет свою конфигурацию в зависимости от управляющего слова
S
Управляющее слово определяет тип операции (сложение, вычитание и т.д.). Сигнал М (модификатор) обеспечивает разделение арифметиче- ских и логических операций: при
1
M
=
выполняются арифметические операции, при
0
M
=
- логические. P
i
- бит арифметического переноса; а
i
; b i
- разряды операндов A, B; R
i
- разряды результата.

57
Рис.1. Схема АЛУ с последовательной организацией арифметического переноса на примере 4-разрядной секции
За основу работы сумматора SM возьмем выражение
1
i i
0
i
1
i i
i
2
i i
3
i
MP
)
b
S
b
S
(a
)
b a
S
b a
(S
R


+
+

+
=
,
(1) где символы

,
+
означают сложение по модулю 2, логическую опе- рацию ИЛИ соответственно.
Заметим, что 4-разрядное управляющее слово
S
и модификатор М позволяют закодировать 16 логических и 16 арифметических операций; учитывая, что
0
P может принимать два значения, получаем 32 арифме- тические операции. Таким образом, АЛУ с описанной выше структурой может выполнять 48 операций.
В табл.1 приведены командные слова и значения модификатора для четырех основных операций: арифметических сложения и вычита- ния и логических операций И, ИЛИ.
Таблица
1
Командные
слова для основных операций АЛУ
Операция
S
3
S
2
S
1
S
0
M
P
0
Вычитание
0 1
1 0
1 1
Сложение
1 0
0 1
1 0
Или
0 0
0 1
0 x
И
0 1
0 0
0 x
Введем следующие обозначения для подготовительных функций нулевого порядка: i
i
2
i i
3
i b
a
S
b a
S
D


+


=
; b
S
b
S
a
F
i
0
i
1
i i

+

+
=

58
Схема с последовательным переносом используется, когда не тре- буется высокое быстродействие, но предъявляются жесткие требования к аппаратным затратам. В этом случае каждая секция формирует бит переноса
P
F
D
P
1
i i
i i

+
=
(2)
Схема с параллельным переносом обеспечивает более высокое быстродействие, для этого используется следующая совокупность вы- ражений (для 4-разрядного АЛУ):







+
+
+
+
=
+
=
+
+
+
=
+
=
+
+
=
+
=
+
=
F
F
F
F
P
F
F
F
D
F
F
D
F
D
D
F
P
D
P
F
F
F
P
F
F
D
F
D
D
F
P
D
P
F
F
P
F
D
D
F
P
D
P
F
P
D
P
4 3
2 1
0 4
3 2
1 4
3 2
4 3
4 4
3 4
4 3
2 1
0 3
2 1
3 2
3 3
2 3
3 2
1 0
2 1
2 2
1 2
2 1
0 1
1
(3)
Из (3) видно, что каждый из битов переноса зависит только от опе- рандов и нулевого бита переноса, т.е. все они могут вычисляться парал- лельно, за счет этого и достигается увеличение производительности по сравнению с последовательным переносом.
Методические
указания
Создание
проекта в САПР Quartus II c помощью Project Wizard.
1. Выберите пункт меню File→New Project Wizard.
2. В появившемся окне помощника укажите путь, где будут распо- лагаться проект, имена проекта и файла верхнего уровня.
3. Дважды нажмите кнопку Next (пропустите второй этап создания проекта), в появившемся окне выберите Device Family: Cyclone II,
Package: FBGA, Pin Count: 484, Speed Grade: 7, Available Devices:
EP2C20F484C7.
4. Нажмите кнопку Finish.
Разработка
Verilog-описания конфигурируемого сумматора SM.
1. Выберите пункт меню File→New.
2. В появившемся окне выберите Verilog HDL File и нажмите кнопку OK.
3. В основном окне Quartus появилось окно текстового редактора с пу- стым неименованным файлом. Создайте в нем Verilog-описание конфигу- рируемого одноразрядного сумматора SM в соответствии с (1) и (2).

59
На рис.2 приведено объявление модуля SM, где a, b - биты операн- дов; S, M - управляющее слово и модификатор; R, D, F - результат и подготовительные функции; Pin, Pout - входной и выходной бит перено- са соответственно. Поскольку SM - комбинационная схема, данное опи- сание может состоять как из четырех непрерывных присваиваний
(assign), так и из одной или нескольких блочных конструкций always, в которых определяются выходы модуля.
4. Выберите пункт меню File→Save, указав имя файла SM.
Рис.2. Заготовка модуля SM
Проверка
работы сумматора SM в симуляторе.
1. В окне Project Navigator выберите закладку Files и пункт кон- текстного меню (правая кнопка мыши) для файла SM.v Set as Top-Level
Entity (если окно Project Navigator закрыто, то выберите пункт меню
View→Utility Windows→ Project Navigator).
2. Выполните компиляцию проекта, для этого выберите
Processing→Start Compilation.
3. Дождитесь сообщения об успешной компиляции или сообщения об ошибках, в случае появления ошибок откорректируйте HDL- описание и повторите компиляцию.
4. Для проверки устройства в симуляторе необходимо задать вход- ные воздействия и указать, какие выходные сигналы будут контролиро- ваться. Для этого выберите пункт меню File→New, в появившемся окне выберите Vector Waveform File и нажмите кнопку OK.
5. Добавьте необходимые сигналы для построения временных диа- грамм. Это делается с помощью диалога Insert Node or Bus, который по- является после двойного щелчка мышью в любой строке временной диаграммы. Далее нажмите кнопку Node Finder. В окне Node Finder установите Filter: Pins: all и нажмите кнопку List. После этого в списке

60
Node Found отобразятся названия всех портов модуля SM.v, скопируйте их в список Selected Nodes и нажмите кнопку OK. Затем нажмите кноп- ку OK в диалоге Insert Node or Bus.
6. Установите время окончания симуляции 30 мкс с помощью ко- манды Edit→End Time, шаг сетки 1 мкс с помощью команды Edit→Grid
Size. Чтобы отредактировать временную диаграмму требуемого узла, выделите мышью необходимую ее часть (всю диаграмму узла можно выделить, щелкнув мышью в поле Value нужного узла). Далее с помо- щью панели инструментов, расположенной слева в редакторе времен- ных диаграмм, сформируйте необходимые временные диаграммы.
Сохраните файл входных воздействий с именем SM.vwf командой
File →Save.
7. Привяжите созданный файл входных воздействий к модулю
SM.v. Для этого в окне Project Navigator выберите закладку Hierarchy и пункт контекстного меню (правая кнопка мыши) для файла SM.v Set- tings. В появившемся окне выберите категорию Simulator Settings, ука- жите SM.vwf в поле Simulation Input и нажмите кнопку OK.
8. Запустите симулятор командой Processing→Start Simulation.
9. Проанализируйте полученные временные диаграммы, в случае необходимости откорректируйте HDL-описание и файл входных воз- действий и повторите компиляцию проекта и моделирование.
На рис.3 приведены результаты моделирования данной схемы.
Создание
примитива (символа) сумматора SM.
Для использования Verilog-модулей в схемотехническом редакторе необходимо создать их схемотехнический символ. Рассмотрим этот процесс на примере модуля SM.
1. Откройте файл SM.v.
2. Выполните команду File→Create/Update→Create Symbol Files for
Current File.
3. Дождитесь сообщения об успешном создании символа.
Сборка
схемы АЛУ с последовательным переносом.
1. Выберите пункт меню File→New.
2.
В появившемся окне выберите Block Diagram/Schematic File и нажмите кнопку OK.
3. В основном окне Quartus появилось окно схемотехнического ре- дактора с пустым неименованным файлом, в котором нужно собрать схему АЛУ с последовательной организацией переноса (рис.4).

61

62

63 4. Введите элемент SM. Для этого щелкните два раза левой кнопкой мыши в пустом пространстве схемотехнического редактора. Появившийся диалог Symbol позволяет добавлять примитивы в файл графического ре- дактора. Поле Name содержит имя добавляемого примитива, в списке
Libraries перечислены каталоги, содержащие библиотеки примитивов
Quartus. Выберите примитив SM из папки Project и нажмите кнопку OK.
5. Введите остальные три элемента SM (см. предыдущий пункт).
6. Введите входные и выходные контакты, которые обозначают входы и выходы схемы. Входные и выходные контакты вводятся так же, как и остальные примитивы. Имя примитива для входного контакта - input, для выходного - output. Для того чтобы добавить контакт, щелкните два раза левой кнопкой мыши в пустом пространстве схемотехнического редактора и введите в поле Name имя входного (input) или выходного (output) контак- та. Всем контактам назначается имя по умолчанию - pin_name.
7. Разместите элементы на экране в удобной для соединения по- следовательности.
8. Назначьте имена входным и выходным контактам.
9. Соедините элементы в соответствии со схемой. Для того чтобы проложить соединение, подведите курсор мыши к выходу или входу элемента. При этом курсор изменит свой вид на перекрестие. Далее нажмите левую кнопку мыши, переместите мышь к концу предполагае- мого соединения и отпустите мышь.
10. Сохраните схему с именем ALU_SerialCarry.bdf командой
File→Save.
11. В окне Project Navigator выберите закладку Files и пункт кон- текстного меню (правая кнопка мыши) для файла ALU_SerialCarry.bdf
Set as Top-Level Entity.
12. Скомпилируйте проект командой Processing→Start Compilation.
13. Дождитесь сообщения об успешной компиляции или сообще- ния об ошибках. В случае появления ошибок откорректируйте схему и повторите компиляцию.
14. Создайте примитив ALU_SerialCarry.
Проверка
работы АЛУ с последовательным переносом в симу-
ляторе
.
Для моделирования АЛУ необходимо создать файл входных воз- действий и связать его с файлом ALU_SerialCarry.bdf. Аналогичные действия выполнялись при моделировании модуля SM.
На рис.5 приведены результаты моделирования, иллюстрирующие работу АЛУ при выполнении четырех основных операций. Проанализи- руйте полученные временные диаграммы, в случае необходимости от- корректируйте схему АЛУ и файл входных воздействий и повторите компиляцию проекта и моделирование.

64

65
Разработка
HDL-описания СУП, сборка схемы АЛУ с парал-
лельным
переносом.
1. Создайте новый проект ALU_ParallelCarry.qpf.
2. Добавьте в проект Verilog-описание СУП FCU.v, объявление мо- дуля приведено на рис.6.
Рис.6. Заготовка Verilog-описания СУП
3. Скомпилируйте проект и создайте примитив FCU.
4. Добавьте в проект новый файл схемотехнического редактора, соберите в нем схему АЛУ с параллельным арифметическим переносом и сохраните под именем ALU_ParallelCarry.bdf (рис.7).
5. Создайте файл ALU_ParallelCarry.bdf файлом верхнего уровня в проекте, скомпилируйте и при необходимости откорректируйте модуль
FCU и схему АЛУ.
6. Выполните моделирование схемы аналогично моделированию
АЛУ с последовательным переносом.
7. Создайте примитив ALU_ParallelCarry.
8. Сравните быстродействие схем с последовательным и парал- лельным переносом.
Требования
к отчету
В качестве отчета о выполнении лабораторной работы вы должны представить проект Quartus, содержащий схемы, Verilog-описания, те- стовые воздействия и результаты моделирования схем АЛУ с последо- вательной и параллельной организацией арифметического переноса. По результатам моделирования должны быть сделаны выводы о быстро- действии схем с различной организацией арифметического переноса.

66

67
Лабораторная
работа № 2
Разработка
регистрового
арифметико
-логического устройства
Лабораторное
задание
Необходимо разработать Verilog-описание и промоделировать ра- боту 4-битного разрядно-модульного регистрового АЛУ (РАЛУ).
Процесс выполнения задания можно разделить на следующие этапы:
1) создание проекта в САПР Quartus II;
2) разработка Verilog-описания РАЛУ с использованием созданной ранее схемы АЛУ с последовательной организацией арифметического переноса;
3) проверка работы РАЛУ в симуляторе;
4) создание примитива (символа) РАЛУ;
5) выполнение индивидуального задания.
Структура
разрядно-модульного РАЛУ
Основу структуры разрядно-модульного РАЛУ (рис.1) составляет комбинационная схема АЛУ, на вход которой подаются два операнда, представляющие собой содержимое регистра A (RgA) и регистра B (RgB).
Рис.1. Схема разрядно-модульного РАЛУ

68
Регистр A имеет два режима (записи и чтения) и способен прини- мать данные как из блока РОН, так и от внешних устройств (ВУ), что реализуется с помощью мультиплексора.
Регистр B имеет четыре режима (записи, чтения, сдвига влево и сдвига вправо) и принимает данные только из блока РОН. Результат операции может быть записан в блок РОН, информация с выхода АЛУ также попадает к ВУ.
Определим состав и назначение управляющих сигналов для данной структуры РАЛУ.
Сигналы wr, v
0
предназначены для управления режимами чте- ния/записи блока РОН и регистра A: 0 - чтение информации; 1 - запись.
Мультиплексор управляется сигналом A: при A = 0 на вход реги- стра A подаются данные из блока РОН, при A = 1 - от ВУ (шина DataIn).
Регистр B в данной схеме принимает данные только из блока РОН.
Блок РОН представляет собой синхронное ОЗУ статического типа, содержащее набор регистров. Для выбора нужного регистра использу- ются линии адреса adr.
Для выбора режима работы регистра B используется пара управ- ляющих сигналов:
{
}







=
запись.
-
11
вправо;
сдвиг
-
10
влево;
сдвиг
-
01
чтение;
-
00
v
,
v
1 2
При сдвигах применяются две пары сигналов:
ISR - значение разряда, подаваемого на вход регистра при сдвиге вправо;
ISL - значение разряда, подаваемого на вход регистра при сдвиге влево;
OSR - значение разряда, появляющееся на выходе регистра при сдвиге вправо;
OSL - значение разряда, появляющееся на выходе регистра при сдвиге влево.
При выполнении арифметических операций используются бит пе- реноса из предыдущей секции РАЛУ P
0
, бит переноса в следующую секцию P
4

69
Все описанные сигналы можно разделить на три категории: ин- формационные, управляющие и сигналы синхронизации.
Информационные сигналы: шина от ВУ, P
0
, ISL, ISR (входные), шина к ВУ, P
4
, OSR, OSL (выходные).
Сигналы управления: v
0
, v
1
, v
2
, wr, adr, M, S.
Сигнал синхронизации: clk.
Рассмотрим примеры формирования микрокоманд и микропрограмм для приведенной ранее структуры РАЛУ (табл.1).
Состояние сигналов, не влияющих на выполнение текущей операции, будем обозначать символом «Х».
Пример
1. Передача содержимого регистра A в блок РОН с
адресом
А
к
. В этом случае
АЛУ не выполняет преобразований данных, вместо этого происходит трансляция операнда A на выход комбинаци- онной схемы. Это действие обеспечивается выполнением логической операции, задаваемой управляющим кодом S
3
= 0, S
2
= 0, S
1
= 0, S
0
= 0.
Значение бита переноса из предыдущей секции не влияет на результат.
Все регистры, не задействованные в данной операции, должны хранить свое текущее значение, поэтому v
0
= v
1
= v
2
= 0. На управляющие входы блока РОН подаем адрес А
к и сигнал записи wr = 1. Состояние сигнала, управляющего мультиплексором, не оказывает влияния на результат, поскольку для выполнения данной операции неважно входное значение регистра 1.
Пример
2. Выполнение арифметических или логических опера-
ций
над содержимым регистров A и B с размещением результата в
блоке
РОН с адресом А
к
. Регистры A и B находятся в режиме чтения v
0
= v
1
= v
2
= 0. Блок РОН находится в режиме записи wr = 1. Запись в блок РОН осуществляется по адресу А
к
, поэтому adr = А
к
. Сигналы S,
M, P
0
задают тип выполняемой операции. Состояние сигнала, управля- ющего мультиплексором, не оказывает влияния на результат.
Пример
3. Передача информации от ВУ в регистр A. В этой опе- рации активными являются регистр A и мультиплексор: v
0
= 1, A
= 1.
Сигналы управления АЛУ не влияют на результат. Все элементы памя- ти, кроме регистра A, находятся в режиме чтения w/r
= v
1
= v
2
= 0.
Пример
4. Запись информации из блока РОН с адресом А
к
в реги-
стры
A и B. Эта операция аналогична предыдущей, за исключением режима мультиплексора и регистра B: A
= 0, v
1
= v
2
= 1.

7 0
Таблица
1
Примеры
формирования микрокоманд и микропрограмм для разрядно-модульного РАЛУ
P
0
X
P
0
X
X
X
X
0 v
2 0
0 0
1 0
1 0 v
1 0
0 0
1 0
1 1 v
0 0
0 1
1 1
0 0
M
0
M
X
X
X
X
1
S
0 0
S
0
X
X
X
X
1
S
1 0
S
1
X
X
X
X
0
S
2 0
S
2
X
X
X
X
0
S
3 0
S
3
X
X
X
X
1 wr
1 1
0 0
0 0
1
А
X
X
1 0
0
X
X adr
А
к
А
к
X
А
к
А
n
А
m
А
к
Обозначение
RgA

РОН(А
к
)
RgA [S;M;P
0
]
RgB

РОН(А
к
)
ВУ

RgA
РОН(А
к
)

RgA,
RgВ
РОН(А
n
)

RgA
РОН(А
m
)

RgB
RgA + RgB

РОН(А
к
)
Операция
Передача содержимого регистра A в блок РОН с адресом А
к
Выполнение арифметических или логических операций над содержимым регистров A и B с размещением результата в блоке РОН с адресом А
к
Передача данных от
ВУ в регистр A
Запись данных из блока РОН с адресом А
к в регистры A и B
Сложение содержимого блока
РОН с адресами А
n и A
m с размещением результата в блоке
РОН с адресом А
к
Пример
1 2
3 4
5

71
Пример
5. Сложение содержимого блока РОН с адресами А
n
и
A
m
с размещением результата в блоке РОН с адресом А
к
. Для выпол- нения этой операции необходимо составить микропрограмму из трех микрокоманд, выполняющих следующие действия: размещение первого операнда в регистре A, размещение второго операнда в регистре B, вы- полнение операции сложения с сохранением результата в блоке РОН.
Анализ приведенных примеров показывает, что при составлении микрокоманд и микропрограмм необходимо следовать основному правилу: содержимое регистров, не участвующих в выполнении микрокоманды, должно быть сохранено или восстановлено без искажения данных.
Пример
проектирования
Рассмотрим процесс создания Verilog-описания РАЛУ. Из схемы
РАЛУ (см. рис.1) видно, что ее Verilog-описание должно состоять из подключения ранее разработанного комбинационного модуля АЛУ, описания блока РОН, двух регистров и мультиплексора.
Для реализации регистров используйте конструкцию always. При- мер ее применения приведен при описании D-триггера по переднему фронту с синхронным сбросом и установкой (см. раздел 1.3, пример 14).
Описание мультиплексора можно совместить с описанием реги- стра A в одной конструкции always с помощью условной конструкции
(? :). (см. раздел 1.3, пример 12).
Для реализации блока РОН используйте массив регистров и кон- струкцию always. В качестве образца можно использовать описание синхронного 8-разрядного ОЗУ на 256 элементов (см. раздел 1.4).
На рис.2 представлена заготовка Verilog-описания c подключенным модулем АЛУ и рекомендуемым описанием портов модуля РАЛУ, где:
• clk - тактовый сигнал;
• reset - сигнал сброса регистров схемы в нулевое состояние;
• DataIn, R - шины от ВУ и к ВУ;
• S, M - управляющее слово и модификатор;
• A - сигнал управления мультиплексором;
• v - сигнал управления режимами чтения/записи регистров A и B;
• wr - сигнал управления режимами чтения/записи блока РОН;
• adr - 3-разрядная шина адреса блока РОН, т.е. блок содержит во- семь 4-разрядных регистров;

72
• ISL, ISR - значение бита, подаваемого на вход второго регистра при сдвиге влево и вправо соответственно;
• OSL, OSR - значение бита, снимаемого с выхода второго регистра при сдвиге влево и вправо соответственно;
• P
4
- выходной бит переноса.
Рис.2. Заготовка Verilog-описания модуля РАЛУ
На рис.3 представлены результаты моделирования работы РАЛУ.
В данном примере последовательно производится запись в блок РОН чисел 4, 6, 3, 2 по адресам 0, 1, 2, 3 соответственно. Далее выполняются операции сложения содержимого блока РОН с адресами 0, 2 и 1, 3. Ре- зультаты записываются в блок РОН по адресам 0 и 1. Все регистры схе- мы фиксируют данные и сигналы управления по переднему фронту так- тового сигнала clk.

73

74
В табл.2 приведено потактовое описание временной диаграммы, представленной на рис.3. Видно, что данный пример требует последова- тельного выполнения 12-ти микрокоманд. Обратите внимание, что дей- ствия, выполняемые некоторыми блоками схемы АЛУ, можно совме- щать в одной микрокоманде. Так, на тактах 3 - 5 совмещаются записи данных в регистр A и блок РОН или на тактах 9, 12 совмещаются ариф- метическая операция сложения и запись результата в блок РОН.
Таблица
2
Описание
временной диаграммы
Номер такта
Описание
1
Сигнал reset находится в активном состоянии, все регистры обнуляются
2
Данные с шины DataIn (4) записываются в регистр A (v
0
= 1) и появ- ляются на выходе АЛУ, что обеспечивается управляющим словом
S
3
= S
2
= S
1
= S
0
= 0 3
Данные с шины DataIn (6) и выхода АЛУ записываются в регистр A
(A = 1, v
0
= 1) и блок РОН по адресу 0 (wr = 1, adr = 0) соответственно
4
Данные с шины DataIn (3) и выхода АЛУ записываются в регистр A
(A = 1, v
0
= 1) и блок РОН по адресу 1 (wr = 1, adr = 1) соответственно
5
Данные с шины DataIn (2) и выхода АЛУ записываются в регистр A
(A = 1, v
0
= 1) и блок РОН по адресу 2 (wr = 1, adr = 2) соответственно
6
Данные с выхода АЛУ записываются в ячейку блока РОН по адресу 3
(wr = 1, adr = 3)
7
Данные из блока РОН с адресом 0 записываются в регистр A
(A = 0, v
0
= 1, adr = 0, wr = 0)
8
Данные из блока РОН с адресом 2 записываются в регистр B
(A = 0, v
1
= v
2
= 1, adr = 2, wr = 0)
9
Выполняется операция арифметического сложения содержимого реги- стров A и B c записью результата в блок РОН по адресу 0
(S
3
= 1, S
2
= 0, S
1
= 0, S
0
= 1, M = 1, P
0
= 1, adr = 0, wr = 1)
10
Данные из блока РОН с адресом 0 записываются в регистр A
(A = 0, v
0
= 1, adr = 1, wr = 0)
11
Данные из блока РОН с адресом 2 записываются в регистр B
(A = 0, v
1
= v
2
= 1, adr = 3, wr = 0)
12
Выполняется операция арифметического сложения содержимого реги- стров A и B c записью результата в блок РОН по адресу 1
(S
3
= 1, S
2
= 0, S
1
= 0, S
0
= 1, M = 1, P
0
= 1, adr = 1, wr = 1)

75
Рассмотренный пример функционирования РАЛУ показывает, что выполнение команд в операционных устройствах процессора можно представить в виде следующей последовательности действий:
1) размещение операндов на входах операционного устройства;
2) выполнение операции в операционном устройстве;
3) запись результата операции в элемент памяти.
Каждое действие в приведенной последовательности невозможно разделить на более простые подоперации. Такие элементарные преобра- зования, не разложимые на более простые и выполняющиеся в течение одного такта сигнала синхронизации, называют микрооперациями, или микрокомандами.
Для выполнения пункта 3 лабораторного задания (проверка работы
РАЛУ в симуляторе) повторите результаты моделирования, приведен- ные на рис.3, считайте результаты сложений из блока РОН и запишите их в регистры A и B соответственно. Таким образом, ваша временная диаграмма должна дополниться еще двумя полезными тактами (общее количество тактов равно 14).
Индивидуальное
задание
В качестве индивидуального задания предлагается промоделиро- вать работу РАЛУ при выполнении конкретной микропрограммы.
В табл.3 приведены варианты операций, которые необходимо предста- вить в виде микропрограммы. Операнды A и B последовательно считы- ваются с шины DataInput.
Требования
к отчету
В качестве отчета о выполнении лабораторной работы вы должны представить проект Quartus, содержащий схемы, Verilog-описания, те- стовые воздействия и результаты моделирования схемы РАЛУ.
Полученные временные диаграммы должны отражать действия в соответствии с примером (см. рис.3, табл.2), дополненные операциями записи результатов в регистры A и B. Помимо этого вы должны постро- ить временные диаграммы, иллюстрирующие выполнение одного из ва- риантов индивидуального задания, представленных в табл.3.

76
Таблица
3
Варианты
операций для индивидуального задания

Операция

Операция
1
(
)
A
B
A

+
16
(
)
B
B
A
A


+
2
( )
A
B
A

+
17
(
)
B
1
A


3
( )
A
B
A


18
(
)
B)
(A
B
A


+
4
(
)
B
B
A

+
19
(
)
A
B
A
B
A


+

5
(
)
B
B
A
+

20
(
)
B
1
A


6
(
)
B
1
B
A

+
+
21
(
)
A
1)
(B
A

>>

7
( )
B
B
A
+

22
(
)
B
1 2)
(B
A

+
<<
+
8
(
)
B)
(A
B
A


+
23
(
)
A
B
1)
(A


<<
9
(
)
A
B
A
B
A


+

24
(
)
1))
(B
(A
B
A
>>


+
10
(
)
B
1
A


25
( )
(
)
B
A
B
A



11
(
)
A
1)
(B
A

<<
+
26
(
)
B
B
A
A


+
12
(
)
B)
(A
B
1)
(A


+
<<
27
(
)
1)
(B
1
A
>>


13
( )
2)
(A
B
A
>>


28
(
)
B)
(A
B
A


+
14
(
)
3)
(A
B
A
<<

+
29
(
)
A
B
A
B
A


+

15
( )
(
)
B
A
B
A



30
( )
B
B
A


Лабораторная
работа № 3
Разработка
вычислительного устройства
с
микропрограммным управлением
Лабораторное
задание
Необходимо реализовать вычислительное устройство с микропро- граммным управлением на основе созданного ранее РАЛУ с разрядно- модульной организацией и вновь разработанного устройства микропро- граммного управления (УМУ).

77
УМУ должно обеспечивать последовательное выполнение микро- команд, в том числе условного и безусловного перехода. Микрокоман- ды условного перехода должны выполняться по результату анализа флагов переполнения и нулевого результата от РАЛУ. Описание схемы устройства управления необходимо выполнить на Verilog HDL, струк- туру всего устройства с микропрограммным управлением можно пред- ставить в виде схемы.
Следует разработать две микропрограммы, отличающиеся типами используемых переходов (безусловный и условный). Обе программы должны вычислять выражение из табл.3 лабораторной работы № 2, со- ответствующее вашему варианту.
Первая
микропрограмма:
- по шине DataInput считывается пара операндов A и B;
- вычисляется выражение из табл.3 лабораторной работы № 2;
- с помощью команды безусловного перехода начинается исполне- ние микропрограммы сначала.
Вторая
микропрограмма:
- по шине DataInput считывается константа C, а также пара операн- дов A и B;
- вычисляется выражение из табл.3 лабораторной работы № 2;
- сравниваются результат вычислений R и константа C, для чего из результата R вычитается константа C;
- выполняется микрокоманда условного перехода, устройство либо вновь переходит к считыванию константы C в случае выполняемого пе- рехода, либо переходит к повторному вводу операндов в случае невы- полняемого перехода.
Условный переход считается выполняемым, если заданное в табл.1 отношение R и С выполняется, например, R = C для вариантов 21 - 25.
Обратите внимание, что схема устройства с микропрограммным управ- лением должна обеспечивать выполнение любого условия или комби- нации условий из табл.1.
Таблица
1
Варианты
индивидуального задания
Варианты
1 - 5 6 - 10 11 - 15 16 - 20 21 - 25 26 - 30
Условие
Не равно Больше Меньше
Равно
Больше либо равно
Меньше либо равно

78
Структура
устройства
микропрограммного
управления
Обобщенная структура УМУ представлена на рис.1 и состоит из устройства формирования адреса (УФА), управляющей памяти, реги- стра микрокоманд и дешифратора.
Рис.1. Обобщенная структура УМУ
УФА вырабатывает адрес следующей микрокоманды в зависимо- сти от текущей микрокоманды и флагов, поступающих от РАЛУ. Коды микрокоманд хранятся в управляющей памяти и на каждом такте син- хронизации подаются в регистр микрокоманд. Микрокоманда состоит из двух частей - операционной, в ней содержатся управляющие сигна- лы, и адресной, которая поступает в УФА для управления загрузкой следующей микрокоманды (рис.2). Дешифратор преобразует операци- онную часть микрокоманды в управляющие сигналы.
Отметим, что в простейшем случае УМУ может состоять только из
УФА и управляющей памяти. При этом управляющие сигналы содер- жатся в микрокоманде в явном виде и подаются на все блоки непосред- ственно с выхода управляющей памяти.

79
Рис.2. Структура микрокоманды
УМУ можно классифицировать по нескольким признакам. Один из них - по способу представления операционной части микрокоманды. По этому признаку существует разделение на три типа микропрограммиро- вания: горизонтальное, вертикальное и смешанное.
При горизонтальном микропрограммировании (рис.3) каждому разряду операционной части соответствует один определенный управ- ляющий сигнал из набора Y. Если N - количество управляющих сигна- лов, которые необходимо реализовать, то разрядность операционной ча- сти регистра будет также равна
N.
Для этого типа микропрограммирования характерна очень большая разрядность управ- ляющей памяти и, соответственно, большой объем микрокода. В то же время такая реализация проще со схемотехнической точки зрения.
Операционная часть микрокоманды
Y
1
Y
N
Рис.3. Горизонтальное микропрограммирование
При вертикальном микропрограммировании (рис.4) операционная часть управляющего слова хранится в памяти в закодированном виде и подвергается дешифрации перед подачей в операционные устройства микропроцессора. Достоинством такого подхода является уменьшение требований к объему памяти для микрокода. При этом сложность мик- ропроцессора увеличивается, а быстродействие уменьшается в связи с появлением дополнительных комбинационных схем - дешифраторов.

80
Дешифратор
Y
1
Y
N
Операционная часть микрокоманды
Рис.4. Вертикальное микропрограммирование
Смешанное микропрограммирование (рис.5) сочетает достоинства го- ризонтального и вертикального. При этом набор управляющих сигналов Y разбивается на некоторое количество поднаборов. Каждый из этих под- наборов управляет отдельным операционным устройством либо редко ис- пользующимися совместно устройствами. Далее на каждый поднабор уста- навливается свой дешифратор. Как результат, уменьшается объем микрокода вследствие некоторого допустимого усложнения схемы УМУ.
Рис.5. Смешанное микропрограммирование
Развитие технологий производства микросхем, удешевление изго- товления внутренней памяти, а также необходимость увеличения частот микропроцессора привели к тому, что в настоящее время вертикальное

81
микропрограммирование практически не используется и вытеснено го- ризонтальным или смешанным.
Другой распространенный признак классификации УМУ - по спо- собу формирования адреса следующей микрокоманды. Различают УМУ с принудительной адресацией и с естественной.
В УМУ с принудительной адресацией (рис.6) каждая микрокоман- да содержит адресную часть, которая управляет порядком следования микрокоманд. Адресная часть содержит поле логических условий U’, которое является маской для набора внешних логических условий U
(флаги от РАЛУ), и два поля адреса A
0
и A
1
следующей микрокоманды.
Поле U’ совместно с флагами от РАЛУ управляет мультиплексором вы- бора адреса следующей микрокоманды. На мультиплексор будет подана единица, только если в позиции соответствующих коду условий будет единица и при этом условие было выполнено. В таком случае выполня- ется ветвление, и в регистр адреса будет загружен A
1
. Если условие не выполнено, то ветвления нет, и используется поле A
0
Рис.6. Схема УМУ с принудительной адресацией

82
В УМУ с естественной адресацией (рис.7) в УФА используется инкрементирующий счетчик адреса следующей микрокоманды. Если признак P, содержащийся в микрокоманде, равен нулю, то линейный порядок следования микрокоманд не изменяется, и адрес просто инкре- ментируется в счетчике. Если P равен единице, то операционная часть микрокоманды выступает в роли нового адреса, который загружается в счетчик. Таким образом реализуется механизм ветвлений.
Рис.7. Схема УМУ с естественной адресацией
Пример
проектирования
На рис.8 приведен пример структуры вычислительного устройства с микропрограммным управлением, которая состоит из известной схемы
РАЛУ, устройства микропрограммного управления, двух триггеров и логических элементов. Все элементы памяти (регистры и триггеры) так- тируются и сбрасываются сигналами clk и reset соответственно.

83

84
УМУ построено с использованием горизонтального микропро- граммирования и естественной адресации микрокоманд. УМУ форми- рует все необходимые для РАЛУ сигналы управления в зависимости от текущей микрокоманды и флагов. Микропрограмма хранится в ПЗУ, входящем в состав УМУ.
Логический элемент ИЛИ-НЕ на четыре входа и два триггера ис- пользуются для формирования флагов переполнения (CarryFlag) и нуле- вого результата (ZeroFlag). Триггеры необходимы для синхронизации работы РАЛУ и УМУ таким образом, чтобы при выполнении команды условного перехода УМУ анализировало флаги, соответствующие предыдущей операции.
Для реализации команд условных и безусловных переходов ис- пользуются комбинации флагов, приведенные в табл.2. Указанные ком- бинации передаются в микрокоманде с помощью кода перехода. Нуле- вой код перехода соответствует обычной команде без функции управления программой. Адрес выполняемого перехода содержится в младших разрядах микрокоманды, т.е. в битах adr[2:0] и v[3:0]. При этом на все управляющие сигналы УМУ выдает неактивные уровни.
Таблица
2
Реализация
команд переходов
Условие перехода
Состояние флагов
Код перехода
Не равно
ZeroFlag = 0 001
Больше
CarryFlag = 1 и ZeroFlag = 0 010
Меньше
CarryFlag = 0 и ZeroFlag = 0 011
Равно
ZeroFlag = 1 100
Больше либо равно
CarryFlag = 1 или ZeroFlag = 1 101
Меньше либо равно
CarryFlag = 0 или ZeroFlag = 1 110
Безусловный переход
Любое
111
В данном устройстве реализованы команды обращения к внешним портам на чтение и запись. Для этого формируются сигналы PortRead,
PortWrite, PortID.
Сигнал PortRead - это результат логического умножения сигнала записи в первый регистр РАЛУ и сигнала управления мультиплексором.
Таким образом, логическая «1» в сигнале PortRead появляется, когда

85
в микрокоманде установлены в «1» биты v[0] и A, т.е. производится за- пись данных из внешнего устройства в первый регистр РАЛУ.
Сигналы PortWrite и PortID содержатся непосредственно в микро- команде, причем шина PortID совмещена с шиной адреса блока РОН.
На рис.9 представлены результаты моделирования вычислительно- го устройства с микропрограммным управлением, выполняющего мик- ропрограмму, приведенную в табл.3. Данная программа состоит из семи микрокоманд. Выполняются последовательное считывание двух опе- рандов с шины DataIn, операция сложения этих операндов и безуслов- ный переход на нулевой адрес, т.е. выполняется бесконечный цикл.
Описание части временной диаграммы, соответствующей второй итера- ции цикла, представлено в табл.4.
Рис.9. Результаты моделирования вычислительного устройства с микропрограммным управлением
Вы можете предложить и реализовать свою структуру устройства управления.
Требования
к отчету
В качестве отчета о выполнении лабораторной работы вы должны представить проект Quartus, содержащий схемы, Verilog-описания, те- стовые воздействия и результаты моделирования схемы устройства с микропрограммным управлением, выполняющей один из вариантов ин- дивидуального задания. Ваше устройство должно выполнять все коман- ды переходов, заданные в табл.2.

8 6
Таблица
3
Пример
микропрограммы
Микрокоманда v[3:0]
0001 0001 0000 0110 0001 0000 0000 adr[2:0]
000 000 001 000 001 000 000 wr
0 1
1 0
0 0
0
A
1 1
0 0
0 0
0
ISR,
ISL
00 00 00 00 00 00 00
P
0 0
0 0
0 0
0 0
M
0 0
0 0
0 1
0
S[3:0]
0000 0000 0000 0000 0000 1001 0000
Код перехода
000 000 000 000 000 000 111
Действие
DataIn→РгA
РгA→БРОН-0
DataIn→РгA
РгA→БРОН-1
БРОН-0→РгB
БРОН-1→РгA
РгAплюс РгB
PC=0
№ 0
1 2
3 4
5 6

87
Таблица
4
Описание
временной диаграммы
Номер такта
Значение программного счетчика
Описание
9 0
Данные с шины DataIn (3) записываются в регистр A (v
0
= 1) и появляются на выходе
АЛУ, что обеспечивается управляющим словом S
3
= S
2
= S
1
= S
0
= 0 10 1
Данные с шины DataIn (2) и выхода АЛУ (3) записываются в регистр A (A = 1, v
0
= 1) и блок РОН по адресу 0 (wr = 1, adr = 0) соответственно
11 2
Данные с выхода АЛУ (2) записываются в регистр A (A = 1, v
0
= 1) и блок РОН по ад- ресу 1 (wr = 1, adr = 1) соответственно
12 3
Данные из блока РОН с адресом 0 записы- ваются в регистр B (A = 0, v
1
= v
2
= 1, adr = 0, wr = 0)
13 4
Данные из блока РОН с адресом 1 записы- ваются в регистр A (A = 0, v
0
= 1, adr = 0, wr = 0)
14 5
Выполняется операция арифметического сложения содержимого регистров A и B без сохранения результата (S
3
= 1, S
2
= 0,
S
1
= 0, S
0
= 1, M = 1, P
0
= 1, wr = 0)
15 6
Выполняется команда безусловного пере- хода по адресу 0

88
Лабораторная
работа № 4
Отладка
проекта вычислительного устройства
с
микропрограммным управлением
на
учебном стенде
Лабораторное
задание
Предлагается интегрировать разработанное ранее вычислительное устройство с микропрограммным управлением в базовый проект для учебного стенда. Для этого необходимо организовать ввод информации в ваше устройство с помощью компьютерной клавиатуры с интерфей- сом PS/2, кнопок или переключателей, а также отображение результатов на семисегментных индикаторах и линейках светодиодов, что потребует как аппаратной, так и программной доработки.
Конечный вариант устройства должен работать следующим образом:
- после включения ожидается ввод с помощью клавиатуры пары
4-битных аргументов в шестнадцатеричном формате;
- аргументы отображаются на двух семисегментных индикаторах;
- выполняется операция из табл.2 лабораторной работы № 2;
- результат отображается на семисегментном индикаторе;
- ожидается ввод новой пары аргументов.
Описание
учебного стенда и базового проекта
Учебный стенд представляет собой плату, на которой размещены интегральная схема программируемой логики и устройства вво- да/вывода (рис.1). На задней и боковой сторонах платы установлены разъемы для подключения источника питания, инструментального ком- пьютера, монитора, дополнительных устройств ввода/вывода и т.д. Сле- ва расположен переключатель для выбора одного из двух режимов про- граммирования, который для удачной загрузки в ОЗУ ПЛИС должен быть в положении RUN.
На рис.2 приведена упрощенная структура стенда. Центральное место на плате занимает программируемая логическая интегральная

89
схема фирмы Altera Cyclone II EP2C20F484C7N. Загрузка ОЗУ ПЛИС производится с помощью инструментального компьютера, кабеля про- граммирования и САПР Quartus II. Для подключения стенда к инстру- ментальному компьютеру достаточно соединить соответствующим ка- белем порт USB Blaster платы и USB-вход компьютера.
Рис.1. Внешний вид учебного стенда
Рис.2. Структура учебного стенда

90
Базовый проект для ПЛИС реализован в графическом виде
(BasicProject.bdf) и состоит из двух основных блоков: InputModule и
OutputModule (рис.3), которые предназначены для ввода данных от кно- пок, переключателей и клавиатуры и вывода данных на светодиоды и семисегментные индикаторы соответственно. Для обеспечения работо-
способности базового проекта необходимо сохранять без изменений
все входные подключения модуля InputModule и все выходные подключе-
ния, а также вход clk модуля OutputModule.
Рис.3. Модули ввода/вывода
На стенде установлен генератор базовой тактовой частоты 50 МГц.
С выхода Freq[0..31] можно снимать тактовые частоты с делителя базо- вой частоты (Freq[0] - 25 МГц, Freq[1] - 12,5 МГц и т.д.).
По шине Switch[0..9] передается состояние десяти переключателей, расположенных на плате снизу. Логическая «1» соответствует состоя- нию «Включено», логический «0» - «Выключено».
По шине KeyBoardBus[3..0] передается код нажатой клавиши с клавиатуры (используются шестнадцатеричные цифры от 0 - 9 и A - F).
Каждое нажатие клавиши сопровождается логической «1» на сигнале
KeyPressed.
Сигналы Buton0, Button1 и Buton2, Button3 отображают состояние двух пар кнопок, расположенных на плате.
Шины HEX_0[3..0], HEX_1[3..0], HEX_2[3..0], HEX_3[3..0] предна- значены для передачи информации на четыре семисегментных индика- тора, расположенных на плате. HEX_0 соответствуют крайнему право-

91
му индикатору, HEX_1 - второму справа и т.д. Управление отдельными сегментами реализовано в модуле OutputModule и ориентировано на отображение шестнадцатеричных цифр, т.е. при HEX_0[3..0] = 0000 на крайнем правом индикаторе будет отображен символ нуля, а при
HEX_0[3..0] = 1111 - символ F. Сигналы hex_0_off, hex_1_off, hex_2_off и hex_3_off отвечают за засветку семисегментных индикаторов. Напри- мер, если hex_0_off выставить в единицу, индикатор HEX_0 погаснет.
С помощью шин LedRed[9..0] и LedGreen[7..0] можно управлять линейками светодиодов, расположенных на плате. Например, подача
«1» на LedGreen[0] активирует крайний справа светодиод.
Помимо описанных выше модулей ввода/вывода в состав базового проекта входит модуль test (рис.4). Функцией данного модуля является формирование тестовых воздействий на внешние устройства, чтобы продемонстрировать работоспособность учебного стенда.
Рис.4. Модуль организации тестовых воздействий
Пример
проектирования
На рис.5 приведен пример схемы вычислительного устройства с микропрограммным управлением, дополненной модулями вво- да/вывода. Данная схема имеет четыре входных порта (clk - тактовый сигнал, reset - сигнал начальной установки, KB - код нажатой клавиши,
KP - индикатор нажатой клавиши) и один выходной порт (Indicator - коды для семисегментных индикаторов).
Модули ввода/вывода описаны на Verilog HDL, их листинги пред- ставлены на рис.6 и 7 соответственно. Из приведенных описаний видно, что оба модуля имеют регистровую память, адресуемую с помощью шины PortID.

92

93
Рис.6. Модуль ввода данных
Рис.7. Модуль вывода данных на семисегментный индикатор

94
Модуль ввода состоит из двух регистров, доступных для чтения.
По нулевому адресу находится регистр готовности данных от клавиату- ры, а по первому - сами данные. Таким образом, УМУ должно опраши- вать регистр готовности и при наличии в нем «1» считывать данные из первого регистра. Отметим, что регистр готовности сбрасывается при его чтении.
Модуль вывода состоит из четырех адресуемых регистров, каждый из которых соответствует определенному семисегментному индикатору.
Так, запись данных в нулевой регистр приводит к отображению этих данных на крайнем правом индикаторе.
В табл.1 представлен пример микропрограммы, реализующей ла- бораторное задание на примере сложения двух 4-разрядных чисел.
Требования
к отчету
В качестве отчета о выполнении лабораторной работы вы должны представить проект Quartus, содержащий схемы, Verilog-описания, те- стовые воздействия и результаты моделирования схемы устройства, вы- полняющей один из вариантов индивидуального задания, а также про- демонстрировать его работу на учебном стенде.

9 5
Таблица
1
Пример
микропрограммы
Микрокоманда v[3:0]
0010 0001 0000 0101 0001 0001 1000 0000 0001 0000 adr[2:0]
000 000 000 000 000 000 000 000 000 000 wr
0 0
0 0
0 0
0 1
0 0
A
0 1
0 0
0 1
0 0
1 0
ISR,
ISL
01 00 00 00 00 00 00 00 00 00
P
0 0
0 1
0 0
0 0
0 0
1
M
0 0
1 0
0 0
0 0
0 1
S[3:0]
0000 0000 0110 0000 0000 0000 0000 0000 0000 0110
Код пере- хода
000 000 000 100 111 000 000 000 000 000
Действие
1→РгB
DataIn-0→РгA
РгA–РгB
If R==0 PC=5
PC=1
DataIn-1→РгA
РгA→DataOut-0
РгA→БРОН-0
DataInput-0→РгA
РгA–РгB
№ 0
1 2
3 4
5 6
7 8
9

9 6
Продолжение
табл.1
Микрокоманда v[3:0]
1101 1000 0001 1000 0000 0001 0000 0011 1111 0010 adr[2:0]
000 000 001 000 001 000 000 001 000 000 wr
0 0
0 0
1 0
0 0
0 0
A
0 0
1 0
0 1
0 0
0 0
ISR,
ISL
00 00 00 00 00 00 00 00 00 01
P
0 0
0 0
0 0
0 1
0 0
0
M
0 0
0 0
0 0
1 0
0 0
S[3:0]
0000 0000 0000 0000 0000 0000 0110 0000 0000 0000
Код перехода
100 111 000 000 000 000 000 100 111 000
Действие
If R==0 PC=12
PC=8
DataIn-1→РгA
РгA→DataOut-0
РгA→БРОН-1
DataIn-0→РгA
РгA–РгB
If R==0 PC=19
PC=15 15→РгB
№ 10 11 12 13 14 15 16 17 18 19

9 7
Продолжение
табл.1
Микрокоманда v[3:0]
0010 0010 0001 0000 1101 0100 0100 0100 1111 0110 adr[2:0]
000 000 001 000 001 000 000 000 000 000 wr
0 0
0 0
0 0
0 0
0 0
A
0 0
1 0
0 0
0 0
0 0
ISR,
ISL
01 01 00 00 00 00 00 00 00 00
P
0 0
0 0
1 0
0 0
0 0
0
M
0 0
0 1
0 0
0 0
0 0
S[3:0]
0000 0000 0000 0110 0000 0000 0000 0000 0000 0000
Код перехода
000 000 000 000 100 000 000 00 111 000
Действие
15→РгB
DataIn-1→РгA
РгA–РгB
If R==0 PC=29 1→РгB
PC=15
БРОН-0→РгB
№ 20 21 22 23 24 25 26 27 28 29

9 8
Окончание
табл.1
Микрокоманда v[3:0]
0001 1000 0010 0010 0010 0010 0000 adr[2:0]
001 000 000 000 000 000 000 wr
0 0
0 0
0 0
0
A
0 0
0 0
0 0
0
ISR,
ISL
00 00 00 00 00 00 00
P
0 0
0 0
0 0
0 0
M
0 1
0 0
0 0
0
S[3:0]
0000 1001 0000 0000 0000 0000 0000
Код перехода
000 000 000 000 000 000 111
Действие
БРОН-1→РгA
РгA +
РгB→DataOut-0 0→РгB
PC=0
№ 30 31 32 33 34 35 36

99
Литература
1. Угрюмов А.Л. Цифровая схемотехника. - СПб.: БХВ-Петербург,
2002. - 528 с.
2. IEEE Standard Hardware Description Language Based on the Verilog
Hardware Description Language (IEEE Std. 1364-1995).
3. IEEE Standard Hardware Description Language Based on the Verilog
Hardware Description Language (IEEE Std. 1364-2001).
4. IEEE Standard Hardware Description Language Based on the Verilog
Hardware Description Language (IEEE Std. 1364-2005).
5. IEEE Standard for Verilog Register Transfer Level Synthesis
(IEEE Std. 1364.1-2002).
6. Стемпковский А.Л., Семенов М.Ю. Основы логического синте- за средствами САПР Synopsys с использованием Verilog HDL: учеб. пособие. - М.: МИЭТ, 2005. - 140 с.
7. Микропроцессорные средства и системы: курс лекций /
Д
.Н. Беклемишев, А.Н. Орлов, А.Л. Переверзев и др.; под ред. Ю.В. Са-
вченко
. - М.: МИЭТ, 2013. - 288 с.

100
Оглавление
Введение
........................................................................................................ 3
Часть
1. Типы и структуры ПЛИС, маршрут проектирования.
Основы
создания синтезируемых описаний
на
Verilog HDL .............................................................................. 5 1.1. Основные типы и структуры ПЛИС ...................................... 5 1.2. Маршрут проектирования cистем на основе ПЛИС ............ 9 1.3. Основы разработки синтезируемых описаний на языке Verilog ..................................................................... 12 1.4. Примеры синтезируемых Verilog-описаний ....................... 23 1.5. Основы разработки несинтезируемых описаний на языке Verilog ..................................................................... 27
Часть
2. Интерфейс и основные настройки САПР Quartus II .......... 35 2.1. Навигация по проекту ........................................................... 35 2.2. Компиляция проекта ............................................................. 39 2.3. Отчет о результатах компиляции ........................................ 40 2.4. Сообщения ............................................................................. 42 2.5. Дополнительные инструменты разработки ........................ 43 2.6. Моделирование проекта ....................................................... 45 2.7. Редактор тестовых воздействий ........................................... 46 2.8. Отчет о результатах моделирования ................................... 50 2.9. Редактор назначения выводов .............................................. 52 2.10. Программирование ПЛИС ................................................. 55
Часть
3. Лабораторный практикум ........................................................ 56
Лабораторная работа № 1. Разработка арифметико- логического устройства ........................................................ 56
Лабораторная работа № 2. Разработка регистрового арифметико-логического устройства .................................. 67
Лабораторная работа № 3. Разработка вычислительного устройства с микропрограммным управлением ................ 76
Лабораторная работа № 4. Отладка проекта вычислительного устройства с микропрограммным управлением на учебном стенде ................................................................. 88
Литература
.................................................................................................. 99
1   2   3   4


написать администратору сайта