1. verilog 简介
verilog HDL (简称 verilog) 是一种 硬件描述语言
,用于数字电路的系统设计。可对算法级、门级、开关级等多种抽象设计层次进行建模。
笔记
-
verilog 是一种硬件描述语言,也就是说 verilog 是对具体电路的描述。与软件的是有差别的。
-
例如:有些设计逻辑是可行的,但是具体的电路实现不了。
2. 主要特性
- 可采用 3 种不同方式进行设计建模:
- 行为级描述:使用过程化结构建模。
- 数据流描述:使用连续赋值语句建模。
- 结构化方式:使用门和模块例化语句描述。
笔记
对应 verilog 代码如下:
- 行为级描述,过程化结构建模。
always @(...) begin
if (...) begin
...
end
else begin
...
end
end
- 数据流描述,连续赋值语句建模。
assign a = b;
- 结构化方式,使用门和例化语句描述。
/// 门语句描述
assign a = b & c;
/// 例化语句描述
a u_a(
.A(A),
.B(B),
.C(B)
);
-
两类数据类型:线网(wire)数据类型与寄存器(reg)数据类型。线网(wire)表示物理元件的
连线
,寄存器(reg)表示数据存储元件
。 -
用户定义原语(UDP)创建十分灵活。原语既可以是组合逻辑,也可以是时序逻辑。
-
设计逻辑功能时,可以不用关心不影响逻辑功能的因素,例如工艺、温度等。
3. 主要应用
专用集成电路(ASIC),就是具有专门用途和特殊功能的独立集成电路器件。
verilog 作为 硬件描述语言
,主要用来生成专用集成电路。
主要通过以下 3个途径来完成:
-
可编程逻辑器件
FPGA 和 CPLD 是实现这一途径的主流器件。它们具有极大的灵活性和通用性,实现快捷,测试方便,开发效率高而成本较低。
-
半定制或全定制 ASIC
就是利用 verilog 来设计具有某种特殊功能的专用芯片。
-
混合 ASIC
主要指既有面向客户的 FPGA 可编程逻辑功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块,如 CPU,RAM,锁相环,乘法器等。