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

2019-07-15 22:43发布


这里显示的错误是:
[Synth 8-3380] loop condition does not converge after 2000 iterations
说是会一直循环,该怎么改啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
烦烦烦小灰
1楼-- · 2019-07-16 00:33
while用在verilog代码中,综合不成对应的电路 最佳答案
鱼鱼鱼fish
2楼-- · 2019-07-16 02:40
图挂了 重传。。。。。。
2044f7246b600c3310128b181d4c510fd8f9a19a.jpg
jiaojiex
3楼-- · 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是复位信号。不知是否可行。

鱼鱼鱼fish
4楼-- · 2019-07-16 08:42
 精彩回答 2  元偷偷看……
烦烦烦小灰
5楼-- · 2019-07-16 09:26
jiaojiex 发表于 2016-5-21 00:15
楼主是想做32位的移位计数器吗?我初学者,不知下面的代码行不行?
always @(posedge CP)
begin

移位寄存器如果按照你这样的方法写,那不得麻烦死,看看verilog数字系统设计那本书吧,用拼接符,或者移位写

一周热门 更多>