FPGA为嵌入式体系开辟带来的无穷大概– 第1部分
发布日期:2011-05-13
文章分为两部分,第一部分中Altium有限公司的产品经理Rob Irwin将先容当今可编程器件开辟技能为嵌入式体系开辟带来的无穷大概,并真正广泛用于电子计划中。
FPGA技能出现于20世纪80年代中期。在
嵌入式体系开辟中,
FPGA作为大量胶联逻辑的载体长期被用作微处理惩罚器应用的外围计划。近来几年,
FPGA作为通用
DSP 芯片的更换品已经被用在快速信号处理惩罚范畴。如今存在一些关于用
FPGA作为
嵌入式平台的不实之词, 只有在采取ASIC开辟将耗资巨大的应用中,才可以将软处理惩罚器用在
FPGA片上体系(SoC)计划上。
毫无疑问,在这些多用途的可编程器件产品化应用方面,不绝增长的成果和容量以及不绝低落的代价正变化着其性价比。但如今为止全部应用还只是定位在计划流程的硬件开辟末期。
FPGA计划流程相沿了芯片计划的要领,每每必要具备专业的RTL级计划经历,至少夺目一门硬件形貌语音如VHDL和Verilog。通常的
嵌入式计划职员并不具备这些技能。
固然
FPGA技能可以加快
嵌入式开辟进程并可以带来全新的团体计划方法,但多数
嵌入式软件开辟职员仍旧偏向于象过去一样事变 – 在计划周期之初选取一种分立的硬件处理惩罚器,创建了物理平台之后,再方式应用于该平台的软件。
嵌入式体系开辟中较少采取“软性”硬件开辟重要归因于很少有东西可以或许让C步伐员可以在可编程硬件级利用他们的经历。可编程器件的计划必须更好地与当前
嵌入式计划流程举行集成,并让主流
嵌入式工程师和软件开辟职员担当,才华在
嵌入式范畴发挥
FPGA的全部潜力。
全局性形貌
在生手人眼中, 学习
FPGA计划对付
嵌入式开辟职员应该是件安若泰山的。
FPGA传统的计划流程因此硬件形貌语言如VHDL或Verilog为中间。固然HDL实现的结果是硬件,但采取的要领是软件,这正是
嵌入式开辟职员非常善于的范畴。
固然,实际环境完全差别。固然HDL是种编程语言,只要偶然间,任意称职的步伐员都能很容易掌握其本领和语法,但HDL中的东西完全差别于传统软件中的东西。HDL在其本质上是定义硬件。因此它们天生便是处理惩罚并行性和异步题目的。另一方面,传统
嵌入式软件每每被缩减为一个指令集,终极在微处理惩罚器上次序和同步实行。
以是传统
FPGA计划流程并不克不及吸引
嵌入式开辟职员,由于即便它们是创建在软件底子上,它们仍旧必要计划职员熟习并高兴采取硬件的原理去计划。
嵌入式开辟人必要的是在算法层面处理惩罚题目。
软件转化为硬件
人们实行一些让
嵌入式开辟职员更易于担当硬件形貌的方法。如基于C的语言System C,便是利用了C的语法和根本布局开辟出的。固然如许可以使初学变得大略些,但这些语言根本上还是别的一种情势的HDL,因此与传统的HDL计划一样,必要
嵌入式开辟职员在硬件级思量题目。
别的一种更有盼望的要领是基于标准ANSI C代码,通过编译器转达但不将其转换为东西代码,而是转换为RTL硬件形貌,以便被综归并被用于对一个
FPGA举行编程。很多公司,究竟上包括
FPGA厂商近来都已经自行开辟出了如许的体系。
通过C-到-RTL的转换,
嵌入式开辟职员可以用C写算法,然后创建硬件直接实行该算法。固然这一步方向精确,但把天生的硬件集成进体系,编写须要代码让处理惩罚器利用天生硬件,这仍旧会低落而非进步团体开辟流程服从。把C转换成RTL仅仅是开始。为了让
嵌入式开辟职员易于担当这种流程,就请求计划东西能成为连接计划流程中硬件和软件的桥梁。
不但有胶联逻辑
从一种东西的角度来看,显而易见,要充分利用诸如
FPGA等可编程器件所带来的机会,所必要的体系应当提拔开辟流程的抽象级别,使人们可以利用已经熟习的计划技能和流程轻松变化计划的内核元素(硬件和软件)。如许的体系必须同一整个电子产品开辟流程,将硬件、软件和可编程硬件开辟集成在单一、相互精密接洽干系的计划环境中。
要想相识这将怎样给
嵌入式计划带来长处,我们必要逾越当前决大多数开辟职员将
FPGA仅视作胶联逻辑应用的固化性头脑。用更广阔的视野,充分利用可编程器件的好处,把尽大概多的硬件引入软范畴。这可以包括处理惩罚器成果本身,并且本日
FPGA中的软处理惩罚器作为
嵌入式平台也越来越广泛。在底子上,转入
FPGA内的软处理惩罚器将带来布局机动性方面的好处,生产出更小、更大略的板卡。固然更深入的利用会带来更多长处。
抽象化的处理惩罚器体系
当利用
FPGA的可编程特性,在处理惩罚器上提供不但在软件并且也在硬件上实现的抽象层时,
嵌入式开辟职员就得到了无穷大概性。看看一个体系,其处理惩罚器通过一个可配置硬件(本质上是一个抽象处理惩罚器接口的硬件包)连接到内存和外设。体系计划职员大略地对
FPGA重新编程即可变化硬件包,变动处理惩罚器,乃至无需修改其他体系硬件即可在硬处理惩罚器和软处理惩罚器间切换。从体系角度来看全部处理惩罚器都是一样的,这简化了硬件计划流程。固然,扩展到应用软件范畴时必要提供处理惩罚器间C级别兼容性的编译器。
FPGA为嵌入式体系计划提供多成果可重构的硬件平台,提供“软”器件和分三维系器件的通用接口,方便地实现处理惩罚器和外设间的互换。" src="http://image.mcuol.com/News/070409152517000.JPG" width=600 border=0>
图1: 大型
FPGA为
嵌入式体系计划提供多成果可重构的硬件平台,提供“软”器件和分三维系器件的通用接口,方便地实现处理惩罚器和外设间的互换。
这种体系的好处是无需“事先”选定处理惩罚器。可以利用一种处理惩罚器来开辟体系,然后在开辟进程中必要更高性能时再换成更快的器件。由于有了包裹层(Wrapper Layer),处理惩罚器可以是软、硬、乃至是
FPGA内部的硬处理惩罚器内核,对四周硬件不会孕育产生影响,由于转换层仅创建一个对所连外设的标准接口。实际上外设器件本身的连接也可通过雷同方法举行抽象。
采取这种方案,
FPGA变成为
嵌入式体系全部部件提供通用连接性的体系互连布局。换句话说,是标准的接口“骨干”,让硬件和软件方便地与处理惩罚器和外设交换。
硬件还是软件? –取决于您的选择
对
FPGA 内部的体系硬件实现抽象化,以及对体系硬件和软件开辟的同一使得
嵌入式开辟职员可以越发无缝、方便和易用地实现从C代码到硬件的转换。有了计划东西支持,如许的体系可让
嵌入式开辟职员无需特别的硬件级计划,就可以变化基层的体系硬件计划。
由于同一计划环境可通过
FPGA访问全部连接到处理惩罚器的硬件,因此软外设可由体系主动添加,用于实行特定成果。开辟职员想要转换为硬件的任意 C函数或算法,都可以从C主动转换并作为外设器件添加到标准化的处理惩罚器总线上。计划体系将会控制硬件孕育产生,乃至可以添加须要的代码让处理惩罚器利用该硬件。
步伐员在真正意义上可主动天生面向应用的硬件协处理惩罚器,乃至无需直接编辑任意硬件即可将其添加进体系。步伐员仍处于算法范畴,可选择某个特定算法是否要在硬件或软件上实行–其他的都交给体系来做!