mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 09:10:10 +00:00
В основном вставка пропущенных запятых и удаление лишнего пробела из союза "а также", но были и другие ошибки и опечатки.
5.2 KiB
5.2 KiB
Создание базового проекта с прошивкой ПЛИС в Vivado
Создание проекта в Системе Автоматизированного Проектирования (САПР)
- Запустить Vivado 2019.2
- Нажать
Create Project
- В открывшемся окне нажать Next
- Ввести название проекта (никаких пробелов и кириллических символов) → Выбрать папку для проектов (создать каталок на D:/) → Поставить галку
Create project subdirectory
→ НажатьNext
- Выбрать RTL Project → Поставить галку
Do not specify sources at this time
→ Нажать Next - Выставить фильтры, для сужения списка ПЛИС:
- Family:
Artix 7
- Package:
CSG324
, - Speed:
-1
.
- Family:
- В списке выбрать ПЛИС
xc7a100tcsg324-1
→ Нажать Next - Нажать Finish
- Закрыть Vivado
- Удалить папку
- Повторить все действия самостоятельно
Создание модуля на SystemVerilog
- Создать новый SystemVerilog файл, для этого в окне
Sources
нажать на кнопку+
- В открывшемся окне выбрать
Add or create design source
→ НажатьNext
- Нажать
Create File
→ В открывшемся окне ввести имя модуляtop
и выбрать тип файла SystemVerilog → НажатьOK
→ В оставшемся окне нажатьFinish
- В открывшемся окне НЕ вводить названия портов и сразу нажать OK → После чего подтвердить выбор
Yes
- Двойным кликов в окне
Source
открыть файлtop.sv
- Написать следующий код:
module top (
input logic clk,
input logic a,
input logic b,
output logic q
);
logic c;
assign c = a ^ b;
always_ff @(posedge clk) begin
q <= c;
end
endmodule
- Сохранить изменения
- Нажать
Open Elaborated Design
- Нажать
Schematic
в открывшемся списке - Проанализировать полученный результат (сопоставить с SystemVerilog-описанием)
- Закрыть проект
Реализация простого проекта на отладочном стенде
- Создать новый проект
- Создать новый SystemVerilog файл с названием
basic
- Написать следующий код:
module basic (
input logic [15:0] SW,
output logic [15:0] LED
);
assign LED[0] = SW[0] & SW[1];
assign LED[2] = SW[2] | SW[3];
assign LED[4] = SW[4] ^ SW[5];
assign LED[10:6] = ~SW[10:6];
assign LED[13:11] = {SW[11], SW[12], SW[13]};
assign LED[15:14] = { 2{SW[14]} };
endmodule
- Сохранить изменения
- В окне Sources нажать на кнопку
+
- В открывшемся окне выбрать
Add or create constraints
→ Нажать Next - Нажать
Create File
→ В открывшемся окне ввести название → НажатьOK
→Finish
- В окне
Source
в открывающемся спискеConstraints
найти только что созданный файл и открыть его для редактирования двойным щелчком - Скопировать содержимое файла констрейнов с официального сайта и вставить в только что созданный → Найти строки посвященные SW и LED и раскомментировать их → Сохранить изменения
Run Synthesis
Run Implementation
- После успешной имплементации нажимаем
Generate Bitstream
для генерации файла прошивки - Аккуратно достаем и подключаем стенд к компьютеру → Включаем питание на плате
- Нажимаем
Open Hardware Manager
(подGenerate Bitstream
) - Вместо окна
Source
будет отображаться окноHardware
, в нем необходимо нажать кнопкуAuto Connect
(единственная активная кнопка) → В окне появится подключенное устройство - Нажать правой кнопкой на устройстве
xc7a100t_0
→ Выбрать пункт менюProgram Device
- В открывшемся окне нажать
Program
- Сопоставить поведение отладочной платы с SystemVerilog-описанием