一个Verilog新手问题

[复制链接]
1641|7
 楼主| supers001 发表于 2013-11-7 15:37 | 显示全部楼层 |阅读模式
如下:
always@(posedge clk)
begin
    ......
end

假如顺序块里面语句没有执行完,下一个CLK又来了,会是什么结果呢??
zhang-sb23 发表于 2013-11-7 19:50 | 显示全部楼层
你这里的always块使用的是时钟沿触发,里面的所有语句是并发执行的,你应该多看下书,了解一下并发执行的特点,它与C语言是有区别的。
 楼主| supers001 发表于 2013-11-7 22:09 | 显示全部楼层
zhang-sb23 发表于 2013-11-7 19:50
你这里的always块使用的是时钟沿触发,里面的所有语句是并发执行的,你应该多看下书,了解一下并发执行的特 ...

我也觉得应该是并行执行,只是夏宇闻的书里面说那是顺序块,得一条执行完了后,再执行下一条,我就有点迷糊了
41402169 发表于 2013-11-7 23:33 | 显示全部楼层
注意阻塞和非阻塞的区别
zyj_hb 发表于 2013-11-8 20:08 | 显示全部楼层
个人理解:begin end 之间是顺序执行的。begin end 和begin end之间是并行执行的。但这些语句最后生成的是硬件电路,不是CPU执行的二进制代码。clk和下一个clk之间,这部分电路执行的时间应该足够了。
lizhezhe1988 发表于 2013-11-10 15:25 | 显示全部楼层
编写一个小的程序,用modelsim仿真一下看看波形不就理解了……
chenkui456 发表于 2013-11-10 15:36 | 显示全部楼层
不要拿软件的思想来看硬件,这里没有执行!verilog最后都变成了硬件电路,你让电路怎么执行?
 楼主| supers001 发表于 2013-11-10 16:13 | 显示全部楼层


我是不明白,书上为什么还要这么写误导新手呢,而且还是大名鼎鼎的夏老师的书

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部