verilog 非阻塞赋值的综合

2019-07-16 02:01发布

刚学verilog,试了一下非阻塞赋值,代码如下, 很简单
module test(clk,in,out);
input clk;
input in;
output reg out;
always @(posedge clk)
out <= in;
endmodule
时序仿真后结果如下图,为什么会这样,我不明白,不是在时钟上升沿做的赋值吗
1.jpg
testbench就不贴出来了,直接看仿真波形
谁解释一下,我看综合后RTL实际上是一个D触发器,结果怎么会是这样,菜鸟求教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
hchongatustc
1楼-- · 2019-07-16 07:28
 精彩回答 2  元偷偷看……
ened
2楼-- · 2019-07-16 08:55
初始化呢?
zh01085105
3楼-- · 2019-07-16 12:00
这个应该是时序仿真吧,我看你的时延很大,其实非赋值,像是一个d触发器,当前值会在下一个时钟沿到来时输出,所以想你看的那样,时延一个周期。。。。
cjunrong
4楼-- · 2019-07-16 16:28
你用的是功能仿真,还是时序仿真?如果是时序仿真,那肯定会有延时,这是硬件本身决定的···!
tonggl150
5楼-- · 2019-07-16 19:48
 精彩回答 2  元偷偷看……

一周热门 更多>