ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

01_EDA与Quartus完整设计流程

01_EDA与Quartus完整设计流程 EDA与Quartus完整设计流程从电路想法到开发板运行本文按 CSDN 学习文章的方式完整串起 EDA、HDL、综合、仿真、引脚与下载。目标不是背菜单而是理解一套 FPGA 设计如何真正落到开发板上。一、EDA到底解决什么问题EDA 是 Electronic Design Automation中文是电子设计自动化。它使用计算机与设计软件把功能要求变成 FPGA、CPLD 或 ASIC 能实际实现的硬件。可以把它看成电子电路的建筑流程Verilog或原理图是施工图综合器把施工图翻译为逻辑单元布局布线给每个逻辑单元安排器件里的位置与连线下载配置则把方案装到芯片中。软件程序让已有 CPU 执行指令HDL 描述的是需要同时存在的电路。两个always块像两条并行生产线不是一个 CPU 先跑完前一个再跑后一个。缩写含义初学者理解FPGA现场可编程门阵列可反复配置的大量逻辑积木CPLD复杂可编程逻辑器件适合确定控制逻辑的可编程器件PLD可编程逻辑器件FPGA、CPLD等的统称ASIC专用集成电路为某功能定制制造的芯片HDL硬件描述语言写硬件结构与行为的语言RTL寄存器传输级描述寄存器、组合逻辑和数据流动IP知识产权核已验证、可复用的功能模块SoC片上系统处理器、存储、接口等集成于一颗芯片二、Top-down、IP复用和设计闭环复杂系统通常采用自顶向下设计先确定系统做什么再拆成模块和子模块。例如交通灯可拆成时基、倒计时、状态机和灯输出。每一层都经历“设计→验证→修改→再验证”直到速度、资源、功耗和可靠性达标。自底向上则从门、加法器、计数器等小模块开始拼装。它像积木适合复用但大型工程仍必须先规划接口。IP核就是可复用模块软IP是HDL描述固IP是综合网表等中间交付物硬IP是绑定工艺的物理实现。完整流程为明确接口、时钟、复位、功能和边界条件。用原理图或HDL完成设计输入。做功能仿真确认逻辑正确。综合检查推断出的寄存器、加法器、选择器、锁存器。布局布线与时序分析确认目标频率能工作。分配开发板管脚重新编译。下载配置文件在板上验证。功能仿真回答“逻辑对不对”时序分析回答“在目标频率下能不能及时到达”。布局布线不只是连线还要在速度、面积和布线资源之间折中。三、Quartus工程从零建立每个工程使用独立英文目录避免中间文件混杂。通过File → New Project Wizard填写目录、工程名、顶层实体名再加入源码。顶层实体是全系统入口选错后可能编译了另一个模块。随后选择开发板实际使用的器件系列和完整型号。器件型号、管脚表和 I/O 电平标准都以手中开发板资料为准不能照抄其他工程。原理图输入可新建Block Diagram/Schematic File双击编辑区选择 Symbol。连线时确认交叉线是否真正连接、端口宽度是否一致。文本输入则新建Verilog File建议源文件名与主模块名一致。编译前把真实顶层设为Set as Top-Level Entity。执行Processing → Start Compilation后不应只看成功提示还要检查未连接端口、位宽截断、多驱动、意外锁存器和时钟约束等警告。RTL Viewer用于观察寄存器、选择器、加法器等抽象结构技术映射视图展示它们在目标器件里的实现。读图时追踪数据从哪里进入、经什么组合逻辑、在哪个寄存器保存、又反馈到哪里。四、波形仿真怎样做才有效新建 VWF 波形文件用 Node Finder 加入输入输出节点。为复位、使能和数据设置激励为clk设置周期例如40 ns对应25 MHz然后运行仿真。以计数器为例至少验证复位是否回初值释放复位后是否逐拍计数使能关闭是否保持到终值是否正确回零。同步复位只能在有效时钟沿生效异步复位还要在两个时钟沿之间测试。画波形的可靠方法是先画时钟和控制信号每个有效边沿列出寄存器沿前值根据代码计算沿后值最后重新计算组合输出。非阻塞赋值读的是沿前右值不能让同一拍数据提前穿过多级寄存器。五、管脚、下载与板级验证逻辑端口名像人的姓名芯片脚号像住址。端口名对、住址错信号仍会跑到错误的位置。用Assignments → Pin Planner为顶层端口指定Location并设置板卡需要的I/O标准完成后必须重新编译。下载时连接下载器与目标板在 Programmer 中确认硬件接口、目标器件链和配置文件再执行Start。进度到100%只说明下载流程完成仍要操作开关、观察LED或数码管确认真实行为与仿真一致。排错顺序建议固定为顶层→复位极性→时钟→使能→位宽→引脚→I/O标准→是否下载最新文件。这样能避免在代码、工程和硬件之间盲目试错。六、工具的分工与小结Quartus、Vivado、ISE、Diamond等是集成开发环境Synplify等负责逻辑综合ModelSim、VCS等负责仿真。版本会变化但“输入、综合、实现、验证”的分工不变。真正的设计闭环是需求明确 → RTL正确 → 仿真正确 → 时序满足 → 管脚正确 → 板上正确。任何一个环节跳过都可能出现“仿真没问题、板上不工作”。
返回列表