当前位置:网站首页>FPGA工程师如何进行复杂系统设计?
FPGA工程师如何进行复杂系统设计?
2022-07-23 08:01:00 【碎碎思】
在5G无线、卫星通信、雷达探测、航天测控等复杂系统设计中,FPGA工程师扮演着重要角色。
对于一个FPGA团队来说,需要根据项目需要完成产品的设计和验证,保证项目的交付。为了在越来越复杂的系统设计中,FPGA工程师之间保持高效沟通和工作推进,这就需要找到一个适合的设计方法论。目标是通过在设计团队之间建立一个通用的方法来提高FPGA设计团队的生产力,同时允许跨团队交换设计模块。
FPGA设计中的三个关键因素:
FPGA工程管理
FPGA设计方法
FPGA芯片选择
首先,需要建立FPGA中实现系统设计的可预测性路线图。实现可预测结果的三个步骤是:
适当的项目计划和范围。
准确选择FPGA芯片,以确保当今和未来的项目可以使用正确、成熟的技术。
遵循FPGA设计开发的最佳实践,以缩短设计周期,并确保设计按时完成,设计模块可以在未来的项目中以最小的代价进行复用。
所有三个元素需要顺利地一起工作,以确保成功的FPGA设计,如图1所示。

图1 成功进行FPGA设计的三个步骤
供应商的选择应该是两家公司之间的长期合作关系,特别是设计软件和IP Core的授权。通过共享路线图和共同管理现有项目,不仅可以确保当前项目的成功,还可以及时为未来的项目提供正确的解决方案。一个基于经验的微调过程,以确保项目的成功。
FPGA设计方法,这是最佳实践方法的主要焦点。这涵盖了从基础到高级技术的完整FPGA设计流程。这种方法是独立于FPGA供应商,因为适用于FPGA的设计实践,但同时需要结合FPGA的设计软件,比如Vivado和Quartus的设计环境不同,相关的设计流程有所不同。对于FPGA工程师而言,设计流程大同小异,可以快速切换。图2所示的图表显示了最佳实践设计方法论。

图2 FPGA设计最佳实践设计方法
Board Layout、RTL设计、IP重用、功能验证和时序收敛,往往是设计团队拥有不同设计方法的领域,工程师需要获得一致的结果和缩短设计周期。
FPGA设计中面临的许多挑战并不是FPGA设计所特有的,而是设计中常见的挑战。与ASIC设计相比,FPGA设备本身确实提供了独特的挑战和机会。FPGA设备性能的提高导致针对FPGA的设计更加复杂,ASIC工程师与FPGA工程师可以相互转换。这导致许多设计团队将ASIC设计原则迁移到FPGA设计。总的来说,这对FPGA设计流程有好处。然而,它需要与FPGA带来的设计流程的好处相平衡。FPGA的可编程特性为在系统中执行更多的验证打开了大门。当正确使用时,这可以大大加快验证周期,但如果滥用,它会延长设计周期。I/O的可配置特性提供了ASIC设计中不存在的挑战。同时,行业使用的EDA工具在功能和成本上,FPGA和ASIC也有所不同。
FPGA工程师需要熟悉FPGA厂商软件,比如Vivado或者Quartus设计软件。FPGA工程师通常负责编写和验证设计的RTL代码,负责在FPGA中实现设计,并帮助在最终系统中进行联调。FPGA工程师在PCB设计中扮演着重要的角色。负责从FPGA设计软件生成FPGA引脚输出。因此,FPGA工程师需要与硬件PCB设计工程师进行原理图确认,任何修改都需要提供更新的引脚分配,并最终进行实现和验证。
在实际的FPGA设计过程中,FPGA工程师除了最基本的RTL代码设计、仿真和调试外,还需要非常熟悉项目所涉及的技术路线、信号处理过程、系统架构等,常常也需要参与到系统方案的设计制定,并给出最佳实现方案。
因此,对于FPGA工程师而言,最难的不是写RTL代码,而是在一个复杂系统设计中,需要涉及技术方案制定、架构设计、深入理解技术协议、模块设计与验证、系统集成、整个系统的联调,以及与其他部门的协作。
此外,需要有好的领导来带领FPGA团队,避免非专业领导过多干预FPGA团队的正常工作。
在系统设计过程中,经常会遇到各种问题,尤其是在系统调试阶段,FPGA常常成为“背锅侠”。FPGA工程师又要通过各种手段去证明自己的设计没问题,还需要定位出问题出现的原因。每一款产品的成功推出,背后都是一部“研发风云录”。
总结起来,为了实现复杂系统设计,FPGA工程师需要:
制定详细的设计方案和系统架构
掌握FPGA信号处理与接口设计方法
做好工程管理和维护
掌握仪器设备的使用和问题排故
---END---
边栏推荐
- 生活随笔:2022烦人的项目
- The difference between rtx3080ti and 3090. Which one is more cost-effective, rtx3080ti or 3090
- Notes on the sixth day
- Notes on key vocabulary of the original English book biography of jobs (15) [chapter four]
- Fastadmin changes the pop-up size of the default table button
- Review of HCIA
- 达人评测酷睿i7 12850hx和i7 12700h选哪个
- Rtx3080ti and rtx3080 gap 3080 and 3080ti parameter comparison
- Uiscrollview (uicollectionview) prohibits horizontal and vertical sliding at the same time
- Google Earth engine -- a small bug in gee. Images of transcontinental boundaries cannot be obtained
猜你喜欢

Day 8 notes

小米12S Pro和小米12Pro天玑版区别 两者配置对比

Remember that a vulnhub target plane exercise successfully won the root permission

Where does pytorch work?

BGP联邦实验

ThreadLocal interview Kills 11 consecutive questions

Creo 9.0 如何快速修改CAD坐标系?

达人评测酷睿i7 12850hx和i7 12700h选哪个

rtx3080ti和3090差距 rtx3080ti和3090哪个性价比高

How about the nuclear display performance of Ruilong R7 Pro 6850h? What level is it equivalent to
随机推荐
OSPF detailed explanation (LSA) (2)
rtx3080相当于gtx什么显卡 rtx3080显卡什么水平 rtx3080显卡怎么样
第五天筆記
过程块和方法
Notes on animal farm
Where does pytorch work?
达人评测 酷睿i9 12950hx和i9 12900hx区别哪个强
设计例化和连接
JS中不同的循环方式和注意事项总结
Uiscrollview (uicollectionview) prohibits horizontal and vertical sliding at the same time
记一次Vulnhub靶机练习成功拿下root权限
Google Earth engine -- a small bug in gee. Images of transcontinental boundaries cannot be obtained
Interface
机器学习入门难?说说我是如何快速开始机器学习入门的!
[understanding of opportunity-50]: Guiguzi - the twelfth Rune chapter - the art of being a good leader: keep your position, observe the four directions, cave in danger, talk widely, empty advice, set
What level is rtx3090ti? What level is rtx3090ti graphics card? How about rtx3090ti graphics card
What level of rtx3070ti graphics card? What level of rtx3070ti graphics card? How about rtx3070ti graphics card
What level is the Core i7 1165g7 equivalent to? What grade does the i71165g7 belong to
Kafka consumption reports an error coordinator unavailable Rediscovery will be attempt redisCovery
canvas橡皮擦功能