То, что вы описали, представляет собой прекрасный общий подход - он не предполагает ничего о шаблонах, которые вы хотите обнаружить.
Вы можете сделать что-то другое, если шаблон (например) представляет собой длинную строку1 с, 0 с (создайте счетчики для подсчета этих длин и отметьте совпадение, если счетчики достигают правильных значений)
Я думаю, вы могли бы немного упростить диаграмму (возможно), если бы создали блок с z ^-1 и конкат внутри.Затем, когда вы передаете вход, вы можете отложить его и согласовать с выходом предыдущего этапа (также переданным).
В качестве еще одного отступления, в VHDL это тривиально описывается как регистр сдвига (одна строкаcode) и средство сравнения (еще одна строка кода).
Вы можете построить аналогичную вещь в блоке m-кода (в похожей паре строк), используя persistent
переменные для регистров, но если выВы хотите создать более одного экземпляра блока, который вам не повезло, так как хранилище persistent
распределено между ними!