Verilog与VHDL入门指南:硬件描述语言基础与代码实战对比
导读:
本文介绍VHDL与Verilog两大硬件描述语言(HDL),解析Verilog模块基本结构、wire数据类型与向量形式,对比两语言核心差异。
什么是Verilog?
Verilog是IEEE 1364标准化的HDL,主流用于电子电路/系统描述、数字电路设计与验证。
什么是VHDL?
VHDL同样是HDL,用于电子设计自动化(EDA)描述电子系统行为与结构,尤其擅长数字硬件与常规数字电路的结构/行为建模。
需同时掌握两语言吗?
两者均是复杂数字电路设计利器,精通其一即可,但建议具备另一语言基础认知,便于跨团队协作与遗留代码维护。
Verilog演进简史
1984年Gateway Design Automation设计。1987年VHDL成IEEE标准,Verilog于1995年跟进。名称源自「Verification」(验证)+「Logic」(逻辑),初衷为仿真验证工具。现两者并立为主流HDL。
实例1:双输入与门电路
电路图:
两个1位输入,一个1位输出。Verilog描述:
- 第1/8行:
module/endmodule界定Circuit_1模块边界 - 第2-6行: 接口声明。
input/output定义端口,wire声明物理连线类型(a、b、out1) - 第7行:
assign out1 = a & b;位与运算,连续赋值——右侧表达式变化即时触发左侧重新求值,输出持续更新
Verilog与VHDL代码对比

VHDL需显式引用库定义类型/算子,代码更冗长但高层建模表达力更强。
Verilog四值逻辑系统
0:低电平/假1:高电平/真z:高阻态(三态缓冲器输出)x:未知值
VHDL std_logic 九值逻辑,常用 '0'、'1'、'Z'、'-'(后者表示未知)。
实例2:组合逻辑电路(含非/或/异或)
电路图:
Verilog代码:
新增第10行内部信号声明(wire)。位运算符:~(非)、|(或)、^(异或)。
实例3:总线/向量化建模
原理图:
红/蓝输入总线经与运算输出。将信号分组为向量,代码紧凑可读。可扩展实例1代码描述:
注意: 向量索引范围可升序([0:2])或降序([2:0])。降序格式更不易出错,工程实践推荐。
工业技术