菜鸟来问:always里面使用"<="与"="的区别
时间:10-02
整理:3721RD
点击:
如题。另外想问一下,always @(posedge clk) a<=b;与always @(posedge clk) a=b综合后的电路图分别是什么样子的?
没人回答么?是这个问题太容易了么?可我不知道哇。
你可以自己综合看看嘛。呵呵。如果是在这两个程序里,我感觉差不多。如果你前者用时序逻辑,后者用组合逻辑,就能看出不同了。
在仿真的时候一个是顺序执行,一个是并行执行
写代码的时候组合逻辑用=
时序逻辑用《=
感觉没有差别,,,都是时序逻辑
1# oscillator_cn1
单独写时是一样的,没区别:
always @(posedge clk) begin
a <= b;
end
always @(posedge clk) begin
a = b;
end
如果不是单独写就不同了,你可以仿真和综合一下如下代码:
always @(posedge clk) begin
a <= b;
c <= a;
end
always @(posedge clk) begin
a = b;
c= a;
end
写代码的时候组合逻辑用=
时序逻辑用《=
阻塞和非阻塞的区别吧
6楼的例子举得很好,这两种情况下是不同的综合效果。在第一种看不出来阻塞和非阻塞的区别,只有在第二种情况下才能发现。
6楼的例子举得很好,这两种情况下是不同的综合效果。在第一种看不出来阻塞和非阻塞的区别,只有在第二种情况下才能发现。
是否是后者会综合为一条线连过去的?
嗯,后者直接把b给忽略掉了。
8楼说的很对~~
一个阻塞赋值一个事非阻塞赋值,看看verilog的书就知道了