mirror of
https://github.com/MPSU/APS.git
synced 2025-11-20 15:00:39 +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 SynthesisRun Implementation- После успешной имплементации нажимаем
Generate Bitstreamдля генерации файла прошивки - Аккуратно достаем и подключаем стенд к компьютеру → Включаем питание на плате
- Нажимаем
Open Hardware Manager(подGenerate Bitstream) - Вместо окна
Sourceбудет отображаться окноHardware, в нем необходимо нажать кнопкуAuto Connect(единственная активная кнопка) → В окне появится подключенное устройство - Нажать правой кнопкой на устройстве
xc7a100t_0→ Выбрать пункт менюProgram Device - В открывшемся окне нажать
Program - Сопоставить поведение отладочной платы с SystemVerilog-описанием
