fpga dsp block 不够用怎么办
发布网友
发布时间:2022-05-06 09:47
我来回答
共1个回答
热心网友
时间:2022-06-29 07:21
DSP和FPGA是嵌入式开发处理器的三大巨头之二,很多刚刚接触嵌入式的朋友都会心存疑问,到底DSP和FPGA哪个牛一点,学哪种好一点?FPGA与DSP相比较,哪个更有前途?今天,我就以自己的经验,和大家通俗介绍一下吧:
FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可 重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件 仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电 路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。
DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器, 并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据 分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速 度 。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体 积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,
上面都是一些基本概念的介绍,下面我就来通俗介绍一下,在DSP里,你是一个软件设计者,硬件已经完全固化,你所要做的,就是在这个固定的硬件平台实现其功能的最优化,一般TI的DSP涉及最多的是一些基本的BIOS操作系统之间的任务调度,以及算法改进与优化等待, DSP的关键优势包括其对于新型及复杂算法时的更短的开发时间,以及能够运行多种算法的灵活性。
而对于FPGA来说,你是一个硬件设计者,FPGA就是一张白纸,上面写什么,画什么都取决于你。同样一片FPGA,菜鸟和高手实现的功能会是天壤之别,FPGA的最大优势在于硬件实现已及通过并行处理实现的效率增益。使用FPGA,您大多的时间并非进行算法设计与优化,而是逻辑设计与时序约束等等。
下面再举一个最通俗的例子,同样使用FPGA与DSP,对图像进行处理,这里的算法采用中值滤波,中值滤波是数字图像处理中十分常见也是非常有用的一种图像处理算法,其基本步骤如下:
中值滤波法将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值.
图像处理用FPGA好还是DSP好
FPGA一样可以做DSP(DSP就是数字信号处理英文缩写,数字信号处理与数字图像处理没有太大区别),就意味着可以用FPGA做硬件设计来实现DSP芯片的功能,当然,相比较专业的DSP芯片成本太高,因此你也没必要选择FPGADSP,就选择DSP芯片,算法得当就可以了!
zigbee是什么?
ZigBee,也称紫蜂,是一种低速短距离传输的无线网上协议,底层是采用IEEE 802.15.4标准规范的媒体访问层与物理层。主要特色有低速、低耗电、低成本、支持大量网上节点、支持多种网上拓扑、低复杂度、快速、可靠、安全。想了解更多相关信息,可以...
FPGA与软件开发(c语言)前途比较(fpga开发语言)
1、数字电路基础。做FPGA一定要有数字硬件的概念。FPGA是硬件设计,而不是软件设计,首先要有这个概念 2、硬件描述语言,Verilog或VHDL,推荐Verilog 3、主流厂家的芯片底层结构,如LogicCell、DSPBlock、时钟、IO单元等 4、EDA工具的使用,如主流厂家的集成编译环境(QuartusII、Vivado等)、仿真软件(Model...
Xilinx 概述
FPGA的片上RAM资源主要是Block RAM,这些RAM是双端口RAM,跟时钟同步。这些RAM可以让开发人员实现更加复杂的逻辑功能。逻辑运算更离不开数字信号处理器,即DSP。FPGA包含很多DSP Slice,每个DSP Slice包含一个预加器,一个25x8乘法器,一个加法器和一个累加器。XILINX的一个IP,一个高度可配置的32位处...
system generator功能介绍
GatewayIn的SamplePeriod设置影响采样点数量,保持同一级别Gateway In的Sample Period一致很重要。采样率变换可以使用Up sample和Down sample模块,不同颜色代表不同的采样率。生成测试向量时,可以使用FromWorkspace block,数据应为2xn矩阵,如[1:101; sin(2*pi*[0:.01:1])],然后通过Toworkspace block...
关于EDA技术的一些问题(CPLD,FPGA)
都是会用到这里面,如果你是对芯片级别的研究感兴趣,可以从事这个方面。我推荐书ALTER FPGA/CPLD 设计(高级篇)。2数据采集功能,FPGA有很多很多的IO口,并行的思维是采集信息的不二之选,摄像头(CCD或者 CMOS)拍下来的照片转为大量的信息,你要采集起来送到别的地方处理(比如DSP里面进行图像压缩在...