打印

XST和synplify综合出的结果完全不一致

[复制链接]
975|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhangxptt|  楼主 | 2016-11-10 15:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是xillinx的XC2C32A,很老的CPLD。就是一个流水灯小程序。XST能实现流水灯显示。但是在synplify综合后,4个LED一直常亮。到底是哪里的问题呢?
代码如下:
module Main(
   iCLK,
        oLED
         );

input iCLK;
output [3:0]oLED;

reg [24:0]sr_counter = 25'b0;
reg [3:0]sr_led = 4'b1110;

assign oLED = sr_led;

always@(posedge iCLK)
        if(sr_counter >= 25'd25000000)
                sr_counter <= 1'b0;
        else
                sr_counter <= sr_counter + 1'b1;

always@(posedge iCLK)
        if(sr_counter >= 25'd25000000)
                sr_led <= {sr_led[2:0],sr_led[3]};
        else
                sr_led <= sr_led;

endmodule

相关帖子

沙发
zhangxptt|  楼主 | 2016-11-11 10:10 | 只看该作者
有大神来指教一下么

使用特权

评论回复
板凳
玄德| | 2016-11-11 10:34 | 只看该作者

1、没有复位逻辑,所有寄存器和位变量都没有初值,所以都不可预期。

2、25'd25000000,六个0,我没看错吧?

使用特权

评论回复
地板
玄德| | 2016-11-11 10:34 | 只看该作者

奇怪,遇到n多人不管复位逻辑。


使用特权

评论回复
5
zhangxptt|  楼主 | 2016-11-16 11:16 | 只看该作者
谢谢高手的指教,我小白,再问一下,什么是复位逻辑

使用特权

评论回复
6
Dick Hou| | 2016-11-16 15:17 | 只看该作者
zhangxptt 发表于 2016-11-16 11:16
谢谢高手的指教,我小白,再问一下,什么是复位逻辑

加个复位脚,将寄存器复位。

楼主在e.e.t.o.p也发了贴吧,回复过你了,是不是忘记去看了?

使用特权

评论回复
7
泽曦儿| | 2016-11-16 22:32 | 只看该作者
Dick Hou 发表于 2016-11-16 15:17
加个复位脚,将寄存器复位。

楼主在e.e.t.o.p也发了贴吧,回复过你了,是不是忘记去看了? ...

寄存器不复位可能带来想不到的后果

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

0

粉丝