行为级、RTL 和门级之间的区别

行为级、RTL 和门级之间的区别

我正在努力全面理解Verilog的抽象级别之间的差异,我知道每个级别的描述是什么,但我仍然无法在实践中理解。

针对这种情况,我将粘贴一些Verilog代码以及我的想法:

以下代码处于行为级别。

always @ (a or b or sel)

begin

y = 0;

if (sel == 0) begin

y = a;

end else begin

y = b;

end

end

这里只是一个例子,处于门级别

module test(clk, ready, next, Q);

input clk, enable, next;

output Q;

\**SEQGEN** reg_1 (.clear(1'b0), .next_state(next), .clocked_on(clk), .Q(Q), .synch_enable(enable) );

endmodule

我不知道这段代码是RTL还是门级电路(我预计always关键字会使其成为RTL而不是门级电路)

module dff_from_nand();

wire Q,Q_BAR;

reg D,CLK;

nand U1 (X,D,CLK) ;

nand U2 (Y,X,CLK) ;

nand U3 (Q,Q_BAR,X);

nand U4 (Q_BAR,Q,Y);

// Testbench of above code

initial begin

$monitor("CLK = %b D = %b Q = %b Q_BAR = %b",CLK, D, Q, Q_BAR);

CLK = 0;

D = 0;

#3 D = 1;

#3 D = 0;

#3 $finish;

end

always #2 CLK = ~CLK;

endmodule

我已经知道initial begin和end不能综合,并且只用于测试。现在我有两个问题:

第二和第三段代码是RTL还是门级电路?能否给出一个好的RTL代码示例?我找到了这个RTL Code Example,但那真的是RTL吗?对我来说它看起来像行为级别。

什么是Verilog网表?它与门级电路相同,还是具有上下文基础的定义?

我很困惑,因为在一些网站上我不知道他们是在说“这是使用逻辑门的Verilog代码”还是“这是门级别的Verilog代码”。

如果有人愿意详细解释这个话题,我会非常高兴 :)

相关推荐

亿滋的前世今生
365bet备用在线

亿滋的前世今生

📅 01-27 👁️ 8232
安全验证
365bet备用在线

安全验证

📅 12-29 👁️ 4379
Jack'd - 男同志聊天與約會
365bet备用在线

Jack'd - 男同志聊天與約會

📅 01-22 👁️ 9718
100平琴行装修多少钱,有什么要注意的呢?
365bet备用在线

100平琴行装修多少钱,有什么要注意的呢?

📅 10-25 👁️ 3478
【C语言】深入理解指针(一篇让你完全搞懂指针)
约彩365手机下载安装

【C语言】深入理解指针(一篇让你完全搞懂指针)

📅 08-19 👁️ 414