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

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

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


person Ginty    schedule 27.04.2018    source источник


Ответы (1)


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

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

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

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

person dave_59    schedule 27.04.2018