跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

FPGA 开发入门:基于 Quartus 实现 LED 控制

FPGA 开发流程涉及工程目录规划、原理图分析、代码编写及仿真验证。以 Altera EP4CE10 芯片为例,详解 Quartus II 环境下的 LED 点亮项目。涵盖 doc、rtl、sim 等文件夹分工,阐述从设计输入到引脚约束的完整步骤。重点解析按键与 LED 电路逻辑,说明 RTL 视图生成与 ModelSim 仿真的必要性,强调引脚分配需严格对照手册以防硬件损坏。适合 FPGA 初学者建立标准化开发习惯。

数字游民发布于 2026/4/5更新于 2026/7/2342 浏览

FPGA 工程搭建与 LED 点亮实战

1. 工程目录规划

建立一个清晰的工程文件夹结构是良好习惯的开始。建议创建名为 led 的主目录,并包含以下四个子文件夹:

  • doc:存放文档资料、数据手册、Visio 波形图等,相当于档案库。
  • quartus_prj:存放 Quartus II 新建的工程文件,相当于操作台。
  • rtl:放置生成硬件电路的 Verilog 代码,相当于原材料。
  • sim:放置仿真测试文件,相当于质检室。

这四个文件夹分工明确,通过路径关联和文件引用形成闭环。quartus_prj 作为中枢,向上读取说明,向下获取代码,向外调用仿真脚本;sim 则验证 rtl 逻辑的正确性。

2. 设计流程概览

无论进行何种 FPGA 项目,遵循标准流程至关重要。以下是推荐的开发步骤:

  1. 需求分析:阅读手册和原理图,明确功能目标。
  2. 环境配置:新建工程,选择对应的开发芯片型号。
  3. 代码实现:编写 Verilog 代码实现电路逻辑。
  4. 编译仿真:编译代码并进行仿真测试,验证逻辑无误。
  5. 引脚分配:将逻辑信号映射到具体的物理引脚,完成硬件绑定。

3. 工程详细实现

(1)原理图分析

首先打开开发板原理图,定位'按键'和'LED'模块。以 KEY1 与 LED1 为例:

按键电路

LED 电路

逻辑解析:

  • 按键松开:SW2 断开,KEY1 被拉低至 GND(低电平)。FPGA 输入引脚接收 0,输出给 LED 电路的信号为 0,LED1 不亮。
  • 按键按下:SW2 导通,KEY1 被拉高至 3V3(高电平)。FPGA 输入引脚接收 1,输出给 LED 电路的信号为 1,LED1 点亮。

在此阶段,建议在 Visio 中绘制功能框图和预期波形图,并保存至 doc 文件夹,以便后续对比验证。

(2)工程配置

在 Quartus 中新建工程,路径指向 quartus_prj 文件夹。配置时需关注两点:

  1. 源文件管理:Quartus 需要识别源代码文件才能生成电路。虽然此时尚未编写代码,但需确保工程能正确关联后续添加的 .v 文件。
  2. 器件选择:必须严格匹配芯片型号。以 Altera EP4CE10E22C8N 为例:
    • Family:Cyclone IV E 系列。
    • Package:EQFP 封装(对应 Any QFP)。
    • Pin Count:144 引脚。
    • Speed Grade:8。
    • Temperature:0-85°C。

配置错误会导致编译失败或无法下载,务必核对芯片丝印信息。

(3)代码编写

在 rtl 文件夹下新建 led.v 文件,使用文本编辑器编写 Verilog 代码。代码需实现按键输入到 LED 输出的逻辑映射。

编写完成后,回到 Quartus 软件,将 led.v 添加到工程中。这一步确保了 quartus_prj 能够访问并处理硬件描述代码。

(4)编译与仿真

点击任务栏中的 Compile Design 进行编译。该过程包含语法检查、布局布线、时序分析及生成下载文件。

编译成功后,查看 RTL 视图,确认生成的硬件电路图是否符合预期设计。随后进行仿真测试(Verify Design),这是验证逻辑的关键步骤。RTL 视图仅展示综合后的电路结构,而仿真能模拟实际运行时的输入输出状态。

在 ModelSim 中运行仿真,对比生成的波形图与 Visio 设计的预期波形。若两者一致,说明逻辑正确。

(5)引脚约束

仿真通过后,需分配物理引脚。根据芯片 IO Bank 分布,将信号分配至具体引脚:

// 示例约束格式(具体引脚号需查阅手册)
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to key_in
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to led_out

注意:EP4CE10E22C8N 的 key_in 和 led_out 通常位于 IOBANK_3。强烈建议参考官方手册或原理图进行分配,错误的引脚设置可能导致工程无法运行甚至损坏芯片。

至此,工程已完成从设计到约束的全过程。后续烧录步骤可参照官方文档执行。建立标准化的开发流程,有助于提升后续复杂项目的开发效率。

目录

  1. FPGA 工程搭建与 LED 点亮实战
  2. 1. 工程目录规划
  3. 2. 设计流程概览
  4. 3. 工程详细实现
  5. (1)原理图分析
  6. (2)工程配置
  7. (3)代码编写
  8. (4)编译与仿真
  9. (5)引脚约束
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Edge 边栏 Copilot 图标消失修复方案
  • QClaw 上手指南:本地 AI 代理的桌面化实践
  • 积木报表快速入门:从零开始设计数据可视化报表
  • AI 绘画提示词生成器的效率优化实践:从原理到工程实现
  • AI 鸿蒙 App 开发:从页面到能力系统的架构变革
  • 斯坦福 2025 AI Index Report 核心洞察:从技术突破到系统扩散
  • 基于FPGA的CARRY4 抽头延迟链TDC延时仿真
  • 昇腾平台下 DeepSeek-R1 与 Qwen2.5 强化学习训练优化实践
  • 程序员为何要尽早掌握基础知识与设计模式
  • WebLaTeX:基于 VSCode 的云端 LaTeX 写作平台
  • AIGC 个性化与定制化内容生成:技术原理与应用场景
  • AI 网络技术编程测试:从理论到实践
  • AI 驱动下内存价格暴涨原因与能源隐私绿色趋势解析
  • Flask 结合 OpenCV 的虚拟视点合成视差估计算法实现
  • Redis 主从复制原理详解:配置、同步与故障处理
  • Visual Studio 中关闭 Copilot AI 代码提示的方法
  • C++ 伸展树与红黑树原理及实现
  • Pyenv 多版本 Python 环境管理与实战指南
  • 基于 YOLO 与大模型的多场景智能检测系统架构设计
  • 前端分层架构实战:DDD 与 Clean Architecture 落地实践

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online