新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Verilog HDL基础知识3之抽象级别

Verilog HDL基础知识3之抽象级别

作者: 时间:2024-02-19 来源:电子森林 收藏

Verilog可以在三种上进行描述:行为级模型、RTL级模型和门级模型。
行为级(behavior level)模型的特点如下。

本文引用地址://www.cazqn.com/article/202402/455479.htm

1、它是比较高级的模型,主要用于testbench。

2、它着重于系统行为和算法描述,不在于系统的电路实现。

3、它不可以综合出门级模型。

4、它的功能描述主要采用高级语言结构,如module、always、initial、fork/join/task、function、for、repeat、while、wait、event、if、case、@等。

RTL级(register transfer level)模 型的特点如下。

1、他是比较低级的模型,主要用于ASIC和设计。

2、它着重于描述功能块内部或功能块之间的数据流和控制信号,重点在于电路实现,在于如何在timing、area和power中作出平衡。

3、它可以综合出门级模型。

4、它的功能描述主要采用可以综合的语言结构,如module、always、for、case、if、assign、@、continuoous assignment、blocking/nonblocking assignment等。

门级(gate level)模型的特点如下。

1、它是更加低级的模型,主要用于后端的物理实现。

2、它是实际电路的逻辑实现。

3、它通常是用综合工具从RTL级模型综合出来的。

4、它的功能描述主要采用逻辑门(gate和switch)、用户原语(UDP)、模块和线网连接。

5、它还用于开发小规模的原件,如ASIC和 的单元。

设计工程师可以在不同的设计阶段采用不同的抽象级。

1、在行为级描述各功能模块,评估系统和算法,以降低描述难度,提高仿真速度。

2、在RTL级描述各功能模块,精确描述系统和算法。

3、综合出门级模型,对应于实际电路的逻辑实现。

例子:行为级或RTL级的MUX。
 module mux (input a, b, sel,
             output reg out);
 always @( sel or a or b)
  if (! sel) out = a;
  else       out = b;
 endmodule例子:门级的MUX。
 module mux (input a, b, sel,
             output  out);
   not    u1 (nsel, sel);
   and #1 u2 (sela, a, nsel);
   and #1 u3 (selb, b,  sel);
   or  #2 u4 (out, sela, selb);
  endmodule


评论


相关推荐

技术专区

关闭