Verilog HDL学习笔记(一)| 数字设计综述与层次建模概念

发布时间:2026/9/1 23:47:04
Verilog HDL学习笔记(一)| 数字设计综述与层次建模概念 一、为什么数字电路设计需要硬件描述语言HDL1.1 数字电路设计的发展历程数字电路设计技术的发展大致经历了以下几个阶段关键转折点在于当芯片上集成的晶体管数量超过10万个时传统的画原理图→面包板验证方式已经完全行不通了。这时候就需要一种用文本来描述硬件电路的方法——这就是硬件描述语言HDL诞生的背景。1.2 什么是硬件描述语言HDLHDL是一种用于描述数字电路和系统的文本化语言。与普通编程语言如C语言不同HDL的核心特点是并发性——它描述的是多个硬件模块同时工作的行为。目前主流的HDL有两种二、基于HDL的典型设计流程2.1 设计流程图解┌─────────────────────────────────────────────────────────────────┐ │ 第1步编写设计规格书Specification │ │ → 描述电路的功能、接口、性能指标抽象层次最高无硬件细节 │ └───────────────────────────┬─────────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 第2步行为级描述Behavioral Description │ │ → 用HDL描述电路的算法和行为不关心具体实现结构 │ │ → 用于早期功能验证和架构评估 │ └───────────────────────────┬─────────────────────────────────────┘ ▼ 设计者手工完成转换 ┌─────────────────────────────────────────────────────────────────┐ │ 第3步RTL级描述Register Transfer Level │ │ → 描述数据如何在寄存器之间流动、如何处理 │ │ → 这是设计者投入精力最多的环节也是综合工具的输入 │ └───────────────────────────┬─────────────────────────────────────┘ ▼ 综合工具自动完成 ┌─────────────────────────────────────────────────────────────────┐ │ 第4步门级网表Gate-Level Netlist │ │ → 综合工具将RTL描述转换为逻辑门及其连接关系 │ │ → 需要满足时序、面积、功耗等约束 │ └───────────────────────────┬─────────────────────────────────────┘ ▼ 布局布线工具自动完成 ┌─────────────────────────────────────────────────────────────────┐ │ 第5步物理版图Physical Layout │ │ → 生成芯片的物理掩模数据送交制造厂流片 │ └─────────────────────────────────────────────────────────────────┘2.2 关键术语解释必须掌握2.3 为什么HDL设计方法如此重要三个关键原因① 工艺无关性同样的RTL代码只需更换综合工具的工艺库就能生成不同制造工艺的门级网表。无需重新设计。② 早期验证在RTL阶段就可以通过仿真验证功能发现并修正大部分设计错误。等到门级或版图阶段才发现错误修改成本会成倍增加。③ 描述能力强一段几十行的RTL代码可能对应成千上万个逻辑门。如果用原理图来描述同样规模的电路几乎无法阅读和维护。三、Verilog HDL相比其他语言的独特优势语法类似C语言→ 学习门槛低适合有C语言基础的同学支持多抽象层次→ 可以在同一个设计中混合使用门级、数据流、行为级描述综合工具广泛支持→ 主流综合工具Synopsys、Quartus、Vivado等都支持芯片厂商广泛支持→ 无论选择哪家代工厂基本都有Verilog的工艺库编程语言接口PLI→ 可以通过C语言扩展仿真器功能这是Verilog独有的强大特性