Опубликован: 04.08.2025 | Доступ: свободный | Студентов: 6 / 0 | Длительность: 01:52:00
Лекция 8:

Автономная отладка

< Лекция 7 || Лекция 8 || Лекция 9 >
Аннотация: Тема занятия: обсуждение тестового окружения для демонстрационного примера, формирование аналогичного окружения для индивидуальных заданий.

Как правило, автономная отладка проводится в два этапа:

  • верификация на вентильном уровне - то же, что и в п. 5 (верификация поведенческая), но вместо исходных текстов описания используются синтезированное представление в виде списка связей и примитивов платформы (netlist);
  • подтверждение скоростных параметров (timing).

Для верификации на вентильном уровне используется то же самое тестовое окружение в среде Quartus Prime. Отличие состоит в том, что при верификации на вентильном уровне используется информация о времени распространения сигналов по кристаллу ПЛИС, что позволяет выявить возможные проблемы со скоростными параметрами проекта.

Элементы сценария тестирования перечислены в таблице 7.1.

Таблица 7.1. Элементы сценария тестирования
Элемент сценария Примечание
1 Запись данных в регистр управления Запись произвольных данных, без контроля корректности управления устройством
2 Запись управляющих параметров в регистр управления Запись управляющих данных, с контролем корректности управления устройством
3 Чтение регистра управления
4 Чтение регистра состояния
5 Загрузка ключа Загружен ключ, определенный для тестов в [4]
6 Загрузка IV Загружен IV, определенный для тестов в [4]
7 Загрузка CTR Загружен CTR, определенный для тестов в [4]
8 Установка режима простой замены
9 Зашифрован набор данных, определенный в [4]
10 Расшифрован набор данных, определенный в [4] Данные после расшифрования идентичны данным, зашифрованным в сценарии 9.
11 Установка режима гаммирования
12 Зашифрован набор данных, определенный в [4]
13 Расшифрован набор данных, определенный в [4] Данные после расшифрования идентичны данным, зашифрованным в сценарии 12.
14 Установка режима гаммирования с обратной связью по выходу
15 Зашифрован набор данных, определенный в [4]
16 Расшифрован набор данных, определенный в [4] Данные после расшифрования идентичны данным, зашифрованным в сценарии 15.
17 Установка режима простой замены с зацеплением
18 Зашифрован набор данных, определенный в [4]
19 Расшифрован набор данных, определенный в [4] Данные после расшифрования идентичны данным, зашифрованным в сценарии 18.
20 Установка режима гаммирования с обратной связью по шифртексту
21 Зашифрован набор данных, определенный в [4]
22 Расшифрован набор данных, определенный в [4] Данные после расшифрования идентичны данным, зашифрованным в сценарии 121.

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

Coverage Report Summary Data by file

=================================================================================
=== File: E:/…/FIFO_wyuxb_ryuxb_sclk_behavior.vhd
=================================================================================
Enabled Coverage
----------------	Bins
----	Hits
----	Misses
------	Coverage
--------
Branches	23	21	2	91.30%
Conditions	9	5	4	55.55%
Statements	45	45	0	100.00%
Toggles	1628	977	651	60.01%

=================================================================================
=== File: E:/…/GstdR3432015_APBctr_AXIStrdflow_behavior.vhd
=================================================================================
Enabled Coverage
----------------	Bins
----	Hits
----	Misses
------	Coverage
--------
Branches	362	339	23	93.64%
Conditions	145	115	30	79.31%
Expressions	5	4	1	80.00%
FSM States	11	11	0	100.00%
FSM Transitions	18	11	7	61.11%
Statements	330	315	15	95.45%
Toggles	6919	2912	4007	42.08%

=================================================================================
=== File: E:/…/Kuznechik_GstdR34132015_MMv01_behavior.vhd
=================================================================================
Enabled Coverage
----------------	Bins
----	Hits
----	Misses
------	Coverage
--------
Branches	275	266	9	96.72%
Conditions	100	75	25	75.00%
Expressions	15	9	6	60.00%
Statements	250	241	9	96.40%
Toggles	5444	3462	1982	63.59%
=================================================================================
=== File: E:/…/gstdr3432015_apbctr_ahbdflow_tb_struct.vhd
=================================================================================

Enabled Coverage
----------------	Bins
----	Hits
----	Misses
------	Coverage
--------
Toggles	1256	1030	226	82.00%

=================================================================================
=== File: E:/…/gstdr3432015_apbctr_ahbdflow_tester_flow.vhd
=================================================================================
Enabled Coverage
----------------	Bins
----	Hits
----	Misses
------	Coverage
--------
Branches	86	60	26	69.76%
Conditions	6	2	4	33.33%
Statements	647	613	34	94.74%
Toggles	2516	2064	452	82.03%


TOTAL ASSERTION COVERAGE: 100.00% ASSERTIONS: 6

Total Coverage By File (code coverage only, filtered view): 78.29%

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

Вопросы для самостоятельной работы

Обучающийся выполняет верификацию, подтверждает скоростные характеристики и готовит отчеты о покрытии кода тестами. При низком проценте покрытия (< 30%) рекомендуется расширить набор тестовых сценариев.

< Лекция 7 || Лекция 8 || Лекция 9 >