精华内容
下载资源
问答
  • 随着亚微米技术的发展,FPGA芯片密度不断增加,并以强大的并行计算能力和方便灵活的动态可重构性,被广泛地应用于各个领域。但是在复杂算法的实现上,FPGA却远没有32位RISC处理器灵活方便,所以在设计具有复杂算法和...
  • 要:本文介绍了MPEG-2传输流解复用的原理,使用内嵌ARMFPGA芯片EPXA10实现了MPEG-2传输流的解复用,并从硬件设计和软件结构两个方面详细地介绍了设计思想。 关键词: ARM;FPGA;MPEG-2;解复用 引言 随着芯片...
  • 内嵌ARM核的FPGA技术在星敏感器中的应用
  • 摘要:介绍了内嵌ARM核的FPGA芯片EPXA10的主功能特点、内部结构及工作方式,通过其在图像驱动和处理方面的应用,体现了EPX10逻辑控制实现简单、对大量数据做简单处理速度快以及软件编程灵活的特点。 关键词:ARM ...
  • 内嵌ARM核的FPGA芯片EPXAl0及其在图像驱动和处理方面的应用 北京航空航天大学自动化科学与电气工程学院(100083)尹娜 江洁 张广军 随着亚微米技术的发展,FPGA芯片密度不断增加,并以强大的并行计算能力和方便灵活的...
  • FPGA内嵌ARM架构的高速数据采集系统设计.pdf
  • 要:本文介绍了MPEG-2传输流解复用的原理,使用内嵌ARMFPGA芯片EPXA10实现了MPEG-2传输流的解复用,并从硬件设计和软件结构两个方面详细地介绍了设计思想。 关键词: ARM;FPGA;MPEG-2;解复用 引言 随着芯片...
  • 内嵌ARM核的FPGA芯片EPXA10及其在图像驱动和处理方面的应用.pdf
  • 集成行业标准的dual ARM®Cortex™-A9 MPCore™也为设计师提供了访问ARM IP和软件生态系统的途径。 设计团队可以从今天开始使用Xilinx ISE®设计套件、行业标准操作系统和业界领先的解决方案提供商提供的一流生产...
  • 介绍了内嵌先进精简指令集处理器ARM (Advanced RISC Machine)核的现场可编程门阵列FPGA (Field Programmable Gate Arrays)芯片EPXA10的内部结构及特点。基于这种嵌入式技术,进行了互补金属氧化物半导体CMOS ...
  • 本文着重讨论了用FPGA建立原型进行验证的流程、优缺点以及常用方法,并结合对一款内嵌ARM9E SoC 所进行的原型验证,说明这一方法在SoC验证中的应用。 【关键词】:SoC,验证,ARM9,FPGA,快速原型,软/硬件协同验证 ...
  • Zynq UltraScale+ MPSoC在未插JTAG情况下,ARM(CPU)运行PetaLinux系统正常,不会出现卡死现象。 当插上JTAG准备调试时,ARM会出现卡死现象,情况分两种: 上电之前插上JTAG系统会卡死在初始化过程中(卡死位置不...

    1. 问题描述

    Zynq UltraScale+ MPSoC在未插JTAG情况下,ARM(CPU)运行PetaLinux系统正常,不会出现卡死现象。
    当插上JTAG准备调试时,ARM会出现卡死现象,情况分两种:

    • 上电之前插上JTAG系统会卡死在初始化过程中(卡死位置不一定固定,但卡死现象必然发生);
    • 系统起来后插上JTAG,会卡死在下一条命令执行过程中

    2. 官方解释

    在(PetaLinux)2017.x-2018.x版本中,默认情况下使能Linux CPU空闲。
    启用CPU空闲后,DAP会报错误。
    理论上,当连接xsdb(Xilinx System Debugger CLI,即JTAG)时,应该在A53_ *相关寄存器上发生一些读/写访问。
    由于使能了CPU_IDLE,因此可以根据CPU使用率统计断开A53_ *内核的电源,因此对A53寄存器的xsdb访问可能会导致DAP错误。
    这里发生了两件独立的事件:

    • CPU断电
    • xsdb试图访问寄存器。

    因此,当xsdb触发读取时,如果A53_ *内核断电,则可能导致DAP错误。

    具体参考如下链接:
    Xilinx官方回复AR# 69143

    3. 解决办法

    1. 上电启动后,快速按“S”键,进入U-boot,当显示 "ZynqMP>"表示进入U-boot;
    2. 关闭CPU_IDLE,即设置为"cpuidle.off=1“
    setenv bootargs 'console=ttyPS0,115200n8 earlycon clk_ignore_unused cpuidle.off=1'
    
    1. 进入系统
    run bootcmd
    
    1. 插上JTAG,准备调试。
    2. 问题解决。
    展开全文
  • 基于FPGAARM IP核

    2016-10-12 21:03:16
    可以用于FPGA内嵌ARM处理器的开发使用
  •  据此存在的问题,这里提出一种基于ARMFPGA的LCD控制器设计方案,该设计方案一方面能够通过操作LINUX OS下的Framebuffer设备提高显存的写入速率及减轻处理器的负担,另一方面用FPGA来实现LCD控制器的
  • 针对目前使用ARM内嵌LCD控制器或外部控制器件实现显示控制的技术存在着帧率有限、处理器负担重、成本高及专用性强等问题,提出一种采用FPGA以及硬件软件化的方法实现LCD控制器,该设计具有实时显示、运用灵活及移植...
  • 嵌入ARM硬核的FPGA

    千次阅读 2018-06-05 09:35:45
    目前,在FPGA上嵌入ARM硬核的包括Xilinx的zynq系列以及Intel 的CYCLONEV系列。Zynq出来有一定市场,但是这个市场不是传统FPGA的主流市场,而是为了和微处理抢一些控制领域的市场。但是目前在反响上,听说,不如预期...


    目前,在FPGA上嵌入ARM硬核的包括Xilinx的zynq系列以及Intel 的CYCLONEV系列。

    Zynq出来有一定市场,但是这个市场不是传统FPGA的主流市场,而是为了和微处理抢一些控制领域的市场。但是目前在反响上,听说,不如预期,首先对小公司来说,同时熟悉ARM和FPGA的人不多,在大公司来说,由于他们面向的市场对专业分工要求更高,一般都使用FPGA+CPU的方式,对这类Zynq这种新鲜事物还是持保留态度的,观望的比较多。

    但随着技术及工具的发展,zynq的使用越来越受到许多公司青睐。

    相对于FPGA+ARM的优势:

    • 减少了硬件设计的难度。

    • ARM和FPGA之间的带宽很大,可以共享同一块DDR,方便数据协同处理。

    • 从价格来说zynq与相同资源的FPGA价格相差无几,也就是说arm相当于白送的。

    劣势:

    • 开发流程上会是个挑战,一般的公司FPGA开发和嵌入式开发会属于不同的团队,ZYNQ的开发可能需要一种新的模式。

    • 对于图像处理的领域来说,后面可能还有一块DSP,这个也是和arm一起卖的(TI 的达芬奇系列),所以zynq就比较尴尬。


    版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处

    作者:杭州卿萃科技ALIFPGA

    原文地址:杭州卿萃科技FPGA极客空间 微信公众号


    扫描二维码关注杭州卿萃科技FPGA极客空间


     

    展开全文
  • 据此存在的问题,这里提出一种基于ARMFPGA的LCD控制器设计方案,该设计方案一方面能够通过操作LinuxOS下的Framebuffer设备提高显存的写入速率及减轻处理器的负担,另一方面用FPGA来实现LCD控制器的设计,开发周期...
  • 基于ARMFPGA的嵌入式开发平台设计与实现
  • ARM、DSP、FPGA的特点和区别 ...说明ARM、DSP、FPGA的异同点ARM(AdvancedRI

    说明ARM、DSP、FPGA的异同点

    ARM(AdvancedRISCMachines) 是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处 理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由 于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测 试的时间,也降低了研发费用。

    DSP(digitalsignalprocessor)是一种独特的微处理器,有自己的完整指令系统,是 以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可 以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线 分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的 提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对 数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它 不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理 能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供 了一条有效途径。

    当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

    FPGA是英文 FieldProgrammableGateArray(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产 物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置 逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线 (Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重 构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服 了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来 实现。

    FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA 是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电 时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因 此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一 片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

    区 别是什么呢?ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解密、 调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编 程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能 力可以用来进行系统升级或除错。(转自网络)

    FPGA可以通过并行处理和流水线,达到比CPU和DSP更高的数据处理能力。而且现在 FPGA也内嵌了DSP模块和CPU,可以设计成片上系统。对于对CPU要求不高的单板,只要使用FPGA内的CPU就可以了,不需要另外再贴块CPU芯 片了。因为三种器件各有其优势,所以是谁也没有办法替代谁。主要的竞争在FPGA与DSP,低端CPU之间展开。
    因为DSP和CPU都是专用集成电路,所以内部时钟频率可以做的很高,密度可以做的很高,特别是CPU,往往都代表了半导体的最新最高工艺。现在PC机上的CPU以GHz为计量单位,而FPGA基本500MHz就封顶了。

    FPGA 虽然在执行频率上没有DSP和FPGA那么高,工艺可能也没有那么先进,但是FPGA可以通过并行处理和流水线,达到比CPU和DSP更高的数据处理能 力。而且现在FPGA也内嵌了DSP模块和CPU,可以设计成片上系统。对于对CPU要求不高的单板,只要使用FPGA内的CPU就可以了,不需要另外再 贴块CPU芯片了。因为三种器件各有其优势,所以是谁也没有办法替代谁。主要的竞争在FPGA与DSP,低端CPU之间展开。

    DSP是软件实现算法。FPGA是硬件实现算法,所以FPGA的处理速度会更高。FPGA比DSP快的一个重要原因是FPGA可以实现并行运算,而DSP由于硬件结构条件限制,主要还是依靠软件来提取指令执行,理解为还是串行执行的!

    ARM、DSP、FPGA、CPLD、SOPC、SOC之间有什么区别和联系?
    2008年06月16日星期一下午08:47
    arm是一种嵌入式芯片,比单片机功能强,可以针对需要增加外设。类似于通用cpu,但是不包括桌面计算机。

    DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能有两个,adsp,mdsp,或一个,主要是加密解密,调制解调等。

    FPGA 和CPLD都是可编程逻辑器件,都可以用VHDL或verilogHDL来编程,一般CPLD使用乘积项技术,粒度粗些;FPGA使用查找表技术,粒度细 些,适用触发器较多的逻辑。其实多数时候都忽略它们的差异,一般在设计ASIC芯片时要用FPGA验证,然后再把VHDL等程序映射为固定的版图,制作 ASIC芯片,在设计VHDL程序时,有可能要使用C仿真。

    SOC就是单片系统,主要是器件太多设计复杂,成本高,可靠性差等缺点,所以单片系统是一个发展趋势。

    SOPC就是可编程芯片系统,就是可以用FPGA/CPLD实现一个单片系统,譬如altera的Nios软核处理器嵌入到Stratix中。

    ●FPGA与CPLD的区别
    系统的比较,与大家共享:
    尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:
    ①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。

    ②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。

    ③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。

    ④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

    ⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。

    ⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

    ⑦ 在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程 器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优 点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。

    ⑧CPLD保密性好,FPGA保密性差。

    ⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

    随 著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到 CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度 高达数十万门的CPLD所带来的好处。

    CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。因此, 原有设计的运行可以预测,也很可靠,而且修改设计也很容易。CPLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不 变。与FPGA相比,CPLD的I/O更多,尺寸更小。

    如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。 CPLD可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就 可以著手进行硬件设计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低於ASIC,更灵活,产品也可 以更快入市。

    CPLD可编程方案的优点如下:
    ●逻辑和存储器资源丰富(CypressDelta39K200的RAM超过480Kb)
    ●带冗余路由资源的灵活时序模型
    ●改变引脚输出很灵活
    ●可以装在系统上后重新编程
    ●I/O数目多
    ●具有可保证性能的集成存储器控制逻辑
    ●提供单片CPLD和可编程PHY方案
    由于有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市。

    CPLD的结构
    CPLD是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的。FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。

    CPLD以群阵列(arrayofclusters)的形式排列,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。

    之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得多。CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。

    CPLD最基本的单元是宏单元。一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。

    因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。这就是为何CPLD被认为是”逻辑丰富”型的。

    宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成。宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。

    每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。

    每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFO。

    CPLD有什麽好处?
    I/O数量多
    CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。
    时序模型简单CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模型主要应归功于CPLD的粗粒度特性。
    CPLD可在给定的时间内提供较宽的相等状态,而与路由无关。这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。

    粗粒CPLD结构的优点
    CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。
    CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。

    细粒FPGA结构的优点
    FPGA是细粒结构,这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局的改变。

    灵活的输出引脚
    CPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。

    新的CPLD封装
    CPLD 有多种密度和封装类型,包括单芯片自引导方案。自引导方案在单个封装内集成了FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省 板空间。在给定的封装尺寸内,有更高的器件密度共享引脚输出。这就为设计人员提供了”放大”设计的便利,而无须更改板上的引脚输出。

    ●arm是一种嵌入式芯片,比单片机功能强,可以针对需要增加外设。类似于通用cpu,但是不包括桌面计算机。

    DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能有两个,adsp,mdsp,或一个,主要是加密解密,调制解调等。

    ●ARM其实就是一个知识产权,ARM公司本身不生产芯片,但是向其它公司提供授权。

    alterA有嵌入ARM内核的SOPC芯片,搜搜应该能搜的到的。

    如果自己设计一个ARM芯片,显然是不大可能的,即使设计出来嵌入式芯片,也不能叫ARM。

    当然用FPGA设计简单的处理器芯片应该还是有可能的,好象外国大学都有这样的课程设计,也有很多书籍介绍设计简单的处理器芯片的。

    感觉处理器芯片主要就是把指令译码,分派给不同的功能部件来执行工作,如果再加上流水线,预测执行以及存储器、外设等等功能,应该工作量很大的。

    ●其实象工作量特别大的运算,一般还是用FPGA/ASIC来实现的,譬如在手机基带芯片中,码片级的运算,一般是用FPGA/ASIC,而比特级的运算,应该用DSP实现的多。

    展开全文
  • 目前,嵌入式系统已经广泛应用于通信、消费类电子产品等许多领域。然而,在许多应用中,处理器的接口总线速度成为制约系统性能的瓶颈。本文将以嵌入式实时视频数据存储系统为例,说明如何...它内嵌ARM7 TDMI内核和一个
  • 对比ARM、DSP,深入了解FPGA 今天就对比ARM、DSP,和大侠一起深入了解FPGA,话不多说,上货。 自1985年首款FPGA诞生以来,FPGA已经是一名在电子信息领域征战了30多年的老兵,这名战功赫赫的老兵如今已经正式开赴了...

    对比ARM、DSP,深入了解FPGA

    今天就对比ARM、DSP,和大侠一起深入了解FPGA,话不多说,上货。

    自1985年首款FPGA诞生以来,FPGA已经是一名在电子信息领域征战了30多年的老兵,这名战功赫赫的老兵如今已经正式开赴了一个新的战场。但是FPGA并不是万能的。相对于串行结构处理器,其设计的灵活性是以工作量的增加为代价的。FPGA与ARM、DSP(如下图所示)的比较如下。

     

    一、从语言本身的差异来看

    基于Verilog HDL和VHDL的硬件语言与C++/C++相比,在代码灵活性、开发效率等方面还有较大差距。通常一段十几行的C语言代码使用硬件语言实现后,代码量会增加到几十行之多。同时,在进行硬件语言描述时,一个合格的FPGA工程师不仅要实现相应的逻辑功能,还要在头脑里浮现编写的代码所生成的逻辑结构,并考虑到门延时对系统时序的影响。这样才能够设计出稳定高效的逻辑结构,减少后期时序调整的工作。

     

    二、从工作频率来看

    ARM、DSP等处理器采用的是成熟的内核结构,具有较好的时序特性,其最高频率通常为600MHz~1.25GHz。为提高处理能力,TI等芯片厂商采用多核的设计方式,设计了具有8核DSP、8核ARM的处理器,每个核心的最大工作频率可 达1.25GHz,通过设置可以开启和关闭其中的内核来灵活地协调功耗与处理能力之间的矛盾。目前TI公司正在设计具有8核ARM+8核DSP的处理器,来满足高速系统中集中运算的需求。而在FPGA的设计中,不同的系统具有不同的最高工作频率,该频率可以在编译报告中获得。对于Altera公司的FPGA,通过TimeQuest工具调整时序,可以提升设计工程的最高频率。一个具有良好设计的FPGA工程的最高频率可达150MHz以上。

     

    三、从执行方式来看

    基于嵌入式平台的C/C++语言在已有的硬件结构中执行,只需正确配置相关寄存器即可。而使用硬件语言的设计需自行设计硬件结构,在生成结构前还要经过前仿真、综合、布局布线、后仿真等步骤,开发周期较长。这一情况在较为复杂的FPGA工程设计中尤为严重。例如,一个添加了4个DDR2的IP的工程在i5处理器、4G内存的计算机上,编译时间甚至在20min以上。

     

    四、从算法应用来看

    ARM、DSP等处理器中集成了加法器、乘法器等运算单元,尤其是在DSP中,可以在一个周期内进行8×8位甚至16×16位的乘法运算。同时,这些处理器还支持浮点运算能力。而FPGA对这部分运算并不擅长,即使在较为简单的加法运算中,若进行加法的两个数据具有较高的位宽,由于传统的加法中的进位方式是串行结构,所以在其生成的结构中会产生较长的门延时,从而会降低时序的余量,甚至会降低系统编译后的最高工作频率。

     

    五、从算法设计来看

    在ARM、DSP等处理器中设计算法前,需要提前构思算法的流程图,然后进行代码的编写。而在FPGA设计中,主要包含三种设计方式:面向状态的设计,面向活动的设计和面向结构的设计。

    (1)面向状态的设计是以状态机为代表的设计方式,即通过控制信号和时序信号触发状态机进行状态的迁移。状态机的设计是FPGA开发中必不可少的环节,这个部分后续会详细介绍。

    (2)面向活动的设计是以数据流和流程图为代表的设计方式。尤其是在传输系统、实时算法设计中,常使用基于数据流的设计方式。常见的数据流的操作方式包括数据的寄存器同步缓冲、数据传递、数据运算与流水设计、数据的存取等。

    (3)面向结构的设计常用于较大的系统设计中,用于描述模块与模块、单元与单元之间的互联关系,主要包括数据信号与控制信号。根据不同的层次描述,主要可以分为系统级结构描述、寄存器级结构描述、门级结构描述等。

    为了解决这些硬件工程师所面临的问题,Altera Xilinx等FPGA公司不遗余力地对开发平台进行了完善,如下以Altera的解决方案为例。

    对于第一点提及的设计语言的问题,Altera推出了Qsys(SOPC)等片上软核,使工程师在FPGA中同样可以使用更为灵活的C语言进行编程。Qsys(SOPC)中包含了片内、片外存储器、定时器及各种接口等IP,使工程师可以按需定制自己的片内处理器。使用这种方式,在一定程度上缓解了硬件描述语言开发周期过长的缺点,也成为一种对FPGA系统进行前期功能验证的有效手段。

    对于第二点提及的通用模块或接口占用开发周期的问题,Altera和供应商设计了大量具有知识产权的IP(Intellectual Property,知识产权),包括运算类、通信类、数字信号处理类、门类、输入/输出类、接口类、JTAG扩展类、存储类等多种类别。这些IP是经过严格测试和优化过的,其中部分IP免费,上面提到的SOPC中应用的大部分IP都是免费的。

    值得注意的是,尽管大部分基本功能的IP可以在不同系列的FPGA间通用,依然有一些IP并不支持所有系列的FPGA,使用这些IP在不同系列的FPGA间进行工程移植时需要注意。所使用的IP是否支持当前芯片,可以在Quartus II的MegWizard管理器中查阅,也可以在官网中查阅。Altera支持的所有IP及其适用系列可参考以下网址:http://www. altera.com.cn/products/ip/ip-index.jsp。

    对于第三点提到的工作频率的问题,不同的处理器具有不同的应用领域。在高速数据处理过程中,ARM、DSP等固然可达到较高的工作频率,然而相对于FPGA,其高速的优势仅体现在串行结构的算法中。在FPGA的设计中,可利用其硬件设计的灵活性,采用并行算法或将串行算法改造为并行算法,然后在FPGA中实现。经测试,在工作频率为1GHz的DSP中(TMS320C6416),对SDRAM中分辨率为2048×2048的图像进行中值滤波后重新写入SDRAM,耗时为7s;而在FPGA中,完全可以在图像输入时进行实时处理,仅消耗几个时钟周期的处理,近似可认为0延时—实时。

    对于第四点提及的编译时间过长的问题,Altera致力于开发新版本的平台,提升编译效率的同时,增加了增量编译的功能。配合区域锁定,可以锁定已编译过且在后续修改中没有改动过的模块,对这部分模块不进行重新编译,从而可减少编译时间

    对于第五点提及的运算能力的问题,Altera FPGA中内嵌了多个DSP块。每个DSP块中包含加法器和乘法器结构,根据系列不同,具有不同的数据位宽。多个DSP块中的加法器和乘法器可以互相拼接,从而支持更高位宽的运算。结合相关的运算类IP,可以流水线的形式完成运算,每个周期输出一次计算结果。表1.10为Cyclone III系列FPGA的资源列表。可以看到,与DSP相比,Cyclone III的乘法器资源还是比较丰富的,这使得在FPGA内部进行并行运算成为可能。

    最后,Altera又推出了嵌入了双核28nm的ARM Cortex-A9的FPGA,同时以足够的DSP块和足够的乘法器资源,完善了FPGA+DSP+ARM架构,并以单片SoC FPGA的模式,解决了过往FPGA力所不能及的缺陷,解决了未来多IC集成的前瞻性问题,如图1.28所示。而这却仅仅只是一个开始,在未来Altera FPGA的发展中,更多的以实现FPGA+DSP+ARM为架构,并行实现高速运算,解决过去的难题,不断地突破极限。在未来的数字系统设计中,这必然是一种趋势。

    后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

    江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!

     

    【QQ交流群】

    群号:173560979,进群暗语:FPGA技术江湖粉丝。

    多年的FPGA企业开发、培训经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,FPGA技术江湖打造最纯净最专业的技术交流学习平台。

     

    【微信交流群】

    现微信交流群已建立08群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。

     

    欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式,更多精彩内容等你发现

    展开全文
  • ARM,DSP,FPGA

    千次阅读 2013-01-07 16:51:27
    ARM,DSP,FPGA概念  ARM (Advanced RISC(精简指令集计算机) Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款...
  • 在今天的CCBN上,Altera(NASDAQ:ALTR)公司公布业内第一个基于FPGA的Video-over-IP参考设计。系统设计人员可充分利用Altera低成本Cyclone:trade_mark: FPGA系列和Nios:registered: II嵌入式处理器的可编程能力和...
  • FPGAARM之间选择学习那个

    万次阅读 2011-06-22 10:27:00
    我觉得FPGAARM孰轻孰重没得比较。但是殊途同归,用经典FPGA结构处理不了的问题就要用ARM来处理,这个是没办法的。器件的最终用途就是帮我们解决问题。 选择1.如果你决定主攻ARM,你学FPGA的优势在于你已经懂ARM了...
  • 然后,MCU、DSP、FPGA这些都属于嵌入式系统的范畴,是为了实现某一目的而使用的工具。 MCU俗称”单片机“经过这么多年的发展,早已不单单只有普林斯顿结构的51了,性能也已得到了很大的提升。因为MCU必须顺序执行...
  • 一文讲解单片机、ARM、MCU、DSP、FPGA、嵌入式错综复杂的关系 首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用...
  • 一、ARM、DSP、FPGA的技术特点和区别 在嵌入式开发领域,arm是一款非常受欢迎的微处理器,其市场覆盖率极高,DSP和FPGA则是作为嵌入式开发的协处理器,协助微处理器更好的实现产品功能。 在嵌入式开发领域,ARM是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 494
精华内容 197
关键字:

内嵌arm的fpga