Dotclock-а при високите резолюции си е .... доста височък и отцифроването с такава точност ще да е зор. Как ще решиш филтрирането преди ADC-тата като се сменя Fs? Или изходната резолюция (и Fs) ще са константни?
Иначе сметката: 1600x1200 са 1.92 Мегапиксела на фрейм. При стандартните 60 Hz се получават 115.2 Мегапиксела/секунда. При 10 бита са 460.8 MB/sec. Сериозен трансфер. Значи самата памет за framebuffer трябва да може три пъти по толкова като трансфер за секунда - за два входа, и за изхода. Сметнато в Gbit/s числата са сериозни и отиват на доста широка DRAM (DDR2?), която пък FPGA-то трябва да може да клати.
Има един момент че евтините FPGA-та не могат да дигнат особена скорост на I/O-то (нито на логиката вътре), а пък DDR/DDR2 имат минимум заради DLL-а вътре.
С тия IP-та не таи големи надежди. Може и да е пълно разочарование, та си имай едно наум.
Алгоритмично ако само ще миксираш два входа (без скалиране и каквато е да е обработка) и не те притеснява tearing, т.е. трите честоти на опресняване са независими:
- ползваш два FB, тъй като не можеш да имаш само един при тези скорости - няма как да сумираш когато двата входа са несинхронизирани
- взимаш по една скан-линия от двата FB и конвейрно ги подаваш смесени на DAC, може и през FIFO преди DAC-а
- данните от двата входа отиват във FIFO-та вътрешни за FPGA-то (трябва да има достатъчно блокова RAM за времето на една изходна скан-линия)
- по време на неактивната част на изхода FIFO-тата се изпразват към FB-тата си
- всичкият трансфер с DRAM-овете става на бърстове