6 Компиляция и верификация проекта в среде Quartus II
В ЦВУ предусмотрен блок преобразователя кода, который преобразует двоичный код содержимого выбранной ячейки памяти RAM в ASCII-коды шестнадцатеричной системы счисления и передает их на блок lcd_controller, который формирует управляющие сигналы на дисплей. В приложении В приведено AHDL-описание ЦВУ верхнего иерархического уровня.
ЦВУ должно выполнять программу, хранящуюся в ПЗУ. Загрузочный код программы необходимо сформировать в виде файла ROM.mif. Составим тестовую программу для ЦВУ
WIDTH=12;
DEPTH=256;
ADDRESS_RADIX=HEX;
DATA_RADIX=HEX;
CONTENT BEGIN
000 : 000;
001 : 005;
002 : 801;
003 : 00A;
004 : 803;
005 : 301;
006 : E08;
007 : 20A;
008 : E0A;
[009..00a] : 000;
00b : 503;
00c : 611;
00d : A33;
00e : FFF;
[00f..0ff] : 000;
END;
Таким образом, ЦВУ должно последовательно выполнить заданную программу. Чтобы на стадии компиляции выполнить загрузку данных в ячейки ОЗУ, необходимо сформировать файл загрузки RAM.mif:
WIDTH=8;
DEPTH=256;
ADDRESS_RADIX=UNS;
DATA_RADIX=HEX;
CONTENT BEGIN
0 : 00;
1 : 01;
2 : 02;
3 : 03;
4 : 04;
5 : 05;
6 : 06;
7 : 07;
8 : 08;
9 : 09;
10 : 0A;
11 : 0B;
12 : 0C;
13 : 0D;
14 : 0E;
15 : 0F;
16 : 10;
17 : 11;
18 : 12;
19 : 13;
20 : 14;
21 : 15;
22 : 16;
23 : 17;
24 : 18;
25 : 19;
26 : 1A;
27 : 1B;
28 : 1C;
29 : 1D;
30 : 1E;
31 : 1F;
32 : 20;
33 : 21;
34 : 22;
35 : 23;
36 : 24;
37 : 25;
38 : 26;
39 : 27;
40 : 28;
41 : 29;
[42..170] : 00;
171 : AB;
[172..255] : 00;
END;
Для проверки правильности работы ЦВУ при выполнении тестовой программы выполняем анализ его работы методом имитационного моделирования в среде симулятора системы Quartus II с помощью сигнального редактора (Waveform Editor).
Анализ результатов моделирования позволяет оценить правильность работы проекта. На рисунке 6 приведены полученные временные диаграммы сигналов. Анализ полученных результатов позволяет сделать вывод, что данную тестовую программу ЦВУ выполняет правильно. Полученные результаты полностью совпадают с ожидаемыми.
Рисунок 3 – Результат работы ЦВУ
Данная проверка еще не полная. Симулятор Quartus II не может найти все ошибки. Поэтому сформируем файл с расширением «.rbf», который можно загрузить на стенд SDK 6.1 и на нем сделать полную проверку ЦВУ при выполнении данной микропрограммы. Одна из возможностей симулятора Quartus II – определение максимальной частоты синхронизации. Для нашего ЦВУ эта частота составляет 77,44 MHz, так как на стенде используется синхросигнал с частотой 40 MHz, то наше устройство должно работать корректно..
Окончательное тестирование на стенде SDK 6.1 показывает, что наше ЦВУ правильно выполняет заданную тестовую программу, так как полученные результаты полностью совпадают с ожидаемыми.
Список использованных источников
Хлуденев А.В. Цифровое вычислительное устройство: Методические указания. – Оренбург: ГОУ ОГУ, 2005. - 67 с.
Грушвицкий Р.И., Мурсаев А.Х., Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики. – С-П.: БХВ-Петербург, 2002. - 606 с.
Приложение А
(обязательное)
Функциональная схема ЦВУ
Приложение Б
(Справочное)
AHDL-описание управляющего автомата Мура
Subdesign co
(
c,rst,en,cop[3..1]:input;
y[4..0] :output;
)
variable
code : machine with states
(s0,s1,s2,s3,s4,s5,s6,s7,wait);
begin
code.clk=c;
code.ena=vcc;
code.reset = rst;
case code is
when s0 => code=wait;
when wait =>
if en then code=s7;
else code=wait;
end if;
when s7 => y[0]=vcc; code=s1;
when s1 =>
if !cop[3] then code = s2;
else
CASE cop[2..1] IS
WHEN 0 => code = s3;
when 1 => code = s4;
WHEN 2 => code = wait;
WHEN 3 => code = s5;
END CASE;
end if;
WHEN s2 =>
code = wait;
if Cop[2..1]==01 then y[1]=b"0";
else y[1]=vcc;
end if;
WHEN s3 => -- gpr
code = wait; y[4]=vcc;
WHEN s4 => -- ram
code = wait; y[3]=vcc;
WHEN s5 => -- jz
code = wait; y[2]=vcc;
when s6 => code=wait;
END CASE;
end;
- Курсовой проект
- Задание на курсовой проект
- Аннотация
- Содержание
- 1 Структура цву
- 2 Алгоритм алу
- 3 Разработка основных функциональных блоков и узлов
- 4 Функциональная схема операционного автомата
- 5 Разработка управляющего автомата
- 6 Компиляция и верификация проекта в среде Quartus II
- Приложение в (справочное) ahdl-описание цву