mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
WIP: APS cumulative update (#98)
* WIP: APS cumulative update * Update How FPGA works.md * Перенос раздела "Последовательностная логика" в отдельный док * Исправление картинки * Исправление оформления индексов * Переработка раздела Vivado Basics * Добавление картинки в руководство по созданию проекта * Исправление ссылок в анализе rtl * Обновление изображения в sequential logic * Исправление ссылок в bug hunting * Исправление ссылок * Рефактор руководства по прошивке ПЛИС * Mass update * Update fig_10 * Restore fig_02
This commit is contained in:
committed by
GitHub
parent
78bb01ef95
commit
a28002e681
44
Vivado Basics/01. New project.md
Normal file
44
Vivado Basics/01. New project.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Создание нового проекта в Vivado
|
||||
|
||||
Для того, чтобы создать новый проект в Vivado для отладочного стенда Nexys A7, следуйте следующему порядку выполнения действий.
|
||||
|
||||
1. Запустите Vivado.
|
||||
2. Нажмите `Create Project`.
|
||||
3. В открывшемся окне нажмите `Next`.
|
||||
4. Введите название проекта (никаких пробелов и кириллических символов) → Выберите папку для проектов → Установите селектор `Create project subdirectory` → Нажмите `Next`.
|
||||
5. Выберите RTL Project → Установите селектор `Do not specify sources at this time` → Нажмите `Next`.
|
||||
6. Выставьте следующие фильтры, чтобы сузить список ПЛИС:
|
||||
- Family: `Artix 7`
|
||||
- Package: `csg324`,
|
||||
- Speed: `-1`.
|
||||
|
||||
На _рис. 1_ показано окно с примененными фильтрами.
|
||||
7. В списке выберите ПЛИС `xc7a100tcsg324-1` (расположена в самом низу) → Нажмите `Next`.
|
||||
8. Нажмите `Finish`
|
||||
|
||||

|
||||
|
||||
_Рисунок 1. Пример заполнения фильтров для выбора ПЛИС, используемой в Nexys A7._
|
||||
|
||||
После нажатия на `Finish`, откроется окно созданного проекта. Выполним его настройку. Для этого, в окне `Flow Navigator`, расположенном в левой части Vivado необходимо нажать на кнопку `Settings`.
|
||||
|
||||
В первую очередь, нам необходимо указать какое количество времени работы схемы будет моделироваться при запуске симуляции. Для этого, в группе `Project Settings` необходимо выбрать `Simulation`. В открывшейся странице выбрать вкладку `Simulation`, и в поле `xsim.simulate.runtime` указать значение `1s`, что означает, что по умолчанию будет запускаться симуляция одной секунды времени работы схемы. На _рис. 2_. показан пример данной настройки. Пока что не закрывайте окно настроек.
|
||||
|
||||

|
||||
|
||||
_Рисунок 2. Пример настройки времени симуляции._
|
||||
|
||||
Одна секунда — это очень большое значение, на многие порядки превышающее время симуляции в большинстве лабораторных работ. Однако верификационное окружение во всех лабораторных будет досрочно останавливать моделирование. Установив подобное большое значение, мы избавимся от необходимости указывать нужное нам время симуляции при каждой симуляции: она просто будет идти, пока не остановится, но в случае, если верификационное окружение почему-то не остановит моделирование, мы будем знать, что оно остановится само по достижении времени в 1с.
|
||||
|
||||
Выполним также настройку этапа предобработки (пункт `Elaboration` в группе `Project Settings`). Здесь необходимо установить переключатель в положение `Blackbox model (Stub file)`. На самом деле, в курсе лабораторных работ мы не будем пользоваться ничем, на что влияет эта настройка, однако установив переключатель в данное положение, мы отключим появление ненужного информационного окна каждый раз, когда мы будем выполнять предобработку проекта. После выполнения данной настройки можно нажать на `OK`.
|
||||
|
||||

|
||||
|
||||
_Рисунок 3. Пример настройки предобработки проекта._
|
||||
|
||||
Все эти настройки можно сделать в автоматическом режиме, введя следующие команды в поле для ввода `Tcl Console`, помеченном текстом `Type a Tcl command here`:
|
||||
|
||||
```tcl
|
||||
set_property -name {xsim.simulate.runtime} -value {1s} -objects [get_filesets sim_1]
|
||||
set_property elab_link_dcps false [current_fileset]
|
||||
```
|
Reference in New Issue
Block a user