0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA的开发设计(1)

电子设计 ? 作者:电子设计 ? 2018-09-25 07:44 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我是MCU的长期用户和狂热者,特别是对多功能低成本MCU上有着浓厚的兴趣,这种MCU模块能够通过单芯片实现优秀的通信能力。我做过很多有意思的小玩意,包括:MP3播放器、闹钟、无线地面湿度控制系统、宠物活动监视器、低功耗蓝牙姿态控制等。在这些小项目中,MCU实现信息的收集和传输,用起来十分方便。

最近,我接手一个项目,这个项目不仅要求我使用FPGA,而且还要求我使用功能更强大的ARM。这都是我从未接触过的领域。在这个系列博客中,我将介绍我是如何将自己现有的MCU知识和经验运用到FPGA中的。我将从FPGA的优点和缺点入手,并介绍Terasic DE10 Nano开发套件,以及IP核在FPGA设计中的作用。

关于FPGA

如果你开发的项目一直与MCU有关,你一定会发现MCU的学习曲线并不陡峭,所用的开发工具都可以轻易获得,开发和调试的过程简单,设计很容易上手。不过,你也会发现,MCU在处理复杂事务、运行速度和接口的多样性上是很有限的。我个人所经历的项目,由于功能既不复杂,也没有重要的处理需求,因此,一直以来MCU是很理想的选择。

FPGA是包含可编程逻辑元件(LE)的集成电路,其可编程单元已经内置在芯片中,功能十分灵活。例如,他们可以通过编程作为加速器或RAM来提高系统性能,可以通过编程实现新的标准或算法,也可以根据需求添加各种通信接口,所有的这些都有助于降低系统成本并延长产品生命周期。但这种设计的缺点是学习曲线非常陡峭,对于MCU开发人员来说,在刚刚学习FPGA的时候,因IO端口和编码方式的变化,学习起来还是很困难的。对于MCU来说,在同一时刻,只能实现一个或一组IO的翻转,并且所有的IO只有一个电压标准。而FPGA的IO是并行处理的,并且不同bank的IO可以遵循不同电压标准。

幸运的是,发现了Intel Cyclone V SoC DE10 Nano开发套件。英特尔Cyclone V SoC将FPGA与双核ARM Cortex A9结合,允许使用多种方式配置FPGA,开发套件包含显示和通信端口、按钮和开关、引脚映射和快速配置工具、JTAG调试器以及来自Terasic和Intel的文档说明和指南。

规划FPGA开发

在规划MCU开发的时候,我们首先确定需要哪些接口,如SPI,I2CWi-Fi等,然后根据MCU的电压,引脚数量,提供的通信接口,支持的库和价格作出MCU的选型。在使用FPGA的时候,所有的通信接口都是依靠编程来实现的,因此无需考虑通信接口的限制。其限制因素是逻辑单元的数量,因为所需要的端口,软核或存储器单元都是基于这些逻辑单元创建的。因此,需要做权衡的是,逻辑单元数目越大,FPGA的能力越强,其成本也越高。虽然FPGA通常具有较高的初始成本,但由于它们可以实现多个芯片组件的功能,并且还能够节省大量板上空间,所以综合来看其成本并不高。

我发现自己正处在一个关键时刻:我要如何确定我的设计需要多少逻辑单元?答案是,这取决于对IP核的需求,IP核由协议、功能、代码以及外部模块执行的特定任务组成。几乎所有的FPGA都是由逻辑单元LE,寄存器和I / O bank组成。具体来说:

? 逻辑单元LE是可编程的,是FPGA内部的门阵列,每一个逻辑单元都具有一定数量的查找表,触发器和多路复用器

? 寄存器是一组触发器,能够保存数据并实现诸如定时器等功能。

? I / O bank是一组连接外部电路的输入/输出引脚。每个bank都有一个独立的电压标准,并且有电流大小的限制。

最初我并没有意识到IP核的重要性,因为我还没有领会到这样一个事实:IP核实现了一种能够代替物理设备的能力,这些设备包括MCU、通信控制器或者其他一些我会使用另一个芯片实现的东西。

如图1所示,Cyclone V 包含FPGA层和HPS层,在DE10 Nano上FPGA层主要用作低延迟的I/O扩展。所有这一切体现了FPGA的另一个设计特点:它可以在单个芯片上实现多个PCB板上芯片的功能,从而,使得后续的设计更加灵活。

图1:Terasic DE10 Nano Cyclone V FPGA和硬件处理器系统(HPS)的接口布局。

大部分低级I / O端口通过FPGA进行控制和连接,这就降低了CPU等待低级别I/O端口的时间,同时也允许数据在传递到HPS之前进行相应的处理或调整。

这是一种多么完美的设计,Cyclone V FPGA的接口可扩展,而且能够实现加速器的功能,这种设计架构提高了HPS层的处理能力。在这种情况下,正如图2所示,HDMI接口是非HPS本地接口,因此用作HDMI的MCU资源并不多。

图2:FPGA和HPS的接口布局

? HDMI的输出在FPGA上运行,这降低CPU负载并添加了非本地接口;
? 存在一个OpenCV加速示例,这是为了体现两种类型处理器结合的优势;
? Terasic已经实现了基本的通信功能范例,并且有一个预定义的引脚映射列表,该列表定义了电压和电流限制。

总的来说,我很喜欢FPGA,并且对它的扩展和加速功能十分感兴趣。不过,我也想知道他们到底有哪些局限性。他们能运行到高的频率?他们可以支持哪些协议?他们会消耗多少LE?总的来说,IDE比我用过的其他软件更简单,并且包含了令人惊叹的文档。硬件似乎非常强大,现在我正在设计一个项目,这个项目能够测试板上的硬件限制。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1646

    文章

    22097

    浏览量

    620763
  • mcu
    mcu
    +关注

    关注

    146

    文章

    18075

    浏览量

    370986
  • 蓝牙
    +关注

    关注

    116

    文章

    6100

    浏览量

    174784
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于DE1-SOC开发板的太空射击游戏

    今天继续常春藤名校之一——康奈尔大学的FPGA课程ECE 5760典型案例分享:基于DE1-SOC开发板的太空射击游戏。
    的头像 发表于 08-04 10:47 ?1080次阅读
    基于DE<b class='flag-5'>1</b>-SOC<b class='flag-5'>开发</b>板的太空射击游戏

    开源FPGA硬件,核心开发者招募中......

    01背景简介近期,小眼睛科技联合紫光同创及电子发烧友发起了#拥抱开源!一起来做FPGA开发板活动,活动一经发布,得到了很多开源爱好者的热烈响应,再次感谢大家的支持!为便于活动顺利开展,我们将根据大家
    的头像 发表于 06-20 08:03 ?742次阅读
    开源<b class='flag-5'>FPGA</b>硬件,核心<b class='flag-5'>开发</b>者招募中......

    有ARM,NPU,FPGA三种核心的开发板 — 米尔安路飞龙派开发

    ,是A股首家专注于FPGA业务的上市公司。YM90X开发板用的就是安路的SALDRAGON1(飞龙1,以下简称DR1)系列FPSoC。FPS
    的头像 发表于 06-13 08:03 ?816次阅读
    有ARM,NPU,<b class='flag-5'>FPGA</b>三种核心的<b class='flag-5'>开发</b>板 — 米尔安路飞龙派<b class='flag-5'>开发</b>板

    【开源分享】:开源小巧的FPGA开发板——Icepi Zero

    活动推荐:拥抱开源!一起来做FPGA开发板啦!https://bbs.elecfans.com/jishu_2491185_1_1.html 项目计划以紫光同创PG2L25H-6IMBG325为
    发表于 06-09 14:01

    FPGA新品】正点原子L22开发板来了!采用紫光的Logos系列FPGA,适合工业控制、图像处理、高速通信等领域!

    FPGA新品】正点原子L22开发板来了!采用紫光的Logos系列FPGA,适合工业控制、图像处理、高速通信等领域! ATK-L22开发板采用紫光的Logos系列
    发表于 04-21 17:28

    FPGA开发任务

    我想请人帮我开发一款基于FPGA的产品,把我写好MATLAB代码固化在FPGA中,实现算法加速和加密功能。有兴趣的联系我
    发表于 03-15 10:19

    Altera发布最新FPGA产品和开发工具套件

    在 2025 国际嵌入式展(Embedded World 2025)上,全球 FPGA 创新技术领导者 Altera 发布了专为嵌入式开发者打造的最新可编程解决方案,以进一步突破智能边缘领域的创新
    的头像 发表于 03-12 09:47 ?1215次阅读

    【国产FPGA入学必备】刀剑在鞘,兵器先藏 | 盘古676系列国产FPGA开发

    刀剑在鞘,兵器先藏 ,AI时代如何立足,首先有过硬的本领和趁手的兵器,给FPGA工程师安利一款趁手的国产FPGA开发板盘古676系列...... 盘古676系列开发板共有2款板卡:盘古
    发表于 02-20 15:38

    发布|CAE1200+FPGA开发

    奇历士联合IDH晶立达推出的CAE1200+FPGA开发板(型号:sICGW5A25A01)是一款高性能、多功能的开发平台,集成了高精度数据采集和灵活的FPGA处理能力,适用于工业通信
    的头像 发表于 02-19 11:50 ?730次阅读
    发布|CAE1200+<b class='flag-5'>FPGA</b><b class='flag-5'>开发</b>板

    正点原子fpga开发指南

    定制硬件加速的应用。 1. 开发环境搭建 1.1 安装Xilinx Vivado Vivado是Xilinx提供的综合设计环境,用于设计、仿真和调试FPGA项目。从Xilinx官网下载并安装最新版
    的头像 发表于 11-13 09:35 ?2409次阅读

    正点原子fpga开发板不同型号

    正点原子作为国内领先的FPGA开发板供应商,其产品线覆盖了从入门级到高端应用的各个领域。这些开发板不仅适用于学术研究,还广泛应用于工业控制、通信、图像处理等多个领域。 1. 入门级
    的头像 发表于 11-13 09:30 ?4069次阅读

    ARM开发板与FPGA的结合应用

    一、引言 ARM开发板是一种基于ARM架构的嵌入式开发平台,具有高性能、低功耗的特点。FPGA是一种可编程的数字电路,可以根据需要配置不同的逻辑功能。将ARM开发板与
    的头像 发表于 11-05 11:42 ?1661次阅读

    什么~FPGA可以自行二次开发了?

    什么!FPGA可以自行二次开发了? 目前市场上的标准采集卡通常不支持用户自行开发FPGA。但因为应用环境的需要,不仅仅只需要单一的数据采集流程,往往还需要在其中嵌入更复杂的运行和分析逻
    的头像 发表于 10-14 15:47 ?669次阅读
    什么~<b class='flag-5'>FPGA</b>可以自行二次<b class='flag-5'>开发</b>了?

    Altera推出一系列FPGA软、硬件和开发工具

    近期,英特尔子公司Altera推出了一系列FPGA软、硬件和开发工具,使其可编程解决方案更易应用于广泛的用例和市场。Altera在年度开发者大会上公布了下一代能效与成本优化的Agilex 3
    的头像 发表于 10-12 10:47 ?1085次阅读

    莱迪思Propel工具套件加速FPGA应用开发

    许多嵌入式系统的开发者都对使用基于FPGA的SoC系统感兴趣,但是基于传统HDL硬件描述语言的FPGA开发工具和复杂流程往往会令他们望而却步。为了解决这一问题,莱迪思的Propel工具
    的头像 发表于 08-30 17:23 ?1461次阅读