Files
templates/hdl/vfd-pwm

Трёхфазный генератор ШИМ для испытаний

rtl/vfd_pwm.sv выдаёт шесть комплементарных сигналов с центрированной несущей и мёртвым временем. DDS обновляет фазу с частотой UPDATE_HZ, рампа пересчитывается каждую миллисекунду. Верхнее значение счётчика несущей равно CLOCK_HZ/(2*Fcarrier). Параметр mod_cfg задаёт глубину модуляции в Q15. Для удержания работы подавайте импульсы heartbeat чаще интервала WATCHDOG_CYCLES.

Сигнал применяется для тестовых перемычек на входы анализатора. tools/gen_vfd_sine.py воспроизводит таблицу четверти синуса. tests/tb_vfd_pwm.sv проверяет рампы, блокировку одновременно открытых выходов, остановку и watchdog.