Рефактор Elaboration failed

This commit is contained in:
Andrei Solodovnikov
2024-01-31 13:33:22 +03:00
parent 01d262c860
commit 01c6d982d4

View File

@@ -1,10 +1,12 @@
# Инструкция по работе с ошибками элаборации
Итак, вы описали модуль на языке Verilog и хотите открыть логическую схему или запустить симуляцию, чтобы убедиться, что описание верно.
Итак, вы описали модуль на языке SystemVerilog и хотите открыть логическую схему или запустить симуляцию, чтобы убедиться, что описание верно.
Однако, в результате какого-то из этих действий появляется окно с сообщением о какой-то непонятной ошибке:
Однако, в результате какого-то из этих действий появляется окно с сообщением о непонятной ошибке:
![../.pic/Vivado%20Basics/Elaboration%20Failed/simFail.png](../.pic/Vivado%20Basics/Elaboration%20Failed/simFail.png)
![../.pic/Vivado%20Basics/Elaboration%20failed/simFail.png](../.pic/Vivado%20Basics/Elaboration%20failed/simFail.png)
_Рисунок 1. Пример окна ошибки при попытке запустить моделирование._
Ничего страшного — ошибки, это часть учебного и рабочего процесса.
@@ -12,13 +14,21 @@
Мы собираемся получить информацию об ошибки из более подробного источника: вкладки `Tcl Console`.
![../.pic/Vivado%20Basics/Elaboration%20Failed/err_log.png](../.pic/Vivado%20Basics/Elaboration%20Failed/err_log.png)
![../.pic/Vivado%20Basics/Elaboration%20failed/err_log.png](../.pic/Vivado%20Basics/Elaboration%20failed/err_log.png)
В этом окне, ищем самое первое сообщение об ошибке(#4) с последней операции (запуска симуляции/открытии схематика). Место последнего запуска можно найти по тексту синего цвета (#1). Логи различных запусков можно сворачивать, нажимая на кнопку с `-`(#2). Если вам тяжело найти место последнего запуска, можно нажать на значок корзины (кнопка `Clear`, #3) в `Tcl Console` и повторить попытку запуска.
_Рисунок 2. Элементы `Tcl Console`, содержащей лог сообщений нашего взаимодействия с Vivado`._
После обнаружения самой первой ошибки за запуск, внимательно читаем сообщение об ошибке (#5). Обычно, оно уже содержит всю необходимую информацию, включая имя файла номер строки, где произошла эта ошибка(#5).
На _рис. 2_ представлено:
1. Место последнего запуска (конец синего текста) — лог хранит информацию по всем попыткам запуска моделирования / открытия схемы. Каждая такая попытка будет начинаться с текста синего цвета, а значит по нему можно отслеживать начало нашего лога.
2. Если попыток запуска было много, навигация по логу может быть осложнена. Для упрощения навигации, можно сворачивать неинтересующие нас попытки через кнопку, обозначенную на _рис. 2_ меткой `2`.
3. Кроме того, вместо сворачивания ненужных логов, можно очистить от сообщений всю `Tcl Console`, чтобы начать работу "с чистого листа". Это можно сделать нажав на кнопку с иконкой корзины, обозначенной меткой `3`.
4. Чтение ошибок в логе должно начинаться с самой первой, т.к. одна ошибка может причиной последующих.
5. Найдя первую ошибку, необходимо внимательно ознакомиться с сообщением этой ошибки (обозначено меткой `5`).
6. Сообщение об ошибке обычно сопровождается номером строки в конкретном файле, вызвавшей эту ошибку.
Чаще всего этого сообщения будет достаточно, чтобы понять в чем дело.
В случае, если вы все ещё не понимаете в чем проблема, сверьтесь со [списком типовых ошибок](../Other/FAQ.md).
Если не помог и он, обратитесь к преподавателю.