Можно ли полностью скомпилировать модуль, а затем создать его отдельно в тестовом стенде?

Можно ли сделать полностью скомпилированную и автономную версию модуля RTL, как снимок в терминах Cadence, а затем позднее создать экземпляр этого скомпилированного модуля в тестовом стенде? В конечном счете, выполняется еще один шаг компиляции для создания окончательного снимка, который содержит первоначально предоставленный снимок, но теперь создается в тестовом стенде.

Если да, есть ли какие-то особые соображения при компиляции исходного снимка, чтобы включить это, и как бы вы создали экземпляр такого скомпилированного объекта в тестовой среде?

1 ответ

Да. Но у каждого инструмента моделирования есть немного разные подходы к процессу компиляции. Большинство инструментов разбивают этот поток на несколько этапов: синтаксический анализ, оптимизация, доработка и инициализация (упомянутый вами снимок - последний шаг). Не все инструменты дают вам доступ ко всем отдельным шагам.

Есть несколько способов добиться того, что вы просите, но выбор действительно зависит от того, почему вы хотите это сделать, и с какими ограничениями вы готовы работать.

Вы можете проанализировать исходный код вашего модуля в библиотеке, а затем повторно использовать эту же библиотеку для компиляции множества различных тестовых стендов. Но обычно трудоемкой частью является оптимизация.

Questa предоставляет то, что вы ищете, в том, что они называют потоком Pre-compiled Design Unit (PDU). Вы можете оптимизировать свой RTL-модуль и сохранить его обратно в библиотеку, и Questa просто выбирает оптимизированный модуль вместо неоптимизированного модуля во время разработки. Особые соображения заключаются в том, что вам нужно сохранить любые сигналы от оптимизации, которые могут иметь иерархические ссылки из тестового стенда.

Другие вопросы по тегам