亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 嵌入式

嵌入式 FPGA 设计:完整开发流程指南

嵌入式 FPGA 设计:完整开发流程指南编者按:随着智能产品设计中先进算法不断涌现,开发者常难以实现满足这些算法处理需求的嵌入式系统。FPGA 提供必要性能,器件能力与开发环境的最新进展使 FPGA 设计面向更广泛工程师群体。本文摘自《架构高性能嵌入式系统》第 4 章,全面综述 FPGA 器件、实现语言、开发流程,并提供 FPGA 设计入门实战演练。
1: 硬件资源
2: 实现语言
3: 开发流程(本文)
4: 构建项目
5: 实现

改编自《架构高性能嵌入式系统》,Jim Ledin 著。


FPGA 开发流程

跨多元应用领域,FPGA 开发遵循通用步骤序列,指导工程师从概念到功能硬件。以下章节概述典型工作流,强调关键决策与最佳实践。

定义系统需求

成功 FPGA 项目始于清晰、无歧义的系统功能、运行模式、关键特性定义。用通俗语言记录预期行为并与所有利益相关方共享达成共识。包含定量性能指标——如输入采样率、输出更新间隔、吞吐率、延迟、功耗限制——以及物理尺寸、电池寿命、温度范围、成本约束。完整需求集确保满足所有规格的设计均可行;若技术正确方案因成本等原因失败,遗漏多在需求阶段。

顶层需求达成共识后,将系统分解为连贯子系统,各自拥有功能与技术规格。实时嵌入式系统中,数字处理能力通常形成专用子系统并有自身约束集。

分配功能至 FPGA

当系统数字处理需求超出单片机或处理器能力时,考虑 FPGA。受益于高速并行硬件的架构为首选候选。即使传统处理器能满足性能,FPGA 仍可在产品生命周期提供灵活性和升级潜力。

决定使用 FPGA 后,分配相关处理任务给它。定义 FPGA 输入输出接口、更新速率、与 ADC、DAC、存储器等外围组件交互方式。

识别所需 FPGA 特性

明确 FPGA 职责与接口后,编列强制器件特性清单。考虑资源需求——逻辑单元、DSP 块、存储器——及功耗散热需求。低成本电池供电设计可用小器件被动散热,高性能系统可能需大型 FPGA 主动散热。

器件系列特性不同;如某些集成 ADC 简化板级复杂度。用需求筛选候选系列,随资源估算明确再锁定具体型号。

实现 FPGA 设计

选定候选器件并映射功能后,使用厂商工具套件——常为 Xilinx Vivado 或 Intel Quartus——开始实现。过程通常从顶层设计起步,可表达为框图或直接用 HDL(Verilog 或 VHDL)或 C/C++ 等高层综合语言编写。

迭代以下阶段,细化设计直至产出工作位流:

设计录入
用 HDL、框图或 C/C++ 代码定义系统逻辑。这些制品描述预期行为而非物理集成。

I/O 规划
分配 I/O 引脚、设定信号标准、考虑高速信号引脚位置、走线长度等物理约束。I/O 约束与时序约束共同指导综合过程。

综合
将 HDL 转换为映射至所选 FPGA 资源的网表。若约束无法满足,综合失败,设计须回溯修改。

布局布线
将网表逻辑元件放置至特定 FPGA 资源并遵守约束。布线互连完成物理布局。结果为完整指定配置。

位流生成
创建加载 FPGA 内部 SRAM 的配置文件。位流类比软件可执行文件,每上电周期必须加载,通常来自板载 Flash 或外部源。

位流产出后,执行彻底测试验证功能正确性。

测试实现
各阶段测试:仿真 HDL 逻辑、验证综合网表、在目标板上运行硬件在环测试。全面测试缓解可能破坏产品信誉的低概率 Bug。

下节将详述使用 Arty A7 板和 Vivado 工具套件的实战示例。

经 Packt Publishing 授权转载。版权所有 © 2021 Packt Publishing


嵌入式 FPGA 设计:完整开发流程指南Jim Ledin 是 Ledin Engineering, Inc. CEO。在嵌入式软硬件设计、开发、测试深耕,是嵌入式系统网络安全公认权威。爱荷华州立大学航空航天工程学士,佐治亚理工学院电气与计算机工程硕士。加州执业工程师、CISSP、CEH、CPT 持证者。

相关内容:

订阅《Embedded》周刊,获取更多嵌入式技术资讯。


嵌入式

  1. 先进增材制造软件助力产能最大化
  2. 设计故障安全控制系统以提升安全性与可靠性
  3. 嵌入式系统编程:语言、架构与应用全景
  4. 聊天机器人入门:设计流程、架构与实战洞察
  5. 嵌入式系统设计:步骤、原则与现实应用
  6. 嵌入式系统基础与现实应用
  7. 在嵌入式C中用测试驱动开发构建状态机
  8. Analog Devices 在 Embedded World 2019 展示 AI、工业网络与电源方案
  9. FPGA 实现语言:从 VHDL、Verilog 到高层 C/C++
  10. Axiomtek tBOX400-510-FL:双处理器运输认证 PC,集成 10 口管理型 PoE 交换机
  11. IBASE CMI300-988:超紧凑 Mini-ITX 平台,搭载 AMD Ryzen Embedded V1807B
  12. MicroSys 推出 miriac MPX-LS1028A SoM:边缘计算支持 IEEE TSN 与 4K 图形