Сценарии в Vivado
Я использую Vivado для запуска моих кодов Verilog. Хотя я не вижу никаких ошибок при выполнении синтеза и реализации, поток битов не может быть построен.
Это ошибка, которую я получаю:
ОШИБКА: [Drc 23-20] Нарушение правила (NSTD-1) Неуказанный стандарт ввода-вывода - 12 из 12 логических портов используют стандартное значение ввода-вывода (IOSTANDARD) "ПО УМОЛЧАНИЮ" вместо назначенного пользователем конкретного значения. Это может привести к конфликту или несовместимости ввода-вывода с питанием или подключением платы, что может повлиять на производительность, целостность сигнала или в экстремальных случаях привести к повреждению устройства или компонентов, к которым оно подключено.
Что также предполагает:
Чтобы исправить это нарушение, укажите все стандарты ввода / вывода. Эта схема не сможет генерировать поток битов, если для всех логических портов не определено стандартное значение ввода / вывода, заданное пользователем. Чтобы разрешить создание потока битов с неопределенными стандартными значениями ввода / вывода (не рекомендуется), используйте эту команду:
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
ПРИМЕЧАНИЕ. При использовании инфраструктуры Vivado Runs (например, команда Tcl launch_runs) добавьте эту команду в файл.tcl и добавьте этот файл в качестве предварительного хука для шага write_bitstream для запуска реализации.
Что сводится к тому, как я могу написать в Tcl
используя Vivado? Я добавил предложенную команду в консоль tcl, но все равно получаю ту же ошибку.
2 ответа
Я полагаю, что вы делаете то, что говорит инструмент, то есть указывает стандарт ввода-вывода для ваших портов верхнего уровня, например, если у вас есть sys_rst_n
порт верхнего уровня, вы можете добавить следующую строку в ваш .xdc
файл ограничений:
set_property IOSTANDARD LVCMOS18 [get_ports sys_rst_n]
конечно вы должны изменить LVCMOS18
чтобы соответствовать стандарту IO вашего порта.
Ошибка, которую вы получаете, на самом деле не Tcl
вопрос.
ВЫ ХОТИТЕ исправить эти операции ввода-вывода, иначе вы можете повредить свое оборудование.
- открыть маршрутизируемую контрольную точку (dcp)
- используя окно порта IO, исправьте IO, которые имеют стандарт IO по умолчанию (один за другим, если необходимо)
- создать поток битов из окна tcl
Вот как создать.tcl, чтобы исправить это без необходимости повторной реализации всего проекта:
- скопируйте команды, которые выполнялись для исправления операций ввода-вывода сверху (из консоли tcl) и поместите команды в файл tcl
- добавьте этот tcl-файл как ловушку для "post route physopt", чтобы tcl запускался автоматически, когда этот последний шаг в потоке реализации.
- если вы будете перезапускать реализацию в будущем, вам нужно просто поместить команды в файл проекта xdc.