Проверка компонентов TLM

Обзор Испытательного стенда компонентов TLM

Опцией генерации испытательного стенда управляет вкладка TLM Testbench диалогового окна Параметров конфигурации. Эта опция создает автономный испытательный стенд SystemC для сгенерированного компонента. Испытательный стенд работает, применяя тестовые векторы к сгенерированному компоненту TLM и проверяя результаты каждой транзакции. Когда вы нажимаете кнопку Verify TLM Component на вкладке TLM Testbench, тестовые векторы автоматически захватываются из Simulink® симуляция вашей модели.

Можно сконфигурировать сгенерированный испытательный стенд, чтобы задать режим синхронизации и режимы запуска для входа и вывода. Последний выбор позволяет вам указать, управляет ли модуль инициатора движущимися наборами входных и выходных данных между регистрами и буферами или компонент выполняет перемещения автоматически. При необходимости испытательный стенд может также выдавать подробные сообщения во время выполнения, чтобы помочь вам увидеть состояние симуляции SystemC.

Примечание

TLM- испытательного стенда не поддерживается, когда вы генерируете компонент для хоста с другой операционной системой из вашего MATLAB® машина.

Компиляция компонентов TLM

Вкладка TLM Compilation в диалоговом окне Параметров конфигурации содержит информацию о расположении библиотеки SystemC и TLM. Можно использовать переменные окружения, чтобы задать эти местоположения.

Предоставляемая информация используется для создания make-файла. Можно использовать эти make-файлы для создания компонента и испытательного стенда. Можно также использовать этот make-файл для создания исполняемого файла компонента TLM и испытательного стенда за пределами окружения MATLAB.

Автоматическая верификация сгенерированного компонента

Вкладка TLM Testbench параметров конфигурации предоставляет кнопку Verify TLM Component, которая:

  • Автоматически генерирует входной стимул и ожидаемые выходные данные

  • Создает и выполняет компонент и испытательный стенд вместе

  • Автоматическая проверка выходов компонента

    Он выполняет проверку, захватывая выходы симуляции SystemC, преобразуя их в данные Simulink и сравнивая их в Simulink с результатами симуляции Simulink.

Генерация отчетов

Целевой объект tlmgenerator предоставляет HTML, содержащий подробные сведения о сгенерированном компоненте. Документ содержит ссылки на сгенерированные файлы исходного кода. Генерацию отчетов можно настроить с помощью панели Coder™ Report Simulink в параметрах конфигурации. Генерация отчетов не является строго испытательный стенд функцией, но процесс включает в себя использование испытательного стенда файлов.

Работа с строениями

После выбора опций строения можно сохранить их с помощью модели Simulink. Можно также восстановить сохранённые строения, сделанные в предыдущем сеансе. В сложение можно сохранить и выбрать из нескольких строений для заданной модели. См. раздел «Обзор ссылок на Модель» в документации Simulink. для получения информации о работе с строениями.

Факторы при создании компонента TLM Испытательного стенда

Для оптимизации вашего сгенерированного кода TLM и достижения желаемого испытательного стенда при разработке модели Simulink следует иметь в виду следующие факторы:

  • Ваша модель может использовать только одну ставку.

  • Составные сигналы на вашей модели должны быть смежными в памяти. Можно сделать сигналы mux и выхода шины смежными с блоком Signal Conversion.

  • Если ваша модель содержит сложные сигналы, необходимо сначала разделить их. Разделите комплексные сигналы с помощью блока Complex to Real-Imag Simulink. Можно затем снова объединить сигналы с блоком Real-Imag to Complex на другой стороне вашего проекта.

  • Проект может содержать подсистему Triggered или Enabled, но проект, который вы генерируете, не может сам быть подсистемой Triggered или Enabled.

  • HDL Verifier™ могут сгенерировать проект Simulink, который включает непрерывные сигналы времени. Когда симуляция Simulink и захваченное вектором воспроизведение в SystemC, они могут не дать точно таких же результатов. График различия показывает по существу ту же кривую с числовыми различиями, которые более выражены при переходах сигнала, как показано на следующих графических окнах MATLAB.

    Это различие происходит, потому что захват сигнала Simulink обязательно делает сигналы дискретными, и, таким образом, одинаковые точные данные не используются как в симуляциях Simulink, так и в автономных симуляциях SystemC. Можно улучшить точность симуляции дискретного сигнала в SystemC, выбрав меньший основной размер шага в Simulink перед нажатием Verify TLM Component.

Для просмотра документации необходимо авторизоваться на сайте