微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 阻塞赋值与非阻塞赋值的问题

阻塞赋值与非阻塞赋值的问题

时间: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教程中的例题,在这里阻塞赋值与非阻塞赋值的区别怎么体现出来?

同惑 有没有人给详细解释下啊

看看这个能不能解决你的问题
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;
个人理解!

学习中,搞不懂

只知道组合电路用阻塞,时序电路用非阻塞。看不懂

我的理解:阻塞赋值给串行的行为建模,非阻塞给并行行为建模。

非阻塞赋值,是同步,并行的,而非阻塞是异步的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top