Упражнения
-
Перепишите самые интересные тестбенчи из тех, что мы (или вы) написали ранее. Тут тоже затесалось метапрограммирование. Несложное, но может быть очень удобным.
-
Напишите (или перепишите, если уже сделали на SystemVerilog) тесты к последним упражнениям на cocotb. Интереснее всего 3 и 5 задания.
-
Реализуйте операцию свёртки изображения на SystemVerilog.
-
Используйте одномерную свёртку из упражнений к предыдущему модулю. Про идею декомпозиции двумерной свёртки в одномерные можно посмотреть здесь.
-
Интерфейс разрабатываемого модуля должен предусматривать загрузку весов ядра свёртки.
-
Модуль должен быть параметризуем размером ядра. Предполагаем, что ядро квадратное, нечётного размера.
-
На входе k строк входного изображения (каждая подаётся последовательно), на выходе одна строка нового изображения.
-
Заранее определитесь, каким образом будут обрабатываться пиксели на краях.
-
Реализуйте тесты для разработанного модуля с использованием cocotb. Для тестирования (как всего модуля, так и подмодулей) используете наработки из упражнений по свёрткам на Python.
-