举一例子
always @ (posedge CLK or begedge RST)
begin
if(~RST)begin a<=1'b0;b<=1'b0; end
else begin
a=b;
b<=b+1'b1;
end
end
请问在RST后的第一个CLK时钟上升沿后 a 和 b 的 输出是什么
b应该不会立马就赋值给a吧?
所以a还是0
b输出1?
是否是这样
我是否可以这么理解 就是说 非阻塞的赋值只在于上升沿来的那一瞬间,利用这个时刻系统的初值进行赋值,而它的输出是在一个延时“t”后,而阻塞赋值是不是就是说会有个值的相互传递过程?
不想自己仿真 呵呵 你们能帮我解答下吗?
3Q
是不是多看优秀的代码会有帮助?
小弟正在搞CPLD+CY7C68013A+LABVIEW+AD+DA的数据采集控制系统。。。
给点意见吧把,。。。
一般来说,看多了别人的模块,自己慢慢吸收就会做了,多看别人做的很重要,先模仿才有创造。
别的,多谷歌,多看看器件官网,会有很多应用笔记告诉你怎么做。比如你第一个USB控制器,很多器件都有相应的应用笔记。AD/DA也类似。
题外话,不知道你用的那款CPLD,一般来说FPGA的触发器资源比CPLD丰富,更适合做时序控制
哥 我错了。。。。。
我正在的学习 为了小弟不走歪路。。。给点意见吧,,,我正在搞数据采集呢,,,,谢了
个人浅见:硬件描述语言,语言是次要的,主要的是算法。对语言可以上网上查一查写代码的一些相关标准,这些标准你知道了,你就会发现,其实算法相同那么大家写出的代码都差不多(这点和其他高级语言例如C、matlab等不同),这也是实际所需要的,因为标准是大家公认的在硬件实现时占用的面积最小,不会对硬件有浪费。且性能也很好,不会出错。
祝你顺利。