Лабораторная работа №1
Знакомство с Quartus.
Пакет Quartus предназначен для проектирования устройств на ПЛИС фирмы Altera и содержит в себе следующие средства:
средства ввода проекта:
Graphic Editor – графический редактор предназначен для создания и редактирования схемы электрической принципиальной;
Symbol Editor – графический редактор предназначен для создания и редактирования УГО устройства (символьный редактор);
Waveform Editor – редактор временных диаграмм;
Floorplan Editor – редактор размещения узлов схемы и назначения выводов (поуровневый планировшик);
Text Editor – текстовый редактор, для ввода описания схемы на языках AHDL, VHDL, VerilogHDL.
средства верификации проекта:
Simulator – тестирование логических операций (анализ временных диаграмм, отображаемых с помощью MAX+PLUS II Waveform Editor);
Timing Analyzer – анализ временных параметров;
Средства программирования ПЛИС:
Programmer – программирование ПЛИС фирмы Altera.
Основные этапы проектирования в среде Quartus размещены в файле ..\DIGTECH\Literat&Help\Информация по стенду\ quartus_gs.doc
Основные сведения о структуре описания AHDL
Текстовый файл проекта на языке AHDL должен содержать, как минимум, два раздела: Subdesign и Logic. Все остальные разделы и операторы являются необязательными.
Пример текстового файла
INCLUDE "lpm_ff.inc";-- оператор включения
SUBDESIGN example-- Раздел описания портов
(
a, b[2..0] :input; -- описывает входы проекта
c[1..0] :output; -- описывает выходы проекта
)
VARIABLE-- Раздел описания переменных
d :node; -- объявляет переменные (узлы) проекта
BEGIN --начало раздела Logic
d = a and b0;
c1 = d or b2;
c0 = !b1 xor c1;
END; --конец раздела Logic
Имя в секции SUBDESIGN должно совпадать с именем файла.
Символ % (процент) - начинает и оканчивает многострочный комментарий.
Символ – (два тире) - однострочный комментарий.
Некоторые элементы языка AHDL
Числа
Основание |
Значения |
Пример |
Десятичное |
<последовательность цифр от 0 до 9> |
123 |
Двоичное |
B"<последовательность 0, 1 и символов X >" (где X = "безразличное состояние") |
B”01110000” B”0110XXX” |
Восьмеричное |
O"<последовательность цифр от 0 до 7>" или Q"< последовательность цифр от 0 до 7>" |
O”456” |
Шестнадцатеричное |
X "< последовательность цифр от 0 до 9, A до F>" H"< последовательность цифр от 0 до 9, A до F >" |
X”04E” H”ad23” |
К числам применяются следующие правила:
1. Компилятор всегда интерпретирует числа в булевых выражениях как группы двоичных цифр; числа в диапазонах шин как десятичные значения.
2. Числа нельзя присваивать одиночным узлам в булевых уравнениях. Вместо этого используется VCC и GND.
Арифметические и логические выражения
Оператор |
Описание |
Пример |
Приоритет |
+ (унарный) |
положительный |
+1 |
1 |
- (унарный) |
отрицательный |
-1 |
1 |
! |
NOT |
!a |
1 |
^ |
степень |
a ^ 2 |
1 |
MOD |
модуль |
4 MOD 2 |
2 |
DIV |
деление |
4 DIV 2 |
2 |
* |
умножение |
a * 2 |
2 |
LOG2 |
логарифм по основанию 2 |
LOG2(4-3) |
2 |
+ |
сложение |
1+1 |
3 |
- |
вычитание |
1-1 |
3 |
== (числовой) |
числовое равенство |
5 == 5 |
4 |
== (строковый) |
строковое равенство |
"a" == "b" |
4 |
!= |
не равно |
5 != 4 |
4 |
> |
больше чем |
5 > 4 |
4 |
>= |
больше чем или равно |
5 >= 5 |
4 |
< |
меньше чем |
a < b+2 |
4 |
<= |
меньше чем или равно |
a <= b+2 |
4 |
& |
логическое «И» |
a & b |
5 |
AND |
логическое «И» |
a AND b |
|
!& |
логическое «И-НЕ»NAND |
1 !& 0 |
5 |
NAND |
логическое «И-НЕ» |
1 NAND 0 |
|
$ |
логическое «искл. ИЛИ» |
1 $ 1 |
6 |
XOR |
логическое «искл. ИЛИ» |
1 XOR 1 |
|
!$ |
логическое «искл. ИЛИ - НЕ» |
1 !$ 1 |
6 |
XNOR |
логическое «искл. ИЛИ - НЕ» |
1 XNOR 1 |
|
# |
логическое «ИЛИ» |
a # b |
7 |
OR |
логическое «ИЛИ» |
a OR b |
|
!# |
логическое «ИЛИ-НЕ» |
a !# b |
7 |
NOR |
логическое «ИЛИ-НЕ» |
a NOR b |
|
? |
тернарный |
(5<4) ? 3:4 |
8 |