打印

FPGA内部产生复位信号可以吗

[复制链接]
1956|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mryw|  楼主 | 2015-3-26 19:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
reg[15:0] count;
always@(posedge clk)
begin
        if(count == 16'd65550)
                count <= count;
        else
                count <= count + 1'b1;
end
//---------------------------------------------
always@(posedge clk)
begin
        if(count < 16'd65550)
                rst_n <= 1'b0;
        else
                rst_n <= 1'b1;
end
由于所使用的板子没有外部复位按键,想通过如上方式产生一个开始是低电平0,随后一直是高电平1的信号,但是使用modelsim仿真发现信号一直是高电平1,这是怎么回事呢?很着急啊

相关帖子

沙发
liudanwei| | 2015-3-26 20:50 | 只看该作者
就是给所有信号一个初态呗

使用特权

评论回复
板凳
jefferchen| | 2015-3-31 23:09 | 只看该作者
pll lock信号可以作为复位

使用特权

评论回复
地板
3008202060| | 2015-3-31 23:26 | 只看该作者
可以啊

使用特权

评论回复
5
chenzhi658| | 2015-4-2 15:19 | 只看该作者
kaiseradler 发表于 2015-3-27 09:42
65550的16进制数是1000E为17位数,你定义为16位数明显溢出!

有道理,你想延长久点,可以多计数器串联;你如果用PLL的话,直接用pll lock信号作为复位信号,这样更稳定。

使用特权

评论回复
6
wolfskin| | 2015-4-15 23:39 | 只看该作者
reg变量定义时要赋初值,之后才能正确仿真

使用特权

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

本版积分规则

17

主题

66

帖子

1

粉丝