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

Разработка теста


В этом разделе подробно рассматривается процесс разработки теста для Verilog-моделей аппаратного обеспечения с помощью инструмента CTesK. Для иллюстрации процесса будем использовать пример счетчика (см. раздел ), Verilog-модель которого приводится ниже. module count(inc, rst); // входы inc и rst input inc, rst; // выходной регистр cnt integer cnt; // увеличивает счетчик task increment; begin cnt = cnt + 1; end endtask // сбрасывает счетчик task reset; begin cnt = 0; end endtask // в начальном состоянии счетчик сброшен initial begin reset; end // обработчик фронта сигнала на входе inc always @(posedge inc) begin increment; end // обработчик фронта сигнала на входе rst always @(posedge rst) begin reset; end endmodule

Процесс разработки теста состоит из следующих шагов:


  1. Разработка спецификации устройства.
  2. Разработка модуля взаимодействия потоков.
  3. Разработка медиатора.
  4. Разработка тестового сценария.
  5. Разработка Verilog-окружения.
  6. Разработка VPI-модуля.

Рассмотрим подробно каждый из этих шагов за исключением шага разработки спецификации и шага разработки тестового сценария, которые были описаны выше (см. раздел ).
В этом разделе подробно рассматривается процесс разработки теста для SystemC-моделей аппаратного обеспечения с помощью инструмента CTesK. Для иллюстрации процесса будем использовать пример счетчика (см. раздел ), SystemC-модель которого приводится ниже. SC_MODULE(count) { // входы сигналы inc и rst sc_in<bool> inc; sc_in<bool> rst; // выходной регистр cnt int cnt; // обработчик изменения значения сигнала inc void increment(void) { if(inc.posedge()) cnt++; } // обработчик изменения значения сигнала inc void reset(void) { if(rst.posedge()) cnt = 0; } SC_CTOR(count): cnt(0), inc(false), rst(false) { SC_METHOD(increment); sensitive(inc); SC_METHOD(reset); sensitive(rst); } };

Процесс разработки теста состоит из следующих шагов:

  1. Разработка C-медиатора.
  2. Разработка спецификации системы.
  3. Разработка медиатора.
  4. Разработка тестового сценария.
  5. Разработка модуля запуска тестовой системы.

Рассмотрим подробно каждый из этих шагов за исключением шага разработки спецификации и шага разработки тестового сценария, которые были описаны выше (см. раздел ).

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