Files
APS/Vivado Basics/08. Code processing errors.md
Andrei Solodovnikov a28002e681 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
2024-09-02 10:20:08 +03:00

4.8 KiB
Raw Blame History

Руководство по работе с ошибками обработки кода

Некоторые ошибки (например ошибки синтаксиса или иерархии) могут привести к тому, что САПР не сможет построить схему или запустить симуляцию.

Без должного опыта, при подобных ошибках можно растеряться, т.к. всплывающие окна, сообщающие об этих ошибках малоинформативны (см. рис. 1-2).

Предположим, мы забыли поставить точку с запятой в конце одного из присваиваний, и попробовали запустить моделирование.

В результате, всплывающие окна, представленные на рис. 1-2.

../.pic/Vivado%20Basics/08.%20Code%20processing%20errors/fig_01.png

Рисунок 1. Первое всплывающее окно при попытке запустить моделирование проекта с синтаксической ошибкой.

../.pic/Vivado%20Basics/08.%20Code%20processing%20errors/fig_02.png

Рисунок 2. Второе всплывающее окно при попытке запустить моделирование проекта с синтаксической ошибкой.

Во втором окне есть кнопка Open Messages View. Нажмём её. Будет активировано окно сообщений, представленное на рис. 3.

../.pic/Vivado%20Basics/08.%20Code%20processing%20errors/fig_03.png

Рисунок 3. Окно сообщений после неудачной попытки запуска симуляции.

Сообщения из раздела Vivado commands на рис. 2 дают мало информации. Однако здесь же есть критические предупреждения о синтаксической ошибке с возможностью перейти к строчке в файле, вызвавшей это предупреждение. Разумеется, не всегда САПР может сообщить доступным языком в чем именно ошибка, в данном случае, он просто обнаружил что ключевое слово end встретилось не там, где оно должно было бы быть (оно встретилось до завершения оператора присваивания, который должен был быть завершен символом ;). В этом случае, вам необходимо самим разобраться в чем именно заключается ошибка (для этого вы можете кликнуть по гиперссылке в критическом предупреждении — откроется редактор с местом ошибки).

Помните, что большая часть сообщений в данном окне сохраняется даже если ошибка будет исправлена, поэтому рекомендуется очищать окно сообщений, в случае если появились ошибки и уже сложно понять какие из них старые, а какие из них новые. Сделать это можно, нажав на иконку корзины в окне сообщений. При этом удалятся не все ошибки, а только те, которые были вызваны процессами, запущенными пользователем. К примеру, если очистить окно сообщений, не исправив указанную ошибку, пропадут только ошибки из раздела Vivado commands. Дело в том, что критические предупреждения появились не после того, как мы попытались запустить моделирования, а после того, как Vivado автоматически запустил инструменты анализа кода. Делает он это автоматически каждый раз, когда сохраняется файл. Эти ошибки пропадут только когда повторный анализ покажет, что они были исправлены.