FPGA快速入门经验谈(part2)
U为中心。
在这点上,FPGA构成的系统与传统的台式机有所不同。台式机的目标定位是运行程序,它自然选择了以CPU为核心FPGA构成的系统是为了处理外来信息,CPU的作用是辅助性地管理或处理信息。
针对这些特点,可以以存储为中心来进行设计,多用BUFFER,FRAME的方式来组织和处理数据,这种思路对学习者以后的实际构建自己的系统会有帮助。另外,要更充分地利用FPGA的很多特有优势。如果你熟悉总线,就知道实际直连总线要比分时复用总线效率高,易管理。
FPGA丰富的布线资源,可以方便地建立多组专用总线
FPGA丰富的硬件资源(如数以万计的硬件乘法器等),可以为设计一些快速的硬件处理模块提供了有利的条件。这些硬件模块在设计上应该能有数据存储单元(Buffer或Frame)直接相连。CPU是智能系统不可或缺的部件,与传统的计算机有所不同,在一个FPGA技术构成的系统中,CPU最大的优势是作为一个智能管理者的角色,在人机界面,处理策略,资源调配等方面,起重要作用,而对信息的实际处理上,一些硬件或专用模块,可能会与依靠CPU的软件处理模块,并驾齐驱,甚至硬件模块更能出风头。
从一开始,就不要拘泥于传统的以CPU为中心的计算机架构里,这一点很重要。还有一种信息,是大流量的实时数据流,传统计算机原来几乎完全来不及处理。
这种数据对象在FPGA系统中,被作为实时"流数据"(Stream)来对待,这些"流数据"往往包含着很多经过数字化的应用信息(如视频音频等),它们如同在生产线上正在被加工的产品,在FPGA系统中被传输,控制,处理和存储。只有在被存储后,CPU和传统的软件模块才把它们作为数据进行处理,而这些传统的处理方式,效率往往并不是最高的。有人知道互联网上很多内容也是以信息流的形式传输的,会占用大量的计算机处理能力。
举一个例子,在网络上传送视频,往往会被压缩,以减少数据传输量和处理量。而很多以FPGA为核心实现的系统中,要求的不但是无压缩,而且要"过采样"至于传输链路的带宽问题,利用FPGA技术来解决,更有优势。现在的FPGA芯片,单个接口的速度就可以达到28Gbps,而FPGA本身就管脚多,通道多。
将来设计高带宽传输器件和系统,将成为FPGA行业的一大热门。FPGA技术除了以上特定优势外,在传统的计算机能够实现的功能,也不逊色。FPGA借助可以执行"缩减指令"的CPU,得以运行开放式平台LINUX系统。本人认为,将来在LINUX平台上的软件,要比WINDOWS平台上更丰富。
WINDOWS就难以处理。
再举个例子:要设计一个可以处理10路实时信号输入,10路输出的交换矩阵,用传统的计算机来讲,它处理不了,而对于FPGA来讲,却是小菜一碟。FPGA构成的系统,不但在应用覆盖范围上有优势,在整体系统成本上优势也很明显,本人接触过一个可以胜任WINDOW终端的FPGA产品,其硬件成本只有100元人民币左右。
功能的可扩充性,成本的优势,会让FPGA产品不断地蚕食,覆盖传统的计算机产品领域和信息产品领域,现在很多摄像机,数码相机的核心处理芯片都已经使用FPGA。
本节比较繁琐,重点是一个建议:要根据数据处理流程来构建FPGA系统!
FPGA入门学习网络讲座: "柏氏"7步FPGA快速入门学习法
第六部分:专业产品的开发
FPGA与专业的信号处理芯片结合,可以开发出很多专业产品,如广播电视,通讯,数据传输等很多领域,都是FPGA的用武之地。用FPGA和专业芯片开发产品,关键是在接口环节,这包括几个方面:
1. 硬件信号接口
2. 数据接口
3. 信息数据格式接口
用FPGA开发专业产品,可以做三个层面的工作:
1. 利用专业接口芯片处理专业信号
2. 利用FPGA的处理能力替代专业芯片的功能
3. 设计专业接口IP
搞专业产品的开发,需要扎实的FPGA开发方面的基础,也还要有应用专业领域的相应知识,这虽然很难,但对那些原来就从事相关专业的人员,或者较早关注相关领域的FPGA开发人员,却是一个难得的先机。与民用消费品相比,专业产品的设计要求会高一些,不过竞争的人也可能会少一些。专业产品开发,是一个巨大的,潜在的FPGA应用市场。
FPGA入门学习网络讲座: "柏氏"7步FPGA快速入门学习法
第七部分:个人奋斗 — 特定IP的开发
在FPGA的开发中,常用到一种称为IP 的模块,随着FPGA开发市场的逐步扩大,对各式各样的IP 的需求会越来越多,例如在视频压缩方面,MPEG II,H.264等IP就已经广泛应用。一个优秀的开发工程师,可以根据自己的特长,开发一些有特色的IP。
开发IP 模块,不需要太苛刻的开发环境
- 人工智能技术的进程能否加快,可编程芯片才是关键(09-07)
- 用大电流LDO为FPGA供电需要低噪声、低压差和快速瞬态响应(08-17)
- 基于FPGA 的谐波电压源离散域建模与仿真(01-30)
- 基于FPGA的VRLA蓄电池测试系统设计(06-08)
- 降低从中间总线电压直接为低电压处理器和FPGA供电的风险(10-12)
- FPGA和功能强大的DSP的运动控制卡设计(03-27)