参考:Verilog数字VLSI设计教程
硬件描述语言Verilog
Verilog HDL数字设计与综合
Verilog HDL 数字集成电路高级程序设计
1.1 什么是Verilog HDL?
Verilog是一种硬件描述语言,可通过对数字电路和系统的语言描述,对数字电路进行设计和验证。其主要作用是:数字集成电路设计者可以通过HDL,根据电路结构化特点,采用层次化的设计结构,将逻辑功能用电路的方式实现。
目前,Verilog HDL和VHDL是主要的两种HDL。
Verilog的限制是只能描述数字系统,而无法描述模拟系统
Verilog HDL相比于C语言具有以下特点:
并发性
结构化
过程化语句
时序
1.2模块
模块是Verilog HDL设计的基本单元结构
下图是Verilog模块的基本组成:
Verilog一共有三种建模方式:
(1)数据流建模
(2)行为级建模
(3)结构化建模
根据所调用子模块的不同抽象级别,可以将模块的结构描述方式分成三类:
(1)模块级建模
(2)门级建模
(3)开关级建模
模块调用方式:
模块名<参数值列表>实例名(端口名列表);
举个例子:
功能模块
module and_2(a,b,c);
input a,b;
output c;
assign c=a&b;
endmodule
模块调用:
module logic(in1,in2,q);
input in1,in2;
output 1;
and_2 U1(in1,in2,q);
endmodule
如果在同一个模块在当前模块被调用多次时,可以用如下方式表达:
模块重复调用
模块名<参数值列表>实例名(端口名列表),
<参数值列表>实例名(端口名列表),
......
<参数值列表>实例名(端口名列表);
注意:只用最后的末尾为;其余皆为,
模块阵列调用
模块名<实例名>