阻塞赋值与非阻塞赋值的问题
时间:10-02
整理:3721RD
点击:
moudle osc1(clk);
output clk;
reg clk;
initial #10 clk=0;
always @(clk)#10 clk=~clk;
endmudoule
这是一个非自触发振荡器。
moudle osc1(clk);
output clk;
reg clk;
initial #10 clk=0;
always @(clk)#10 clk<=~clk;
endmudoule
这是一个自触发振荡器。
这是夏宇闻老师的verilog教程中的例题,在这里阻塞赋值与非阻塞赋值的区别怎么体现出来?
output clk;
reg clk;
initial #10 clk=0;
always @(clk)#10 clk=~clk;
endmudoule
这是一个非自触发振荡器。
moudle osc1(clk);
output clk;
reg clk;
initial #10 clk=0;
always @(clk)#10 clk<=~clk;
endmudoule
这是一个自触发振荡器。
这是夏宇闻老师的verilog教程中的例题,在这里阻塞赋值与非阻塞赋值的区别怎么体现出来?
同惑 有没有人给详细解释下啊
看看这个能不能解决你的问题
http://www.eetop.cn/bbs/viewthre ... hlight=%D7%E8%C8%FB
先谢一下
仔细看看
哦,那些原则我都明白
只是涉及到我问的问题上。
第一个非自触发振荡器仿真的结果是一个10ns的低电平,然后一直是高电平
而第二个自触发振荡器仿真的结果是一个周期为20ns的信号
我不明白为什么夏老师推荐用第一个非自触发振荡器,而这个结果明明是错误的
我也对这个问题不是太明白
http://www.eetop.cn/bbs/viewthread.php?tid=45436&extra=page%3D1
去这里看看,文章里有这个例子的解释,虽然我本人没有完全看懂,看看对你有没有帮助。
我不明白为什么夏老师推荐用第一个非自触发振荡器,而这个结果明明是错误的
我觉的他是不推荐这种风格的代码.
要写振荡器,直接
always #5 clk=~clk;
个人理解!
学习中,搞不懂
只知道组合电路用阻塞,时序电路用非阻塞。看不懂
我的理解:阻塞赋值给串行的行为建模,非阻塞给并行行为建模。
非阻塞赋值,是同步,并行的,而非阻塞是异步的
