mirror of
https://github.com/MPSU/APS.git
synced 2026-06-10 11:13:33 +00:00
English version draft
Assisted-by: Claude:claude-4.6-sonnet
This commit is contained in:
@@ -1,37 +1,37 @@
|
||||
# Анализ RTL
|
||||
# RTL Analysis
|
||||
|
||||
**RTL** (**register transfer level** — **уровень межрегистровых передач**) — это один из уровней абстракции при проектировании цифровой схемы, когда та описывается в виде регистров и логики передачи данных между этими регистрами.
|
||||
**RTL** (**register transfer level**) is one of the abstraction levels in digital circuit design, where a circuit is described in terms of registers and the logic for data transfer between them.
|
||||
|
||||
Vivado предоставляет средства по анализу RTL-кода, позволяя обнаруживать и исправлять ошибки на раннем этапе, до выполнения моделирования и попытки синтезировать проект. Для того чтобы провести анализ, необходимо выполнить предобработку проекта (`Open Elaborated Design`, см. _рис. 1_).
|
||||
Vivado provides RTL analysis tools, allowing you to detect and fix errors at an early stage, before running simulation or attempting to synthesize the project. To perform the analysis, you need to elaborate the project (`Open Elaborated Design`, see _fig. 1_).
|
||||
|
||||

|
||||
|
||||
_Рисунок 1. Инструменты анализа RTL в окне `Flow Navigator`._
|
||||
_Figure 1. RTL analysis tools in the `Flow Navigator` window._
|
||||
|
||||
Итогом предобработки станет отображение графической схемы (подробнее рассказано в документе "[Этапы реализации проекта в ПЛИС](../Introduction/Implementation%20steps.md)"). Если схема не отобразилось, можно нажать на кнопку `Schematic`.
|
||||
The result of elaboration is the display of a graphical schematic (described in more detail in the document "[Implementation Steps in FPGA](../Introduction/Implementation%20steps.md)"). If the schematic does not appear, click the `Schematic` button.
|
||||
|
||||

|
||||
|
||||
_Рисунок 2. Пример построения схемы для схемы, описанной в документе "[Менеджер проекта](./03.%20Project%20manager.md)"._
|
||||
_Figure 2. Example of a schematic generated for the circuit described in the document "[Project Manager](./03.%20Project%20manager.md)"._
|
||||
|
||||
Допустим вы нашли ошибку, изменили код модуля и хотите увидеть обновленную схему. Вы нажимаете на кнопку `Schematic` у вас появляется новая вкладка, но схема на ней осталась без изменений. Дело в том, что открытие новой схемы требует повторной предобработки проекта. Для этого необходимо либо закрыть окно `Elaborated Design`, и открыть его заново, либо нажать на кнопку `Reload Design` вверху окна Vivado, которая появляется в информационном сообщении при обновлении кода модуля (см. _рис. 3_).
|
||||
Suppose you found an error, modified the module code, and want to see the updated schematic. You click the `Schematic` button, a new tab opens, but the schematic has not changed. This is because opening a new schematic requires re-elaborating the project. To do this, either close the `Elaborated Design` window and reopen it, or click the `Reload Design` button at the top of the Vivado window, which appears in the informational message when the module code is updated (see _fig. 3_).
|
||||
|
||||

|
||||
|
||||
_Рисунок 3. Информационное сообщение о том, что предобработанный проект устарел в виду изменения исходников. Кнопка Reload позволяет выполнить повторную предобработку для обновленного кода._
|
||||
_Figure 3. Informational message indicating that the elaborated design is outdated due to source changes. The Reload button triggers re-elaboration for the updated code._
|
||||
|
||||
Помимо построения схемы, Vivado выполнит её анализ, а обнаруженные проблемы будут отображены во вкладке `Messages`, которая расположена внизу окна Vivado (_рис. 4_).
|
||||
In addition to building the schematic, Vivado will analyze it, and any detected issues will be shown in the `Messages` tab at the bottom of the Vivado window (_fig. 4_).
|
||||
|
||||

|
||||
|
||||
_Рисунок 4. Окно с сообщениями о результатах выполненных операциях. Для удобства отображения, информационные сообщения скрыты, оставлены только предупреждения._
|
||||
_Figure 4. Messages window showing the results of completed operations. For display convenience, informational messages are hidden; only warnings are shown._
|
||||
|
||||
Проблема окна сообщений заключается в том, что их число быстро накапливается и превращается в огромный поток, с которым тяжело работать даже с включенными фильтрами. Более того, сообщения сохраняются между запусками анализа, т.е. даже если вы исправите какую-то проблему — сообщение о ней так и останется до тех пор, пока вы не очистите окно сообщений.
|
||||
The problem with the messages window is that the number of messages accumulates quickly and becomes an overwhelming stream that is difficult to work with even with filters enabled. Moreover, messages persist between analysis runs — even if you fix an issue, the message about it will remain until you manually clear the messages window.
|
||||
|
||||
Начиная с версии 2023.1 в Vivado появился специальный инструмент — линтер, который анализирует код и сообщает о проблемах в отдельном окне. Проблемы группируются по типам и список проблем очищается и генерируется повторно каждый раз, когда запускается линтер.
|
||||
Starting from version 2023.1, Vivado includes a dedicated tool — a linter — that analyzes the code and reports issues in a separate window. Issues are grouped by type, and the list is cleared and regenerated every time the linter is run.
|
||||
|
||||
Если вы уже прочли документ "[Руководство по поиску функциональных ошибок](./05.%20Bug%20hunting.md)", вы можете заметить, что предупреждения, которые Vivado вывел в окно сообщений напрямую связаны с ошибками, которые мы обнаружили в процессе симуляции. Разница заключается в том, что Vivado вывел сообщения об этих ошибках практически мгновенно, в то время как нам для этого потребовалось проводить целое расследование. Именно в этом и заключается мощь данного инструмента — он позволяет найти большинство простых ошибок, давая возможность сосредоточиться на более сложных.
|
||||
If you have already read the document "[Functional Bug Hunting Guide](./05.%20Bug%20hunting.md)", you may notice that the warnings Vivado displayed in the messages window are directly related to the errors we found during simulation. The difference is that Vivado reported these errors almost instantly, whereas we had to conduct a full investigation to find them. This is the power of this tool — it allows you to find most simple errors, freeing you to focus on more complex ones.
|
||||
|
||||
## Дополнительные материалы
|
||||
## Additional Resources
|
||||
|
||||
Подробнее о взаимодействии с окном схемы можно прочитать в руководстве пользователя Vivado: ["Vivado Design Suite User Guide: Using the Vivado IDE (UG893)"](https://docs.xilinx.com/r/en-US/ug893-vivado-ide) (раздел ["Using the Schematic Window"](https://docs.xilinx.com/r/en-US/ug893-vivado-ide/Using-the-Schematic-Window)).
|
||||
For more information on working with the schematic window, refer to the Vivado user guide: ["Vivado Design Suite User Guide: Using the Vivado IDE (UG893)"](https://docs.xilinx.com/r/en-US/ug893-vivado-ide) (section ["Using the Schematic Window"](https://docs.xilinx.com/r/en-US/ug893-vivado-ide/Using-the-Schematic-Window)).
|
||||
|
||||
Reference in New Issue
Block a user