第9章 Verilog HDL模型的不同抽
象级别
1
概述
Verilog模型可以是实际电路不同级别的抽象。所谓不同的抽象
级别,实际上是指同一个物理电路,可以在不同的层次上用
Verilog语言来描述它,如果只从行为和功能的角度来描述某一
电路模块,就称为行为模块;如果从电路结构的角度来描述该电
路模块,就称为结构模块。抽象的级别和它们对应的模块类型常
可以分为以下5种
(1) 系统级(system)
(2) 算法级(algorithmic)
(3) RTL级(RegisterTransferLevel):
(4) 门级(gate-level):
(5) 开关级(switch-level)
系统级、算法级和RTL级是属于行为级的,门级是属于结构级的。
//行为级
//行为级
//行为级
//结构级
2
对于数字系统的逻辑设计工程师而言,熟练地掌握门级、
RTL级、算法级、系统级是非常重要的。而对于电路基本部
件(如门、缓冲器、驱动器等)库的设计者而言,则需要掌
握用户自定义源语元件(UDP)和开关级的描述。
一个复杂电路的完整Verilog HDL模型是由若干个Verilog
HDL模块构成的,每一个模块又可以由若干个子模块构成。
这些模块可以分别用不同抽象级别的Verilog HDL描述,在
一个模块中也可以有多种级别的描述。利用Verilog HDL语
言结构所提供的这种功能就可以构造一个模块间的清晰层次
结构来描述极其复杂的大型设计。
3
9.1 门级结构
一个逻辑网络是由许多逻辑门和开关所组成,因此用逻辑门的
模型来描述逻辑网络是最直观的。
Verilog HDL提供了一些门类型的关键字,可以用于门级结构建
模。
4
9.1.1 与非门、或门和反向器及其说明语法
Verilog HDL中有关门类型的关键字共有26个之多。我们只介绍
8个。
and 与门
nand 与非门
nor 或非门
or 或门
xor 异或门
xnor 异或非门
buf 缓冲器
not 非门
门声明语句的格式如下:
<门的类型>[<驱动能力><延时>]<门实例1>[,<门实例2>,…<
门实例n>];
5
9.1.2用门级结构描述D触发器
例9.1用基本逻辑单元组成D型主从触发器
6
module
input
output
flop(data,clock,clear,q,qb);
data,clock,clear;
q,qb;
#10
nd1(a,data,clock,clear),
nand
nd2(b,ndata,clock),
nd4(d,c,b,clear),
nd5(e,c,nclock),
nd6(f,d,nclock),
nd8(qb,q,f,clear);
nand
nd7(q,e,qb);
not
iv2(nclock,clock);
endmodule
iv1(ndata,data),
nd3(c,a,d),
#9
#10
7
9.1.3 .由已经设计成的模块来构成更高一层的模块
q3
q2
q1
q0
d
clk
f4
clr
q
d
q
f3
clk
clr
d
q
f2
clk
clr
d
q
f1
clk
clr
clrb
clk
d3
d2
d1
d0
四位寄存器电路结构图
8