我有一个260位寄存器,我必须将该寄存器的130位与固定模式进行比较,该模式可以从寄存器中的0到129的任何位置开始,我也必须在FSM的一个状态转换中执行此操作。 / p>
我正在使用for循环和变量索引
for(i=0;i<=129;i=i+1)
begin
if(temp[i+:130]==pattern[129:0])//EIEOS pattern comparator
begin
data_out<=temp[129:0];
temp<={data_in,temp[259:130]};
EIEOS<=1;
count<=i;
state<=`s3;
end
end
但是在合成中它需要更多的区域和时间。 有什么方法我可以并行执行此操作,因为据我所知生成块不能在始终块内使用。