Floorplanner工具应用基于FPGA的嵌入式

发布者:MindfulYogi最新更新时间:2008-11-21 来源: 电子工程世界关键字:FPGA  嵌入式  PowerPC 手机看文章 扫描二维码
随时随地手机看文章

  通过在可编程逻辑器件中嵌入低成本、高性能的处理器,芯片开发商不但能提高系统的整体性能,而且能够从可编程逻辑器件原本就具备的开发时间短、上市快的特点受益。利用本文谈到的Floorplanner工具可以对嵌入式处理器、相关的IP和定制逻辑进行布局控制和分组,简化复杂系统级芯片的开发,提高系统整体性能。

  嵌入式处理器内核越来越多地在FPGA设计中得到采用,人们开始认识到高级可编程逻辑所带来的好处。通过将低成本高性能的嵌入式处理器内核与可定制的FPGA电路配合使用,电子设备生产商能为其特定的产品量身定制芯片,从而以较低的成本和较快的速度将产品推向市场。但若想合理地采用这项先进技术,设计者需要功能强大的工具才能满足设计要求。 Floorplanner即是适合这类应用的一种工具,它允许设计者控制嵌入式处理器、相关IP以及定制逻辑的布局和分组,从而简化复杂的系统级芯片的开发过程,并提升系统的整体性能。

  本文将讨论如何在一个集成了PowerPC内核、一个DDR内存控制器以及一个LCD控制器的嵌入式系统的开发过程中采用Floorplanner。在图1中,DDR内存控制器通过一个高速处理器本地总线(PLB)与PPC相连,因而在该系统中可以通过高速内存访问来实现指令和数据传输。LCD控制器对带宽要求较低,可以通过较低速的片上外围总线(OPB)与PPC连接,OPB通过一个PLB到OPB桥将低速的外围内核与PLB相连。图中还显示了两个片上存储控制器和BRAM的用法,这是一个很重要的特性。从系统模块图可以看出,当系统中额外增加其它总线控制器时,嵌入式系统设计能够轻松地对其提供支持。

  系统生成

  我们可以采用系统生成器来定义所需处理器以及相关控制器的参数,从而简化嵌入式系统的设计和创建,并产生嵌入式系统的源设计 (通常包含一个处理器内核、几个总线结构以及现有的IP)。同时,系统生成器还能产生系统启动所需的软件头文件。有了这些工具,软、硬件设计工程师就能同时并行地进行嵌入式系统开发。

  对硬件设计工程师而言,系统生成器能够创建系统中关键部件安装时所需的所有文件,并能使外围器件定义、外围器件创建、以及处理器上数百个管脚与外围器件和系统总线的连接自动进行。对于开发工程师而言,系统生成器在进行HW/SW系统权衡时能提供很大帮助,而且还能解决软硬件优化的问题。如果没有系统生成器,则必须手动产生系统,将使系统设计时间和设计复杂度增加。

  如何利用Floorplanner

  很多EDA厂商都提供的另一种工具是Floorplanner,硬件设计工程师利用该工具可以控制摆放那些与他们所感兴趣的功能相关的逻辑,并且在功能实现后立即查看器件内的布局线路情况。以嵌入式系统为例,Floorplanner可以帮助设计工程师查看和(或)控制处理器以及相关外围器件的摆放,这些外围器件的布局可能对满足设计性能要求非常关键。

  如前所述,PowerPC 405内核中包含一个片上存储(OCM)控制器,该OCM控制器既能提供到64位指令BRAM(ISBRAM)的接口,也能提供到32位数据BRAM (DSBRAM)的接口,它最多能寻址16MB的DSBRAM和16MB的ISBRAM。OCM控制器最大的优点是能够保持一个固定的执行时延。为了满足 FPGA的时序的要求,硬件设计工程师必须控制OCM BRAM相对于OCM控制器接口的摆放位置:DSBRAM必须放在PPC405核之上,而ISBRAM必须置于PPC405之下,如图2所示。要想控制这类布局,最简单的方法也许就是采用Floorplanner工具。

  Floorplanner具有查看和(或)摆放逻辑的功能,该工具应用恰当时能够提升嵌入式系统的性能,但若应用不当则会降低系统性能。因此,用户要想成功地应用该工具,还应该注意以下几点建议:

  1. 硬件设计工程师在采用Floorplanner对硬件开始布局之前,必须清楚了解设计和目标结构,这对正确的设计布局和硬件资源利用非常关键。

Floorplanner工具在基于FPGA的嵌入式系统设计中的应用

  对硬件设计工程师而言,系统生成器能够创建系统中关键部件安装时所需的所有文件,并能使外围器件定义、外围器件创建、以及处理器上数百个管脚与外围器件和系统总线的连接自动进行。对于开发工程师而言,系统生成器在进行HW/SW系统权衡时能提供很大帮助,而且还能解决软硬件优化的问题。如果没有系统生成器,则必须手动产生系统,将使系统设计时间和设计复杂度增加。

  如何利用Floorplanner

  很多EDA厂商都提供的另一种工具是Floorplanner,硬件设计工程师利用该工具可以控制摆放那些与他们所感兴趣的功能相关的逻辑,并且在功能实现后立即查看器件内的布局线路情况。以嵌入式系统为例,Floorplanner可以帮助设计工程师查看和(或)控制处理器以及相关外围器件的摆放,这些外围器件的布局可能对满足设计性能要求非常关键。

  如前所述,PowerPC 405内核中包含一个片上存储(OCM)控制器,该OCM控制器既能提供到64位指令BRAM(ISBRAM)的接口,也能提供到32位数据BRAM (DSBRAM)的接口,它最多能寻址16MB的DSBRAM和16MB的ISBRAM。OCM控制器最大的优点是能够保持一个固定的执行时延。为了满足 FPGA的时序的要求,硬件设计工程师必须控制OCM BRAM相对于OCM控制器接口的摆放位置:DSBRAM必须放在PPC405核之上,而ISBRAM必须置于PPC405之下,如图2所示。要想控制这类布局,最简单的方法也许就是采用Floorplanner工具。

  Floorplanner具有查看和(或)摆放逻辑的功能,该工具应用恰当时能够提升嵌入式系统的性能,但若应用不当则会降低系统性能。因此,用户要想成功地应用该工具,还应该注意以下几点建议:

  1. 硬件设计工程师在采用Floorplanner对硬件开始布局之前,必须清楚了解设计和目标结构,这对正确的设计布局和硬件资源利用非常关键。

  2. 在对FPGA进行物理布局时必须优先考虑I/O。如图3所示,控制信号I/O应该放在FPGA的顶部或底部,数据总线I/O应放在左侧或右侧,这样才能保证最有效地利用FPGA的布线资源,并最大程度地优化性能。

  3. 算术功能在FPGA中通常利用专用的进位链(carry-chain)来实现,进位链在一个特殊的垂直方向上运行。例如,一个10位计数器的进位链就在从器件底端到顶端的垂直方向上运行。因而,设计者可以将其总线的LSB置于器件的底部而将MSB置于顶部,充分利用进位链的方向性。

  4. Floorplanner根据逻辑层次的不同来显示逻辑单元,因而很容易将逻辑单元划分为公共的组或区域。这种根据层次分组的方式利用了本地布线资源,因而能够降低信号延迟,提高电路性能。

  5. 如图4所示,交替地放置相关的总线。硬件设计工程师可以通过交替放置相关的I/O总线来降低信号延迟,但只有在这样的处理不增加额外的逻辑单元时才有意义。需要提醒的是,在进行布线决策时一定要把整个设计看作一个整体。

  硬件设计工程师在嵌入式系统设计中适当注意以上几点,就能轻松地对一个设计进行组织和规划。在对嵌入式系统进行底层规划之前,设计工程师必须首先给不同的组分配逻辑资源。组通常都是基于设计层次的,设计层次为嵌入式系统提供了一个自然的边界,Floorplanner可以利用这个边界轻松地进行组创建。系统生成器在创建系统的每一个模块时均相应创建了独特的分层参考,这就使得嵌入式系统的组定义变得非常简单。在需要进行底层规划的组创建好之后,就可以分配放置这些组的物理区域。每个组的放置需要基于前面的几点建议和设计版图来进行。

  设计版图约束

  Floorplanner提供了三种方法来约束逻辑模块和逻辑组的物理位置分配:

  1. 第一种方法就是将逻辑部件置于一个特定的物理位置,或放在某个特定的元件内部。例如,数据总线的一个输出(以第10位为例)可以分配给器件的第37脚。但这类分配没有灵活性,布局工具和布线工具必须将第10位的输出驱动置于器件管脚37中。这种方法还可以用于布局和分配一组逻辑部件。

  2. 第二种方法是将某个逻辑单元或逻辑组分配给一个物理区域。通常采用的都是这种方法,因为它允许布局工具和布线工具移动某区域组内的逻辑单元,以实现最优的布局和布线。为了优化系统设计,功能更强大的Floorplanner工具还支持组间重叠,以及在一个经过底层规划的区域实现不经底层规划处理的逻辑。

  3. 第三种方法是创建关联布局宏(Relationally Plalced Macro, RPM)。RPM定义了各逻辑单元之间的相对版图设计,但准确的布局是由布局和布线工具决定的,这样可以得到最佳的设计性能。例如,一个查找表(LUT) 可以与一个触发器置于同一块(slice)内,而一个块又可以直接置于另一块之上。RPM使设计工程师能够控制某些特定模块的布线,但并没有严格地限制布局和布线工具。

  通过在嵌入式系统设计中应用以上提出的建议和方法,硬件设计工程师就能控制某些特定部件的布局,改善器件的整体布线(通过利用区域性分组),并控制某些特定部件之间的相对布局(通过采用RPM)。

Floorplanner工具在基于FPGA的嵌入式系统设计中的应用

  应用举例

  图5采用了PPC 405来说明上面所述方法和建议,该应用是包含了2个UART和一个BRAM控制器的嵌入式设计。

  在该设计中,系统生成器创建层次边界,而逻辑组则在这些边界的基础上创建。为PLB仲裁器、UART和BRAM内存控制器均可创建区域组(area group)。将BRAM和PPC 405限制在特定位置,以使设计达到最佳性能。应该注意的是,在分配一个区域组时,必须为该区域中的逻辑单元分配足够的资源。而当 Floorplanner的功能更强大时,还能为用户提供每个区域组所需的资源。本例中的区域组中所包含的资源为实现所需资源量的两倍。这样,通过向经底层规划处理后的区域中添加布局额外的逻辑单元(不包含在组中逻辑单元)可以对设计进一步优化。

  在分配资源时,BRAM内存控制器被置于硅片的中央,这样可以对所有BRAM元件以及PPC 405内核进行同等的访问。在本设计之中BRAM中包含了PPC 405内核所需的数据和指令。UART1和UART2的位置在IO附近,以尽可能减少输入到时钟和时钟到输出的时间。设计中有两个PLB接口,一个是 CPU指令端PLB接口,另一个是CPU数据端PLB接口。因此,PLB仲裁器被放在PPC 405内核旁边。

  分配给每一个区域组的逻辑单元均根据区域约束进行布局,而且为提高设计性能,还在设计中混入了额外的逻辑单元,这也正说明了为什么在每个区域组分配时都要保留一定的额外空间的原因。

关键字:FPGA  嵌入式  PowerPC 引用地址:Floorplanner工具应用基于FPGA的嵌入式

上一篇:FPGA供电要求和最新DC/DC稳压器解决方案
下一篇:DSP的线性调频信号的数字脉冲压缩

推荐阅读最新更新时间:2024-05-02 20:43

嵌入式系统硬件抽象层的建立及软件的可移植性设计
摘要:在阐述嵌入式系统软件设计方法的基础上,介绍嵌入式系统底层软件可移值性设计和硬件抽象层的建立;举例说明利用此思想的嵌入式软件的设计及测试过程。 关键词:设备驱动程序 嵌入式系统 软件设计 可移植性 1 嵌入式系统设计   由于嵌入式系统有着体积小、功能集中、可靠性高等优点,已被广泛地应用到日常生活的各个方面,如移动通信、工业控制、医疗器械,家用电器等。如何缩短嵌入式系统的开发周期,降低开发成本,以及提高产品的可靠性已成为嵌入式行业普遍关注的问题。在嵌入式系统设计中,通常采用以下设计方法。 (1)瀑布模式开发过程   瀑布模式开发过程工作模式简单,任务的划分协调及人员安排、物质材料的分配管理都比较容易。如图1所示,开发过程为从硬件
[嵌入式]
基于MSP430的嵌入式DTMF拨号解码器方案设计
本文介绍了一种基于MSP430的嵌入式DTMF拨号解码器实现方案。DTMF拨号部分使用4根I/O线的电阻网络,配合软件产生DTMF信号。利用MSP430F133内置的ADC,并采用改进的Goertzel算法,实现DTMF信号的实时解码。该方案成本低、性能可靠,已经得到了实际应用。 DTMF信号 DTMF信号是将拨号盘上的0~9、A~D及*/E、#/F共16个字符,用音频范围的8个频率来表示的一种编码方式。8个频率分为高频群和低频群两组,分别作为列频和行频。每个字符的信号由来自列频和行频的两个频率的正弦信号叠加而成。频率组合方式如图1所示。 根据CCITT Q.23建议,DTMF信号的技术指标是:传送/接收率为每秒10个号
[单片机]
基于MSP430的<font color='red'>嵌入式</font>DTMF拨号解码器方案设计
软件无线电设计中ASIC、FPGA和DSP的选择
  ASIC、FPGA和DSP的应用领域呈现相互覆盖的趋势,使设计人员必须在软件无线电结构设计中重新考虑器件选择策略问题。本文从可编程性、集成度、开发周期、性能和功率五个方面论述了选择ASIC、FPGA和DSP的重要准则。   软件无线电(SDR)结构一直被认为是基站开发的灵丹妙药,而随着其适应新协议的能力不断增强,软件无线电结构已被一些设计人员视为在单个基础架构设计中支持多种无线协议的重要解决方案。   直到最近,软件无线电仍然只是大多数通信系统设计人员的规划蓝图而已,但这一局面正迅速得到改观。随着3G无线业务的日趋临近,设计人员又对在基础架构设计中实现软件无线电结构产生了浓厚的兴趣。    实现软件无线电   传统的无
[嵌入式]
软件无线电设计中ASIC、<font color='red'>FPGA</font>和DSP的选择
一种基于ARM和FPGA嵌入式高速图像采集存储系统设计与实现
现代化生产和科学研究对图像采集系统要求日益提高。传统图像采集系统大都是基于PC机上,而在一些特殊的场合,尤其是在实时性要求较高时,普通的PC机显然无法满足应用要求。它主要包括图像采集模块、图像处理模块以及图像存储模块等。 1 系统结构及工作原理 本系统的结构模型,如图1所示。图像采集模块负责采集原始图像,并将原始图像数据送给FPGA,采用了可编程视频输入处理器SAA7113H。一帧图像采集完成后,ARM将图像数据通过FPGA取出,进行必要的处理,并形成图片文件存到CF卡中,本系统选用了Philips公司的LPC2214。 图像采集芯片将原始图像数据传到FPGA,FPGA将图像原始数据暂存于SRAMl中,当一帧图像存储
[工业控制]
一种基于ARM和<font color='red'>FPGA</font>的<font color='red'>嵌入式</font>高速图像采集存储系统设计与实现
将意图转化为行动:走进嵌入式语音控制的新时代
恩智浦发布新一代智能语音技术组合的语音识别引擎。在这篇博文中,我们将探讨开发人员在嵌入式语音控制设计中面临的挑战、我们新的Speech to Intent引擎,以及您如何在应用中使用它。 听到您的声音:嵌入式系统中语音命令的挑战 随着亚马逊、谷歌和苹果等公司推出了具有革命性意义的智能扬声器,嵌入式语音控制的设备已经成为了当下的热门趋势,而这种技术其实已经存在了很多年。通过这些智能扬声器,终端用户第一次体验到了语音优先设备的便捷性、实用性和直观性。语音是这些设备的用户界面(UI),也是它们最重要或唯一的交互方式。借助云端的自然语言理解技术,智能扬声器可以让语音优先设备的终端用户用自然语言与智能设备进行沟通,
[嵌入式]
将意图转化为行动:走进<font color='red'>嵌入式</font>语音控制的新时代
基于ARM的可定制MCU可承担FPGA的工作
  如今的产品生命周期可能短至六个月,因此在这种情况下要想取得定制ASIC的低成本、低功耗和高性能优势几乎是不可能的。定制ASIC的设计周期通常要一年左右,这通常要比终端产品的生命周期还要长。另外,标准单元ASIC还具有NRE费用(非重复工程成本),对于基本的0.13微米设计,该成本约为30万美元,而对于具有复杂IP内容的90nm设计将超过100万美元。因而当每年的批量小于10万片时,从经济角度看就不具有可行性。   为此人们研发出了平台化或结构化ASIC,它们具有预设计的IP块和可编程的ASIC门,可显著降低成本并缩短设计周期。这种方案将设计周期从一年甚至更长的时间缩短到几个月,还将NRE成本降低到大约15万美元,不过与门阵列
[单片机]
基于ARM的可定制MCU可承担<font color='red'>FPGA</font>的工作
嵌入式U盘读写器接口技术和系统设计
引言 随着USB技术和闪存技术的飞速发展,移动存储设备的速度和容量日新月异,但在工业控制的上位机和下位机之间,数据传输依然采用传统的串并口技术,特别对一些前端的便携式采集系统,需要采集后临时存储,再拿回来传给作为上位机的PC机进行数据处理,给人们带来很多不变,为此,本文提出了一种方法--利用U盘的便捷特性开发一种基于嵌入式的USB读写器,方便地将采集数据以文件方式写入U盘,PC机不需要任何特殊驱动便可以完成对数据的处理回放。利用本方法可以彻底解决下位机与PC机之间的数据传输难的问题。 1 硬件设计 系统采用TI公司的MSP430F149作为MCU,Cypress公司的SL811HS作为USB设备控制器,充分发挥各自优势
[应用]
TQ2440 学习笔记—— 9、嵌入式编程基础知识【arm-linux-gcc 选项】
自己刚开始看的时候,总是沉不下心,后面硬是硬着头皮看完!现在再重新看一遍,做下记录!方便以后阅读,因为有些东西挺容易忘的。 一、交叉编译工具选项说明 1、arm-linux-gcc 选项 一个C/C++ 文件要经过预处理、编译、汇编、和链接 等4个步骤才能变成可执行文件;在Windows 下我们只需要单机几个按钮即可编译,但在ARM平台上,我们必须使用交叉编译工具。 预处理:——得到 ” .i “文件。 使用的工具 arm-linux-cpp 编译:——将上述的” .i “文件“翻译”成汇编代码。 使用的工具为ccl(它的名字就是ccl,不是arm-linux-ccl) 汇编:——将上一步的代码翻译成符合一
[单片机]
TQ2440 学习笔记—— 9、<font color='red'>嵌入式</font>编程基础知识【arm-linux-gcc 选项】
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved