Если 'KEY маленький и постоянный, как вы знаете, то лучше использовать простую логику для каждой строки (пример для i-й строки)
if((varname[i] && 4'b1111) || (varname[i] && 4'b1110) )
Если' KEY является переменной или довольно большойчисло, тогда лучше использовать другой метод, я бы попробовал использовать
output reg equivalent_detected;
reg counter;
initial
begin
equivalent_detected = 1'b0;
counter = 0;
end
always@(posedge clk)
begin
if((varname[counter] && 4'b1111) || (varname[counter] && 4'b1110) )
equivalent_detected <= 1'b1;
counter <= counter + 1;
end // end of always block
. Вы можете использовать вышеупомянутые коды в своем модуле. Если вы используете в качестве выходных данных эквивалентный_детект, то всякий раз, когда вы получаете 1, это означает, что вы обнаружили 4 'b1111 или 4'b1110.Вы можете еще улучшить этот код и сделать его лучше, я просто хотел дать вам некоторое представление.