求问一个Verilog的问题

问题如下图最后两行程序,第一个时钟上升沿来临时,完成C<=A+B;第二个时钟来临时完成result<=(C>>1);为什么这两步是分为两个时钟,不是并行的么?不应该一个时... 问题如下图最后两行程序,第一个时钟上升沿来临时,完成 C <= A + B;第二个时钟来临时完成 result <= (C >> 1); 为什么这两步是分为两个时钟,不是并行的么?不应该一个时钟,两个程序都走完么? 展开
 我来答
百度网友af2ab35
2018-09-12 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:134
采纳率:94%
帮助的人:33.4万
展开全部
因为执行result<=(C>>1)的时候,这时的C不是C<=A+B的C,而是C在时钟上升沿的前一个值。
假设初始a=0101,b=0010,c=1011
第一个时钟上升沿来临的时候:C=0101+0010=0111 result=1011>>1=0101
追问
意思是always语句,运行两遍,还是begin end 内部顺序执行,造成这种原因的?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式