Автономная отладка
Как правило, автономная отладка проводится в два этапа:
- верификация на вентильном уровне - то же, что и в п. 5 (верификация поведенческая), но вместо исходных текстов описания используются синтезированное представление в виде списка связей и примитивов платформы (netlist);
- подтверждение скоростных параметров (timing).
Для верификации на вентильном уровне используется то же самое тестовое окружение в среде Quartus Prime. Отличие состоит в том, что при верификации на вентильном уровне используется информация о времени распространения сигналов по кристаллу ПЛИС, что позволяет выявить возможные проблемы со скоростными параметрами проекта.
Элементы сценария тестирования перечислены в таблице 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%) рекомендуется расширить набор тестовых сценариев.