exponenta event banner

Тестирование компонентов TLM

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

Опция создания тестового стенда управляется вкладкой TLM Testbench диалогового окна Configuration Parameters. Эта опция создает автономный тестовый стенд SystemC для созданного компонента. Тестовый стенд работает путем применения тестовых векторов к сгенерированному компоненту TLM и проверки результатов каждой транзакции. При нажатии кнопки Verify TLM Component (Проверить компонент TLM) на вкладке TLM Testbench (Тестирование TLM Testbench) векторы теста автоматически захватываются при моделировании модели Simulink ®.

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

Примечание

Тестовый стенд TLM не поддерживается при создании компонента для хоста с операционной системой, отличной от системы MATLAB ®.

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

Вкладка Компиляция TLM (TLM Compilation) в диалоговом окне Параметры конфигурации (Configuration Parameters) предоставляет информацию о расположении библиотек SystemC и TLM. Для определения этих расположений можно использовать переменные среды.

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

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

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

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

  • Компоновка и выполнение компонента и тестового стенда вместе

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

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

Создание отчета

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

Работа с конфигурациями

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

Рекомендации по созданию стенда для тестирования компонентов TLM

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

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

  • Составные сигналы в модели должны быть непрерывными в памяти. Можно сделать выходные сигналы мультиплексора и шины смежными с блоком преобразования сигналов.

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

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

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

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