МПСиС_Лабораторный практикум
.pdfму индикатору, 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.
91
92
Рис.6. Модуль ввода данных
Рис.7. Модуль вывода данных на семисегментный индикатор
93
Модуль ввода состоит из двух регистров, доступных для чтения. По нулевому адресу находится регистр готовности данных от клавиатуры, а по первому - сами данные. Таким образом, УМУ должно опрашивать регистр готовности и при наличии в нем «1» считывать данные из первого регистра. Отметим, что регистр готовности сбрасывается при его чтении.
Модуль вывода состоит из четырех адресуемых регистров, каждый из которых соответствует определенному семисегментному индикатору. Так, запись данных в нулевой регистр приводит к отображению этих данных на крайнем правом индикаторе.
В табл.1 представлен пример микропрограммы, реализующей лабораторное задание на примере сложения двух 4-разрядных чисел.
Требования к отчету
В качестве отчета о выполнении лабораторной работы вы должны представить проект Quartus, содержащий схемы, Verilog-описания, тестовые воздействия и результаты моделирования схемы устройства, выполняющей один из вариантов индивидуального задания, а также продемонстрировать его работу на учебном стенде.
94
Таблица 1
Пример микропрограммы
|
|
|
|
|
|
Микрокоманда |
|
|
|
|||
|
№ |
Действие |
|
|
|
|
|
|
|
|
|
|
Код пере- |
S[3:0] |
M |
|
P0 |
ISR, |
A |
wr |
adr[2:0] |
v[3:0] |
|||
|
|
|
|
|||||||||
|
|
|
хода |
|
|
|
|
ISL |
|
|
|
|
|
0 |
1→РгB |
000 |
0000 |
0 |
|
0 |
01 |
0 |
0 |
000 |
0010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
DataIn-0→РгA |
000 |
0000 |
0 |
|
0 |
00 |
1 |
0 |
000 |
0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
РгA– РгB |
000 |
0110 |
1 |
|
1 |
00 |
0 |
0 |
000 |
0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
If R==0 PC=5 |
100 |
0000 |
0 |
|
0 |
00 |
0 |
0 |
000 |
0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
PC=1 |
111 |
0000 |
0 |
|
0 |
00 |
0 |
0 |
000 |
0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
DataIn-1→РгA |
000 |
0000 |
0 |
|
0 |
00 |
1 |
0 |
000 |
0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
РгA→DataOut-0 |
000 |
0000 |
0 |
|
0 |
00 |
0 |
0 |
000 |
1000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
РгA→БРОН-0 |
000 |
0000 |
0 |
|
0 |
00 |
0 |
1 |
000 |
0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
DataInput-0→РгA |
000 |
0000 |
0 |
|
0 |
00 |
1 |
0 |
000 |
0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
9 |
РгA– РгB |
000 |
0110 |
1 |
|
1 |
00 |
0 |
0 |
000 |
0000 |
|
|
|
|
|
|
|
|
|
|
|
|
96
Продолжение табл.1
|
|
|
|
Микрокоманда |
|
|
|
|
|||
№ |
Действие |
|
|
|
|
|
|
|
|
|
|
Код перехода |
S[3:0] |
M |
P0 |
ISR, |
A |
wr |
adr[2:0] |
v[3:0] |
|||
|
|
||||||||||
|
|
ISL |
|||||||||
|
|
|
|
|
|
|
|
|
|
||
10 |
If R==0 PC=12 |
100 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
1101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
PC=8 |
111 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
1000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
DataIn-1→РгA |
000 |
0000 |
0 |
0 |
00 |
1 |
0 |
001 |
0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
РгA→DataOut-0 |
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
1000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
РгA→БРОН-1 |
000 |
0000 |
0 |
0 |
00 |
0 |
1 |
001 |
0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
DataIn-0→РгA |
000 |
0000 |
0 |
0 |
00 |
1 |
0 |
000 |
0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
РгA– РгB |
000 |
0110 |
1 |
1 |
00 |
0 |
0 |
000 |
0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
If R==0 PC=19 |
100 |
0000 |
0 |
0 |
00 |
0 |
0 |
001 |
0011 |
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
PC=15 |
111 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
1111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
15→РгB |
000 |
0000 |
0 |
0 |
01 |
0 |
0 |
000 |
0010 |
|
|
|
|
|
|
|
|
|
|
|
|
Продолжение табл.1
|
|
|
|
|
Микрокоманда |
|
|
|
|
|||
|
№ |
Действие |
|
|
|
|
|
|
|
|
|
|
Код перехода |
S[3:0] |
M |
P0 |
ISR, |
A |
wr |
adr[2:0] |
v[3:0] |
||||
|
|
|
||||||||||
|
|
|
ISL |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
||
|
20 |
|
000 |
0000 |
0 |
0 |
01 |
0 |
0 |
000 |
0010 |
|
|
|
15→РгB |
|
|
|
|
|
|
|
|
|
|
|
21 |
000 |
0000 |
0 |
0 |
01 |
0 |
0 |
000 |
0010 |
||
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
DataIn-1→РгA |
000 |
0000 |
0 |
0 |
00 |
1 |
0 |
001 |
0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
РгA– РгB |
000 |
0110 |
1 |
1 |
00 |
0 |
0 |
000 |
0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
If R==0 PC=29 |
100 |
0000 |
0 |
0 |
00 |
0 |
0 |
001 |
1101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
1→РгB |
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
00 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
PC=15 |
111 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
1111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
БРОН-0→РгB |
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0110 |
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98
Окончание табл.1
|
|
|
|
Микрокоманда |
|
|
|
|
|||
№ |
Действие |
|
|
|
|
|
|
|
|
|
|
Код перехода |
S[3:0] |
M |
P0 |
ISR, |
A |
wr |
adr[2:0] |
v[3:0] |
|||
|
|
||||||||||
|
|
ISL |
|||||||||
|
|
|
|
|
|
|
|
|
|
||
30 |
БРОН-1→РгA |
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
001 |
0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
РгA + |
000 |
1001 |
1 |
0 |
00 |
0 |
0 |
000 |
1000 |
|
РгB→DataOut-0 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
||
32 |
|
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0010 |
|
|
0→РгB |
|
|
|
|
|
|
|
|
|
|
34 |
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0010 |
||
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
000 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
PC=0 |
111 |
0000 |
0 |
0 |
00 |
0 |
0 |
000 |
0000 |
|
|
|
|
|
|
|
|
|
|
|
|
Литература
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 с.
99
Оглавление |
|
Введение ........................................................................................................ |
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 |
100