1.设计定义
根据设计需求,明确系统功能与性能指标,确定设计目标与约束条件。
明确功能、性能、接口、时钟复位、资源/功耗/成本约束。
2.设计输入
准备设计所需的源文件,包括硬件描述语言代码、约束文件及IP核配置等。
编写 HDL,准备约束文件(XDC/SDC)、IP 核、Testbench 等。
解释:
(1)HDL: HDL是英文Hardware Description Language 的缩写 ,HDL 是数字电路的设计语言,FPGA 工程师用它来描述电路功能,然后由 EDA 工具把它变成 FPGA 内部真实的硬件配置。
(2)Testbench :Testbench,中文常叫测试平台或测试台,是用于对 HDL 设计进行仿真验证的一段代码环境。简单来说,Testbench 就是给被测设计提供输入激励,并观察、检查其输出是否正确的"虚拟实验台"。
(3)约束文件:约束文件 是 FPGA 开发中用来告诉 EDA 工具"这个设计要满足什么条件、怎么实现"的文件。它不描述电路功能,而是描述时序要求、引脚分配、电平标准、时钟定义、特殊路径等实现约束。
**(4)IP 核:在FPGA中,IP 核指的是已经设计好、经过验证、可以重复使用的功能模块。**它可以是 CPU、总线、存储器控制器、以太网 MAC、PCIe 控制器、DSP 算法、PLL 等。你不需要从零写这些复杂模块,直接调用或配置即可。
3.分析综合
采用EDA工具(如Vivado、Quartus)对设计进行综合与分析,将HDL代码映射为逻辑网表。
用 ModelSim、VCS、XSim 等验证逻辑功能,通常不涉及真实延时。
4.功能仿真
使用ModelSim等仿真工具对设计进行功能验证,检查逻辑行为是否符合预期。
用 Vivado、Quartus 等把 HDL 映射为逻辑网表。Quartus 里叫 Analysis & Synthesis,Vivado 里叫 Synthesis。
5.布局布线
将综合后的逻辑网表转化为实际电路,完成布局与布线,生成物理实现。
Vivado 叫 Implementation,Quartus 叫 Fitter/Place & Route,把网表映射到 FPGA 具体资源并连线。
6.分析性能
通过时序仿真与静态时序分析,评估设计的时序收敛性与整体性能表现。
做静态时序分析 STA、时序仿真、功耗和资源分析,确认时序收敛。
7.板级调试
将生成的比特流文件下载到开发板中,进行板级验证与调试,确保系统在实际硬件上正常运行。
生成 .bit / .sof 等配置文件。下载比特流到 FPGA,用 ILA、SignalTap、VIO、示波器等验证实际硬件行为。