
Лабораторная работа №5
Изучение инструментальной среды САПР Altera Quartus II.
Цели и задачи лабораторной работы
Цели лабораторной работы:
- знакомство с базовыми возможностями пакета Quartus II;
- взаимодействие USB интерфейса с проектом, реализованном на СБИС Cyclone III.
Описание алгоритма работы проекта:
Проект обеспечивает формирование и отображение на светодиодах принятых через USB интерфейс разрядов двоичного восьмибитового числа, а также выдачу его в USB порт.
Задачи:
I создание проекта;
II создание схемы:
а) создание регистра;
б) cсоединение компонентов в схему;
в) задание выводов схемы;
г) сохранение и проверка схемы;
III моделирование:
а) установить режим моделирования;
б) создать файл с тестовыми воздействиями (.vwf);
в) запустить моделирование;
г) проверить результаты моделирования;
IV проверка на стенде:
а) установить параметры модулей в схеме;
б) назначить выводы проекта выводам СБИС;
в) осуществить полную компиляцию проекта;
г) осуществить программирование СБИС;
д) проверить работу проекта на плате.
I Создание проекта
1. Создайте новую папку для лабораторной работы и скопируйте в неё файлы pll_10mhz.tdf и tristate.tdf из каталога E:\САПР\Лабораторная №5\tdf
2. Запустите пакет QuartusII.
3. В меню File менеджера пакета, выберите New Project Wizard…. На экране появится окно введения - Introduction. Нажмите кнопку next.
4. В появившемся окне введите следующие данные:
-
Рабочая папка
<lab_directory>\lab1\
Имя проекта
lab1
top-level design entity
lab1
5. Нажмите кнопку Next. Появится окно Add Files [page 2 of 5]
6. В окне Add Files [page 2 of 5] нажмите кнопку Add all – к проекту будет добавлен файл pll_10mhz.tdf и tristate.tdf из рабочей папки проекта, а затем кнопку Next.
7. В окне Family & Device Setting[page3 of 5]:
- в разделе Family выберите CycloneIII;
- в графе Package выберите TQFP;
- в графе Pin count выберите 144;
- в графе Speed grade выберите 8;
- в разделе Available devices выберите СБИС EP3C5E144C8.
8. Нажмите кнопку Next. Появится окно EDA Tool Setting [page 4 of 5]
9. В окне EDA Tool Setting [page 4 of 5] Вы можете указать дополнительные (внешние относительно пакета QUARTUS II) средства автоматизации проектирования. В данном упражнении предстоит работать только в рамках пакета Quartus II. Поэтому нажмите кнопку Next. Появится окно Summary [page 5 of 5].
10. В окне Summary [page 5 of 5] указаны установки, заданные Вами для создаваемого проекта. Проверьте их. Если все правильно, то нажмите кнопку Finish. В противном случае, вернитесь назад, нажав (возможно несколько раз) кнопку Back.
Проект создан.
II Создание схемы
1. Выполните команду: меню File->New и в разделе Design File выберите Block Diagram/Schematic File. Нажмите кнопку ОК.
2. Выполните команду: меню File->Save As и сохраните файл как <lab_directory>\Lab1\ lab1.bdf
Теперь необходимо создать модули входящие в состав схемы.
а) Создание восьмиразрядного регистра:
1. Дважды щелкните левой клавишей мыши в рабочем поле графического редактора так, чтобы появилось окно ввода символов - Symbol. Нажмите кнопку MegaWizard Plug-In Manager. В появившемся окне выберите Create a new custom megafunction variation. Нажмите кнопку Next.
2. В появившемся окне раскройте папку Storage и выберите LPM_FF.
3. В выпадающем меню раздела Which device family will you be using? укажите CycloneIII как семейство для реализации проекта.
4. В разделе Which type of output file do you want to creat? выберите язык AlteraHDL (AHDL).
5. В разделе What name do you want for the output file? укажите имя файла reg_8.
Нажмите кнопку Next.
6. В окне LPM_FF установите разрядность регистра равную 8 (How many flipflops do you want?).
Регистр будет состоять из D-триггеров (Which type of flipflops do you want?).
Также поставьте галочку Create a Clock Enable input.
Нажмите кнопку Next.
7. В следующем окне LPM_FF оставьте всё без изменений, так дополнителнительные входы не понадобятся. Нажмите кнопку Next.
8. Появится окно второго раздела MegaWizard, называемого EDA. В данном окне отображаются файлы с моделями, необходимыми для моделирования модуля LPM_FF в других средствах автоматизации проектирования (например в пакете ModelSim-Altera). Нажмите кнопку Next.
9. В появившемся окне будут указаны файлы, которые создаст MegaWizard. Нажмите кнопку Finish.
Восьмиразрядный регистр создан.
10. Если на экране появилось сообщение, приведенное ниже,
Укажите Automatically add QuartusII IP files to all projects (автоматически добавлять к проектам файлы, созданные помощником) и нажмите кнопку YES.
11. В разделе Libraries раскройте папку Project. Выберите reg_8.
Изображение созданного Вами счетчика появится в правой части окна Symbol. Установите режим Repeat-insert mode.
Нажмите кнопку OK.
12. Затем, перемещая указатель мыши в окне графического редактора, выберите место счетчика и установите его, нажав левую кнопку мыши. Установите 4 экземпляра регистра. Затем нажмите кнопку ESC.
б) Построение символа для существующего AHDL файла
1. Выполните команду File => open, укажите файл pll_10mhz.tdf и нажмите кнопку Открыть (Open).
2. Выполните команду File => Create/Update => Create Symbol Files for Current File. Нажмите Yes для сохранения файла lab1.bdf.
3. По завершению создания символа нажмите OK в появившемся окне. Закройте файл pll_10mhz.tdf.
4. Дважды щелкните левой клавишей манипулятора в рабочем поле графического редактора так, чтобы появилось окно ввода символов - Symbol. В разделе Libraries раскройте папку Project. Выберите pll_10mhz. Изображение созданного Вами модуля появится в правой части окна Symbol.
5. Нажмите кнопку OK. Затем, перемещая указатель мыши в окне графического редактора, выберите место для делителя частоты и установите его, нажав левую кнопку мыши.
6. Повторите пункты 1-5 для файла tristate.tdf
в) Использование примитивов
Для использования примитивов ( в том числе простейших логических элементов: И, ИЛИ, НЕ…):
1. Дважды щелкните левой кнопкой мыши в рабочем поле графического редактора так, чтобы появилось окно ввода символов Symbol.
2. В разделе Libraries, в окне Name, наберите имя примитива- например NOT (инверсия), or2 (двухвходовое ИЛИ), and2 (двухвходовое И)… - (его изображение появится в правой части окна). Нажмите кнопку OK.
3. Перемещая указатель мыши в окне графического редактора, выберите место для примитива и установите его, нажав левую кнопку мыши.
г) Размещение выводов схемы и присвоение им имен
В таблице указаны все выводы проекта и их назначение.
-
Входы (Input)
clk_25mhz
Вход тактового сигнала
mode_usb_n
Инверсный вход режима USB-Blast
usb_rxfn
Вход разрешения передачи данных
Выходы (Output)
usb_rdn
Инверсный выход чтения из порта
usb_wr
Выход записи в порт
led[7..0]
Выходы управления светодиодами
Двунаправленная шина (Bidir)
usb_d[7..0]
Восьмиразрядная шина данных
Для каждого вывода, указанного в таблице, в схему следует ввести символ (его название указано в скобках) и для каждого из них указать соответствующее имя из таблицы.
1. Для размещения элемента «вывод» (pin), выполните команду - меню Edit > Insert Symbol, либо дважды щелкните левой клавишей манипулятора в рабочем поле графического редактора так, чтобы появилось окно ввода символов Symbol.
2. В разделе Libraries, в окне Name, наберите: input - вход (его изображение появится в правой части окна). Так как необходимо разместить несколько входов, то целесообразно указать опцию Repeat Insert Mode.
Нажмите кнопку OK.
3. Перемещая указатель мыши в окне графического редактора, выберите место для вывода и установите его, нажав левую кнопку мыши.
4. Повторите пункт 3. для всех входов схемы. Для остановки режима ввода символа нажмите клавишу ESC на клавиатуре компьютера.
5. Повторите пункты 3..4. для входов и выходов схемы (элемент «выход»-output).
д) Задание имен выводов
6. Выберите вывод, щелкнув левой кнопкой мыши в поле символа, затем нажмите правую кнопку мыши и выберите команду Properties.
7. В разделе Pin name(s), закладка General, задайте имя вывода в соответствии с таблицей. Нажмите кнопку ОК.
8. Повторите пункты 6, 7 для всех выводов схемы.
е) Соединение выводов и компонентов
Выполните соединения в соответствии со схемой.
Выполнение соединений.
Для ввода цепей выберите в окне
инструментов графического редактора
иконку
(ввод цепи осуществляется при нажатой
левой клавише манипулятора).
Для ввода шин выберите в окне инструментов
графического редактора иконку
(ввод
шины осуществляется при нажатой левой
клавише манипулятора).
Для выхода из режима ввода шины (цепи) нажмите клавишу ESC на клавиатуре компьютера.
Схема создана, сохраните её.
ж) Проверка созданной схемы (компиляция)
1. Для проверки правильности (с точки зрения корректности использования символов и выполненных соединений) введенной схемы выполните команду Processing=>Start=>Start Analysis and Synthesis.
2. В случае успешного завершения процедур анализа и синтеза проекта появится сообщение: Analysis and Synthesis was successful (возможно будут несколько предупреждений). Если компилятор обнаружит ошибки в схеме, то Вам следует исправить их.