一、硬件描述语言HDL
具有特殊结构能够对硬件逻辑电路的功能进行描述的一种高级编程语言。
HDL主要分为两种:Verilog 与 VHDL
Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。
Verilog 用于描述:系统级、算法级、寄存器传输级(RTL级)、逻辑、门级、电路开关级的设计
设计理念:自顶向下;
MUX(多路选择器):可以任意选择一个行为。
寄存器级描述:用语言描述内部的部件,语法上的一种说法,如下所示:
- module muxtwo(out, a, b, sl);
- input a,b,sl;
- output out;
- reg out;
- always @(sl or a or b)
- if (!sl) out = a;
- else out = b;
- endmodule
二、简单的Verilog HDL 的例子
1、数据选择器
功能描述:
输入信号:in0 、in1均为8位二进制数; sel为地址信号(1位)
输出信号:out 为8位二进制数
输出、输入关系:当 sel = 0 时:out = in0; 当 sel = 1 时:out = in1;
原代码如下:
代码描述:
程序为模块结构,代码包含在module 与 endmodule 之间;
mux 为 模块名称,()小括号中包含的是 输出、输入端口的列表
parameter 代表参数; N = 8 表示数据的位数
output[N:1] out; 输出端口的描述,[ ] 括号内部填写 位数 由高到低
input : 输入端口的描述
assign :逻辑功能的描述
- module mux(out, in0, in1, sel)
- parameter N = 8;
- output[N:1] out;
- input[N:1] in0,in1;
- input sel;
- assign out = sel?in1:in0;
- endmodule
三、反向器的设计
- module inv(A, Y)
- input A;
- ouput Y;
- assign Y = ~A;
- endmodule