Я не помню источников, но помню, что снижение количества умножений достигается за счет замены умножений на произвольное число умножениями на степени двойки (просто сдвиг) и сложениями. Но снижается точность. Однако это актуально для архитектур, где умножение выполняется медленнее сложения. В FPGA же, где и то и другое можно получить за один такт я смысла не вижу. Латентность же умножителей на высоких частотах не особо важна IMHO, потому что строки/столбцы все равно делаются последовательно. На Opencores есть DCT на VHDL, 4 умножителя/64 такта.
|