Видео вывод на Spartan-6 FPGA через TMDS

Плата разработчика Digilent Atlys шикарная вещь, потому что имеет два HDMI видео входа и два HDMI видео выхода. Несмотря на то, что FPGA у нее достаточно старый, для разбора и формирования HDMI сигнала она подходит идеально. А значит, на ней можно попробовать реализовать одну задумку, связанную с 3D сигналом и стереочками.

Для начала надо прояснить один вопрос, а именно - может ли Spartan-6 выдавать разрешение 1920 на 1080 при 60 Герцах, потому что это минимум. Как оказалось, несмотря на то, что в XAPP 495 указано максимальное разрешение 1280 на 1024 (при 60 Герц) Spartan-6 может выдавать поток с большим запасом. И 1920 на 1080 при 60 Герцах в том числе. Возможно, есть еще запас по частоте, но проверить уже на чем.

В итоге оформил пруфконцепт в репозиторий. Это простейший генератор паттерна, можно сказать примитивная видеокарта. Главная хитрость - как получить частоту 148.5 МГц из генератора 100 МГц? Двумя DCM блоками. Первый делит частоту на 20 и умножает на 27. Второй, сразу за ним, делить на 10 и умножает на 11. Генератор развертки взял из прежних наработок с VGA таймингами.


2019-05-22