verilog代码 在综合的时候出出现问题 求助。。

2019-07-15 22:43发布


这里显示的错误是:
[Synth 8-3380] loop condition does not converge after 2000 iterations
说是会一直循环,该怎么改啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
jiaojiex
2019-07-16 08:35
楼主是想做32位的移位计数器吗?我初学者,不知下面的代码行不行?
always @(posedge CP)
begin
        A_temp[0]<=Dat_IN;
        A_temp[1]<=A_temp[0];
        A_temp[2]<=A_temp[1];
        ...
        A_temp[30]<=A_temp[29];
        A_temp[31]<=A_temp[30];
end
Dat_IN是数据输入,高电平当做启动信号,如果想在A_temp[31]==1时停止移位,就改一下代码
always @(posedge CP)
begin
        if(Reset)
        begin
                A_temp<=0;
        end
        else
        if(A_temp[31]!=1)
        begin
                A_temp[0]<=Dat_IN;
                A_temp[1]<=A_temp[0];
                A_temp[2]<=A_temp[1];
                ...
                A_temp[30]<=A_temp[29];
                A_temp[31]<=A_temp[30];
        end
end
Dat_IN是启动信号,Reset是复位信号。不知是否可行。

一周热门 更多>