Разделите два уровня
SpinalHDL использует Scala для описания аппаратуры и генерации HDL. Успешная компиляция Scala — только один этап: требуется elaboration и проверка полученной схемы. Начните с официального шаблона и сохраните рабочую конфигурацию. Попросите ИИ явно различать вычисления во время генерации и логику, которая должна существовать в аппаратуре.
Ограничьте параметры
Для генератора регистра или FIFO запишите допустимые разрядности и глубины, поведение сброса и протокол передачи. Определите, что делать с недопустимой конфигурацией. Попросите ИИ составить матрицу минимальных, обычных и граничных значений. Не добавляйте поддержку произвольной глубины, если архитектура фактически требует степени двойки; это должно быть видно в контракте.
Генерируйте воспроизводимо
В официальном шаблоне пример использует точку входа projectname.MyTopLevelVerilog. Команда ниже запускается из корня подготовленного шаблона; для другого проекта замените имя класса. Сохраните версии зависимостей, параметры и каталог результата. Разберите диагностику elaboration, затем просмотрите порты, разрядности и блоки сброса в сгенерированном RTL перед подключением к остальной системе.
sbt "runMain projectname.MyTopLevelVerilog"Проверяйте каждую конфигурацию
Для выбранной матрицы выполняйте генерацию, самопроверяющуюся симуляцию и синтез подходящим инструментом. Сопоставляйте протокол, задержку и ресурсы, а не только отсутствие ошибок. Просите ИИ предложить дополнительные крайние случаи по реальному отчёту. Сохраните конфигурацию с каждым результатом: проверенный вариант на 8 бит не подтверждает автоматически вариант на 32 бита.
Что проверить перед принятием результата
Единица проверки генератора — конкретная конфигурация вместе с её RTL и отчётами.