前言:
Verilog HDL是一门硬件设计语言。
硬件描述语言(HDL)是一种用形式化方法描述数字电路和设计数字逻辑系统的语言。
第四章笔记
Verilog HDL的基本设计单元是模块,一个模块由描述接口和描述逻辑功能两部分构成。
Verilog HDL程序由五部分构成:模块声明,端口定义,数据(信号)类型声明,逻辑功能描述,结束模块。
例:与或门电路
module ao(a,b,c,d); //模块名:ao,端口:a,b,c,d
input a,b; //输入端口a,b
output c,d; //输出端口c,d
wire a,b,c,d; //定义数据类型为wire型(线网类型)
assign c=a|b; //逻辑功能描述(连续赋值)
assign d=a&b; //逻辑功能描述(连续赋值)
endmodule //模块结束
注:每个模块实现特定功能,可以进行层次嵌套。
端口说明:input,output,inout(输入输出端口)。
数据类型说明:wire(线网),reg(寄存器),parameter(参数)
逻辑功能定义:assign(连续赋值),always(过程赋值),function(函数),task(任务)
模块中所有信号都应定义数据类型,端口如果没有定义则默认为wire型数据,输入和双向端口不能声明为reg型。
例化的定义:
模块或元件的调用指从元件或模块模板生成实际的电路结构的过程,元件或模板的每一次调用均生成一个单独电路,需要自己的名字、变量、参数及I/O口,因此也称为例化。
例化过程:
and a1(se_a,a,se)
and a2(se_b,b,se_n)
一般Verilog HDL模块程序的模板如下:
module <顶层模块名>(<输入