“FPGA наизнанку” — мультфильм про вычисление CRC и parallel CRC
Друзья пришла в голову идея создать несколько обучающих мультфильмов про FPGA в которых было бы показано не только мигание светодиодов на плате во время манипуляций над ней, а так же визуализация логики схемы в реальном времени.
Для первого видео в качестве экспериментальной схемы выбран вычислитель CRC (cycle redundancy check) на основе сдвигового регистра с обратной связью.
Каким экспериментам подвергается схема в процессе демонстрации проще показать чем «пером описать» — поэтому давайте посмотрим видео:
В итоге как мы увидели из простого регистра сдвига можно «раскрутить историю» объясняющую кроме самого регистра сдвига такие концепции как: схему и принцип вычисления CRC, преобразование регистра сдвига в параллельную схему (parallel CRC) попутно показав паттерны распространения сигналов через комбинационную и секвенциальную логику схемы.
На сегодня в планах сделать несколько видео с визуализацией других концепций хардварного дизайна. Интересные кандидаты для экспериментов: потоковые (stream) интерфейсы, конвейеры, FIFO, тайминги (STA) и тд. Что бы мультики были не только приятны для просмотра, но еще и полезны, то (по возможности) будем сопровождать их кодом на Verilog что бы зритель смог повторить эксперименты самостоятельно на имеющейся под рукой отладочной плате.
В следующей статье думаю поговорить про сам принцип создания подобных видео и про программу для их создания. Программа написанная на python вместе с руководством будет в скором времени выложена на Github — может она будет кому-то полезна для создания подобных видео, а возможно у коммунити даже появится желание ее улучшить или дополнить. А место для дополнений и улучшений там точно будет.
На этом благодарю за внимание — критика, предложения и комментарии более чем приветствуются.