账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
内嵌式FPGA 平面式规划的优点
 

【作者: Paul Glover】2002年12月05日 星期四

浏览人次:【2589】

当可编程逻辑闸阵列(FPGA)注入内建的处理器核心(embedded processor ​​core)后,可编程系统平台又向前迈了一大步,我们正实现并享用先进的可编程逻辑所带来的革命性的好处。将低成本、高效益的内建处理器核心与客制化的FPGA电路结合后,电子设备制造商可利用客制化的晶片于特定的应用,并以更低的成本和更快的速度推出他们的产品。为了能适当的使用此先进技术,设计师们需要强有力的工具进行设计,以达到所预期的设计需求。Floorplanner 即为可帮助达到设计需求的众多工具之一,设计师可利用平面规划(Floorplanning)来控制内建处理器、相关的IP、客制化逻辑电路的位置配置以及各种组合,因此可以简化系统单晶片(system-on-a-chip;SoC) 复杂的开发过程和增加整体系统的效益。


本文将展示如何采用一个Floorplanner来开发一个内建系统,将一个PowerPC(PPC)核心、一个DDR记忆体控制器、和一个LCD控制器整合在一起。如(图一)所示,DDR记忆体控制器通过一个高速本地汇流排(Processor ​​Local Bus;PLB) 与PPC 连接在一起,此一动作可让指令(Instructions)和数据资料(Data)在记忆体中做高速存取的传输动作。 LCD控制器所需的频宽比较低,因此可通过较低速的周边汇流排(On-Chip Peripheral Bus;OPB) 来连接至PPC。OPB通过一个PLB2OPB,可将较低速的周边核​​心(Peripheral Cores)桥接至PLB。



《图一 PowerPC 405 Based Embedded System 》
《图一 PowerPC 405 Based Embedded System 》

系统建构

如今,内建系统的设计和建立已经被简化了。只要使用一个系统产生器(System Generator)即可定义出所需处理器(以及相关控制器)的参数,然后就会产生出此内建系统的原始设计,一般会包括一个处理器核心、汇流排架构、以及现有的IP。此系统产生器还会产生出一开始所需的软体标题档。硬体和软体设计师可使用这些工具同时进行内建系统的开发工作。对硬体设计师来说,此系统产生器会产生所有所需的档案,将此系统的所有关键的零组件组合在一起,并自动化进行各种工作,例如周边的定义、周边的建立与数百只接脚与处理器、周边系统、以及系统汇流排的连接。对软体开发者来说,此产生器可顺利协助取得硬体和软体系统间的平衡,使硬体和软体以最佳化的状态、更为顺畅地进行工作。如果没有此系统产生器的话,则系统的建构将以人工方式进行,将大大的增加整体系统的设计时间和复杂度。


平面规划

另一个许多EDA厂商所提供的工具是Floorplanner。硬体设计师可使用一个 Floorplanner 针对任何有兴趣的功能加以控制其逻辑位置之配置,在执行完成后并可观看其配置图。在我们所举的内建系统例子中,Floorplanner可以帮助设计师观看并控制处理器和相关周边的配置。在某些案例中,为能达到所要求的设计效益,这些周边的配置将扮演重要的角色。


如前所述,PowerPC 405核心包括一个On Chip Memory(OCM)控制器。此OCM控制器提供一个介面给64-bit指令(Instruction)-Side Block RAM(ISBRAM)和32-bit 数据(Data)-Side Block RAM(DSBRAM)。此OCM控制器能够控制高达16MB的DSBRAM和16MB的ISBRAM。此OCM的主要优点之一是它可保证在执行运作时有固定的等待时间。为能满足在一个FPGA中的此种定时需求,硬体设计师必需控制OCM Block RAM(BRAM) 和OCM 控制介面间的对应配置。DSBRAM 必需被放置在PPC 405核心的上方,而ISBRAM则必需被放置在其下方,如(图二)。 Floorplanner可能是最容易的方法去控制此相对性的配置。


《图二 OCM BRAM和OCM 控制接口之对应配置》
《图二 OCM BRAM和OCM 控制接口之对应配置》

一个Floorplanner提供观看及配置逻辑的功能,但要做得成功,还有几项提示需遵循,如此才能成功的做好规划。一个好的规划配置可增加内建系统的效益,但一个差的规划则会有反效果。以下为一些需遵循的法则。


  • (1)在硬体设计师开始规划平面的配置设计之前,一定要确认设计师们对细部有所了解,并且有详细资料和目标架构。在决定正确的设计配置和硬体使用上,这种了解和知识是非常关键的。


  • (2)FPGA的实际平面规划应和I/O达成最佳的配置。控制信号的I/O 应该被放置在FPGA的上方或下方。数据Bus的I/O 则应该在其左方或右方。如此可以让FPGA资源的路径连结使用达到最高的效率,产生最佳的效益。



《图三 FPGA实际平面规划之I/O配置。 》
《图三 FPGA实际平面规划之I/O配置。 》
  • (3)算数功能一般都使用专用的传输链(carry-chains)。传输链的走向都是在特定的垂直方向,如(图三)。例如,一个10-bit 计数器的传输链是从底部往顶部的垂直走向。此种设计走向的优势就是可将BUS的 LSB 放在底部MSB放在顶部。



《图四 垂直走向之传输链(carry-chains)》
《图四 垂直走向之传输链(carry-chains)》
  • (4)Floorplanner 可将逻辑电路以阶层的方式显示出来,如此可很容易的将它们组合至一个共同群组或共同区域。以阶层的方式来组合逻辑电路,可以利用区域性资源连结的优势,降低因连结而产生的延迟,并增加电路的效益;参考(图五)。




《图五 逻辑电路阶层》
《图五 逻辑电路阶层》
  • (5)交叉存取相关的汇流排。针对相关的I/O汇流排,硬体工程师可采用交叉存取的方式,如此可减低环绕路径的延迟。如果这些汇流排不会供应额外的逻辑电路时,此项技术是相当有价值的。在做平面配置决策时,记得以整体面来看此设计;如(图六)。



《图六 总线平面规划》
《图六 总线平面规划》

如果硬体工程师可以将这些提示用在内建系统的设计上,就能很容易的组合和规划一个设计。在开始做内建系统的平面规划时,设计师首先必需将逻辑电路分派到不同的族群中。设计阶层根据是一种典型的分类方法,在一个内建系统中,此种阶层提供了一个自然的边界,Floorplanner可以很容易的使用这种边界来建立族群。此系统产生器会产生出系统的每一区块,也产生出自己特定的参考阶层,使得内建系统的族群定义变得较简单。一旦需要做平面规划的族群建立完成后,设计师可以依照这些族群所必需被放置的位置安排其实际的区位。而任何族群的配置则须按照先前所说的提示和设计进行安排。


平面规划的限制

Floorplanner 提供三种方法来限制​​个别逻辑区块或族群的实际位置:


  • (1)第一个方法是将逻辑零组件放置在一特定的实际位置或零组件中。例如设计师可以指定bit 10,它是一个数据汇流排的输出,至此组件的pin 37。此种指定的方式是没有任何弹性的。因此,配置和路径工具必需将bit 10的输出驱动程式放在 pin 37中。并且此种方法也可用在一组逻辑零组件上。


  • (2)第二个方法是将一个逻辑或一组逻辑电路指定到一个实际区域中。这个方法经常被用到,因为它可使用配置和路径工具到处移动区域族群中的逻辑,以取得最佳的配置和路径走向。以下将进一步展示此方法。为取得最佳化的系统设计,一些更强有力的Floorplanners将支援族群的重叠、以及在一个规划好的区域中执行未经规划的逻辑。


  • (3)第三个方法是建立相关性配置的巨集(Relationally Placed Macros;RPM)。一个RPM会定义互相有关系的逻辑元件之平面配置。但是该逻辑的精确配置是由配置和路径工具所决定的,如此可达到最佳的设计效益。例如一个搜寻列表(Look-up Table;LUT) 可和一个正反器(flip-flop)放在同一个切片(slice)中。一个切片可被直接放在另一个切片上方。 RPM提供给设计师控制特定模组配置的功能,但它不会完全限制相关配置和路径工具。



在硬体工程师将这些提示和方法使用在内建系统的设计上时,便可控制特定零组件的配置、改善整体装置的安排配置(区域族群)、并可控制特定零组件与相关其他零组件间的配置(RPMs)。


应用案例

此案例使用PPC 405来展示刚才讨论过的一些提示和方法。这是一个内建设计,其中包括几个UART和一个BRAM控制器;如(图七)。


《图七 内建设计应用案例》
《图七 内建设计应用案例》

在此设计中,各族群是依据系统产生器所产生的阶层边界所建立的。一个区域族群可以建立给PLB仲裁器(Arbiter)、UART、以及BRAM记忆体控制器。 BRAM和PPC 405都是被限制在特定的位置上,主要目的是将设计的效益衍生到最大化。 (图八)所展示的为此设计的一个平面规划图之案例。必需注意的一点是一个区域族群的指定必需要有足够的资源来提供给在该区的逻辑电路,更强有力的Floorplanners可以提供使用者每一区域族群所需的资源数目。在此案例中的区域族群,所含的资源数目是所需执行工作的一倍,如此可以在未来规划好的区域中放入更多的逻辑电路(不包括在此族群中的逻辑电路),并进一步将设计做到最佳化。



《图八 内建设计应用案例平面规划图》
《图八 内建设计应用案例平面规划图》

BRAM记忆体控制器被放置于晶粒的中心位置,因此与所有的BRAM零组件和PPC 405核心间都有相等的控制功能。在此设计中的Block RAM包含了给PPC 405的数据和指令。 UART1 和UART2是位于接近IO的地方,如此可使输入端至时脉(clock)和时脉至输出端的距离缩减至最短。此处还有两个PLB masters、CPU指令的PLB介面和CPU数据的PLB介面,因此PLB仲裁器被放在靠近PPC 405 核心的地方。 (图九)为最后之结果。



《图九 内建设计应用案例结果》
《图九 内建设计应用案例结果》

每一区域族群的逻辑电路都是根据该区域的限制规定所配置的,同时还互相混合了一些额外的逻辑来增加设计的效益。这也说明了在每一区域族群的指派中需预留空间的另一理由。


结论

晶片开发者在可编程逻辑装置中内建一个低成本高效益的处理器,不但可以改善整体系统的效益,还可以取得提早将产品上市的优势。如果平面配置之规划遵循所概述的提示和程序来设计,更可增加资源使用、设计规划、以及在FPGA中执行一个内嵌系统的价值。


(作者任职于美商智霖公司Xilinx)


相关文章
使用Microchip Inductive Position Sensor(电感式位置传感器)实现高精度马达控制
以霍尔效应电流感测器简化高电压感测
ESG趋势展??:引领企业迈向绿色未来
落实马达节能维运服务
IPC的8个趋势与5个挑战
comments powered by Disqus
相关讨论
  相关新闻
» 意法半导体突破20奈米技术屏障 提升新一代微控制器成本竞争力
» Pure Storage携手NVIDIA加快企业AI导入 以满足日益成长的需求
» ROHM推SOT23封装小型节能DC-DC转换器IC 助电源小型化
» 意法半导体先进高性能无线微控制器 符合将推出的网路安全保护法规
» ST推先进超低功耗STM32微控制器 布局工业、医疗、智慧量表和消费电子市场


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK83SCQC73KSTACUKY
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw