如何在verilog中的FSM的一个状态转换中进行并行比较

时间:2015-07-31 08:44:55

标签: verilog

我有一个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

但是在合成中它需要更多的区域和时间。 有什么方法我可以并行执行此操作,因为据我所知生成块不能在始终块内使用。

0 个答案:

没有答案