微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 菜鸟来问:always里面使用"<="与"="的区别

菜鸟来问: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的书就知道了

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

网站地图

Top