verilog初始化问题

2020-02-23 10:36发布

我看过一些文章介绍,利用外部的rst信号,于是我写了下面的代码

module RST(rst, out)

input rst;
output[7:0] out;
reg[7:0] out;

always @(negedge rst)
begin
     out <= 8'b1111_0000;

end

endmodule

我在进行功能仿真是,无论rst的输入是什么,out都输出 8'b1111_0000,这是啥原因啊??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
haitaox
1楼-- · 2020-02-23 11:05
你看一下综合的电路图,是不是吧rst当做时钟用了
玄德
2楼-- · 2020-02-23 16:52
 精彩回答 2  元偷偷看……
lizhezhe1988
3楼-- · 2020-02-23 22:38
把你的Testbech贴出来看看,在者,你这个OUT是个锁存器啊,只要RST有上升样,OUT就一直是1111_0000^
cyberbill
4楼-- · 2020-02-24 04:07
lizhezhe1988 发表于 2014-7-10 22:29
把你的Testbech贴出来看看,在者,你这个OUT是个锁存器啊,只要RST有上升样,OUT就一直是1111_0000^ ...

如果我想out有一个默认值1,当rst时才变成 8'b1111_0000应该怎样写?
nethopper
5楼-- · 2020-02-24 07:30
只写了置0的条件,没写置1的条件
lizhezhe1988
6楼-- · 2020-02-24 08:10
cyberbill 发表于 2014-7-10 23:43
如果我想out有一个默认值1,当rst时才变成 8'b1111_0000应该怎样写?

直接reg out[7:0]=8'b1111_1111;

一周热门 更多>