Files
templates/tools/firmware-build/fpga/ise-project.md
T
Andrey 62c0492bfd feat(firmware-build): Добавь сборку и паспорта проектов ПЛИС
Подключи ISE, Vivado и Quartus к общему итератору версии и HDL-паспорту. Проверяй новый bit/sof до создания manifest, SHA-256 и архива выпуска.

Добавь установку локальных команд ISE, инструкции переноса и регрессионные проверки успешных и прерванных сборок.
2026-10-23 14:16:21 +03:00

28 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Сборка прошивки ISE
Для сборки запускайте `build_firmware.bat`. Версия увеличивается перед
синтезом; результат и архив сохраняются в `build/ise/firmware/`.
`build_firmware.bat --check` проверяет настройки и наличие ISE без сборки
и увеличения версии.
Один раз подключите экземпляр `firmware_identity` к верхнему модулю:
адрес слова — `word_addr[3:0]`, выход — `word_data[15:0]`.
Заготовка подключения находится в `firmware_identity_instance.txt`.
Выход включите в чтение вашей шины, иначе синтезатор удалит паспорт.
Сценарий сам добавит generated HDL к проекту при сборке.
В `firmware_identity.json` меняются изделие и номер версии.
В `firmware_build.json` находятся пути проекта, `.bit`, templates,
каталог результатов, язык и необязательный путь `ise_settings` к
`settings64.bat` или `settings32.bat` вашей установки ISE.
Если окружение ISE не найдено автоматически, задайте этот путь один раз.
Общие инструменты используются из каталога templates, указанного в настройках.
Храните локальные BAT, Python, JSON и заготовку подключения в Git.
Каталог сборки добавлен установщиком в `.gitignore`; остальные результаты
ISE также добавьте в игнорируемые файлы проекта.
После загрузки `.bit` сравните 12 слов паспорта с `fpga.register_words`
в manifest из архива. Повторная установка сохраняет существующие JSON
и занятый номер версии. Одновременные сборки с одним JSON не поддерживаются.