Тестирование софта - статьи

       

Разработка модуля взаимодействия потоков


Модуль взаимодействия потоков реализует функции синхронизации потока симулятора Verilog и потока тестовой системы CTesK. Эти функции используются медиатором и VPI-модулем, поэтому модуль взаимодействия потоков рекомендуется разрабатывать перед разработкой медиатора или VPI-модуля.

Модуль взаимодействия потоков должен реализовывать следующие функции:

  • wait_for_check - функция ожидания реакции на тестовое воздействие. Вызывается в медиаторе;
  • wait_for_apply - функция ожидания тестового воздействия. Вызывается в VPI-медиаторе, возвращает идентификатор тестового воздействия;
  • apply_check - функция передачи реакции на тестовое воздействие. Вызывается в VPI-медиаторе;
  • apply_finish - функция посылки сообщения о завершения теста. Вызывается тестовой системой CTesK;
  • apply_<воздействие> - функции посылки тестовых воздействий. Вызываются в медиаторе.

Также в модуле взаимодействия потоков можно определить функции:

  • start_scenario - функция запуска тестовой системы CTesK. Вызывается в VPI-медиаторе, создает необходимые для взаимодействия потоков ресурсы, устанавливает имя UniTesK-трассы, запускает в отдельном потоке тестовую систему CTesK;
  • end_scenario - функция завершения работы тестовой системы CTesK. Вызывается в VPI- медиаторе при получении сообщения о завершении теста, освобождает созданные ресурсы.

Так как модуль использует средства создания и взаимодействия потоков, он является платформенно-зависимым. Мы вели разработку на платформе Windows 2000 и использовали механизм событий Win32. Очевидно, что разработку модуля взаимодействия потоков для каждой конкретной платформы можно автоматизировать.

Содержание раздела