Если входной поток побитовый, то достаточно хранить в циклоне не прямую, а транспонированную матрицу допустимых комбинаций. При этом задержка результата составит 1..2 такта, расход LE порядка 10% (см. пример по ссылке). Если побайтовый, то я бы по возможности умножил внутр. тактовую частоту на 8 (ну или сколько позволяет) и сдвинул их.