Мне задали этот вопрос в интервью. Интервьюер задал вопрос вроде: «Предположим, вы написали код для генерации тактовой частоты 250 МГц в Verilog и синтезировали его. Теперь, как вы убедитесь, что сгенерированное оборудование будет работать на частоте 250 МГц, прежде чем имитировать его?» Я поискал в Интернете информацию об этом. но не нашел ответа.
Как убедиться, что оборудование, сгенерированное в ПЛИС, подходит для этого конкретного фрагмента кода?
Ответы (4)
- В некоторых наборах инструментов есть моделирование после PAR (место и маршрут), которое имитирует не только логическое поведение, но и время. Используя моделирование после PAR, вы можете проверить, соответствует ли схема временным ограничениям.
- Другой способ проверки времени - использование временных ограничений. В вашем программном обеспечении, вероятно, есть некоторые редакторы ограничений, в которых вы можете установить ограничение для желаемого выходного сигнала. После определения программа проверит время на этапе отображения / определения места и маршрута и сообщит, если оно соблюдено.
Запустите свои часы, генерируя код Verilog на симуляторе.
Поставщики ПЛИС обычно предоставляют симуляторы со своими инструментами синтеза; или вы можете использовать бесплатный симулятор или коммерческий симулятор от поставщика EDA.
Симуляторы позволяют просматривать все значения сигналов в проекте с течением времени, отображаемые в интуитивно понятном графическом пользовательском интерфейсе, что позволяет находить и устранять многие проблемы до развертывания кода на ПЛИС.
Извините за публикацию в качестве ответа, не имею репутации для комментария.
Я думаю, что, возможно, интервьюер хотел использовать временный анализатор.
Определите свои ограничения в файле типа SDC и используйте анализатор синхронизации поставщика, чтобы проверить, действительно ли тактовая частота 250 МГц будет работать на данном оборудовании.
Список соединений, созданный с помощью инструмента синтеза или PAR, должен пройти следующие основные шаги (не ограничиваясь ими) для проверки. У инструментов FPGA есть опции для записи списка соединений на уровне ворот и экспорта технической библиотеки, поэтому для этих шагов также можно использовать сторонние инструменты.
1) Статический временной анализ (STA)
Проверяет синхронизацию списка соединений относительно временных ограничений, определенных пользователем. Xilinx и Intel (ранее Altera) имеют встроенные инструменты в свои дизайнерские пакеты.
2) Проверка формальной / логической эквивалентности
Сравнивает функциональность RTL и списка соединений. Поскольку это формальный процесс, нет необходимости загружать входные векторы (например, в тестовую среду).
3) Моделирование на уровне ворот
Проверяет функциональность и время. Обычно файл SDF (стандартный формат задержки) используется для временных данных списка соединений. SDF может быть создан с помощью инструментов синтеза, STA или PAR.