1 / 75

可编程片上系统设计

可编程片上系统设计. 何宾 2012.02. 内容概述. 本章主要对片上可编程系统设计技术进行了简要的 介绍: 在片上可编程系统概述部分介绍了软核和硬核处理 器,以及片上可编程系统的发展背景和片上可编程系 统技术的特点; 在片上可编程系统设计方法部分介绍了片上可编程 系统设计流程、通用片上可编程系统优化技术和专用 片上可编程系统优化技术; 在片上可编程系统芯片部分介绍了 Xilinx 公司支持 片上可编程系统设计的主要芯片的种类和性能。. 可编程片上系统设计.

aden
Download Presentation

可编程片上系统设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 可编程片上系统设计 何宾 2012.02

  2. 内容概述 本章主要对片上可编程系统设计技术进行了简要的 介绍: 在片上可编程系统概述部分介绍了软核和硬核处理 器,以及片上可编程系统的发展背景和片上可编程系 统技术的特点; 在片上可编程系统设计方法部分介绍了片上可编程 系统设计流程、通用片上可编程系统优化技术和专用 片上可编程系统优化技术; 在片上可编程系统芯片部分介绍了Xilinx公司支持 片上可编程系统设计的主要芯片的种类和性能。

  3. 可编程片上系统设计 基于现场可编程门阵列(Field Programmable Gate Array, FPGA)的SOPC(System-on-a-chip),包含嵌入 式的软核或硬核处理器、存储器和硬件加速器。SOPC的 出现为设计者提供了设计高性能嵌入式系统和优化系统 的条件。

  4. 可编程片上系统设计-软核及硬核处理器 SOPC嵌入式处理器分为软核和硬核处理器两类。 Xilinx提供了将物理的处理其核集成到FPGA硅片上的硬核 处理器产品。 一个处理器使用专门的硅片实现称为硬核处理器, 比如: 1)Xilinx将PowerPC硬核集成到Virtex-II Pro到Virtex- 5系列的FPGA芯片中。 2)ARM Cortex-A9硬核集成到Zynq系列的FPGA芯片 中。 软核处理器是通过使用FPGA的通用逻辑实现的。软核 处理器通过HDL语言或网表进行描述的。软核处理器必须 进行综合才能使用。

  5. 可编程片上系统设计-软核及硬核处理器 在基于软核和硬核处理器的SOPC系统中,本地存储 器、处理器总线、内部外设、外设控制器和存储器控制器 必须使用FPGA的通用逻辑实现。 下面给出Xilinx公司的软核和硬核处理器的性能。

  6. 可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 由于持续的要求嵌入式系统具有更多的功能、更好的 性能和灵活性,因此传统上的设计方法已经不适应这种要 求。当设计人员试图通过高性能的嵌入式处理器得到更高 的性能时,遇到了吞吐量和性能方面的限制,而这种限制 源于系统和结构的瓶颈,以及存储器带宽的限制。 现在解决问题的方法是“专用”,即对某个嵌入式系统 的应用使用专门的解决方法。比如,数字信号处理器DSP 用于解决某一类专门的数字信号处理。对于一些高容量的 应用,设计人员可能还需要专门开发ASIC芯片。

  7. 可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 现在FPGA广泛地应用在各个领域中。因此,很多 FPGA厂商将专用的嵌入式处理器Power、ARM等嵌入到 了FPGA芯片中。这种集成了嵌入式处理器的FPGA芯片被 定义成FPGA的平台。这种基于FPGA的嵌入式平台提供了 一个灵活的解决方案。 在这个解决方案中,一个单FPGA芯片上提供了大量 不同的IP软核和硬核资源。这些固件和硬件可以在任何时 间进行升级。这种可编程的结构特点,大大缩短了系统的 开发时间,而同一平台能应用在很多领域,提高了平台的 资源复用率。

  8. 可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 这种结构同时还使设计人员可以优化系统吞吐量和开 发周期,提供前所未有的软件和硬件协同设计的灵活性, 这种灵活性主要体现在设计人员能够权衡软件和硬件设计 的实现方法。 这种协同性不同于传统的嵌入式系统的协同设计,虽 然以前也使用软件和硬件的协同设计,但是在实现级别上 基本上还是使用大量的分离的设计流程。比如,硬件设计 人员制定硬件设计规范,软件设计人员制定软件设计规 范。 这样就导致对问题截然不同的理解,而且对设计团队提 出了很高的要求。

  9. 可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 更进一步的说,FPGA平台,即SOPC集成了传统的软 核和硬核处理器、片上总线、大量不同的I/O设备和借口 标准、定制的硬件加速处理器,以及混合的定制的总线或 点对点的拓扑结构,以提高系统的性能。

  10. 可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 在SOPC的层次上,FPGA的应用领域已经大大扩宽 了,它不再是传统意义上用于连接不同接口设备的“连接 逻辑”。由于FPGA的容量和性能不断提高,因此它就逐步 地变成嵌入式系统的中心。 FPGA容量不断提高,已经将嵌入式处理器和大量I/O 集成在FPGA芯片内。当FPGA发展到SOPC的阶段后,设 计的复杂度也不断的提高,硬件和软件设计在FPGA平台 上都显得十分重要。而且由于FPGA集成了片上总线和存 储器,因此也需要系统设计和系统结构方面的经验。

  11. 可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 在SOPC阶段,设计已经从以硬件描述语言HDL为中心 的硬件设计,转换到了以C语言进行功能描述为中心。所 以就形成了以C语言描述SOPC的功能,而用HDL语言描 述硬件的具体实现方法。这也是和传统的FPGA设计和嵌 入式系统设计最大的区别,即软件和硬件的真正的协同设 计。

  12. 可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 作为新的嵌入式系统的设计平台,使用SOPC进行嵌 入式系统设计具有以下几个方面的优点: 1、定制 基于FPGA的嵌入式系统的设计人员可以很灵活地选 择所要连接的外设和控制器。因此,设计人员可以设计出 一个独一无二的外设,这个外设可以直接和总线连接。对 于一些非标准的外设,设计人员很容易的使用FPGA嵌入 式平台实现。比如,设计人员很容易的在FPGA平台上设 计出具有10个UART接口的嵌入式系统。因此,在FPGA 系统中,向这样类似的配置是很容易实现的。

  13. 可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 2、延缓过时 一些公司,特别是为军方提供产品的那些公司,它们 产品的供货周期常常比标准电子产品的周期要长。电子元 器件的过时(停产)是一个非常严重的问题,会导致这些 公司无法继续提供其产品。由于软核处理器的HDL源代码 可以通过购买得到,因此基于FPGA的软核处理器是一个 非常好的解决方案,它可以充分的满足产品长期供货的要 求。

  14. 可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 3、降低元件成本 由于基于FPGA平台的嵌入式系统的功能多样性,以前 需要用很多元件才能实现的系统,现在可以使用一个 FPGA芯片实现。比如,辅助I/O芯片或协处理器与现有的 处理器之间的连接。减少在设计中所使用的元件的数量, 不但可以降低元件的成本,而且可以大大缩小电路板的尺 寸。

  15. 可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 4、硬件加速 选择基于FPGA的SOPC的一个重要的原因就是,SOPC 能在硬件和软件之间进行权衡,使嵌入式系统达到最大的 效率和性能。比如,当算法是嵌入式系统软件性能的瓶颈 时,一个使用FPGA定制的协处理器引擎能用来实现算 法,这个协处理器通过专用的,低延迟的通道与嵌入式处 理器连接。使用现代的硬件设计工具,很容易的将软件瓶 颈转向硬件处理。

  16. 可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 SOPC的出现给嵌入式系统设计带来了非常多的优点, 但是由于采用基于FPGA的嵌入式平台,这个平台集成了 软件和硬件的平台设计工具,因此设计比较复杂。 FPGA的嵌入式的软件设计工具比标准的传统的嵌入式 系统的软件设计要新,软件设计工具相对来说还不成熟。 但是随着SOPC技术的进一步发展,这个问题将会解决。 芯片的成本也是一个问题,采用专用的嵌入式平台比 采用基于FPGA的嵌入式平台成本要低,但是随着制造工 艺的不断更新和SOPC芯片的成本的降低,相信在不久的 将来,SOPC成本甚至还会低于采用专用的嵌入式平台。

  17. 可编程片上系统设计-可编程片上系统设计与优化技术可编程片上系统设计-可编程片上系统设计与优化技术 SOPC设计技术不同于传统的嵌入式系统设计流程和设 计方法,其设计是软件和硬件的协同设计,同时又是基于 软件为中心的设计技术。下面首先介绍Xilinx的SOPC设计 流程,然后介绍以软件为中心的SOPC设计技术。

  18. 可编程片上系统设计与优化技术-可编程片上系统设计技术可编程片上系统设计与优化技术-可编程片上系统设计技术 正如前面所说,基于SOPC的嵌入式系统的设计需要 软件和硬件的协同设计。下面给出Xilinx公司使用嵌入式 开发套件(Embedded Design Kit, EDK)进行嵌入式系统设 计的流程。 Xilinx公司的EDK工具包用于开发基于FPGA平台的嵌 入式系统,从图可以看出该工具支持传统的硬件和嵌入式 软件的设计流程。

  19. -可编程片上系统设计技术--可编程片上系统设计流程-可编程片上系统设计技术--可编程片上系统设计流程

  20. -可编程片上系统设计技术--可编程片上系统设计流程-可编程片上系统设计技术--可编程片上系统设计流程 EDK支持硬核PowerPC和软核Microblaze处理器(未 来增加对ARM处理器的支持)。并将设计的导入、创建 和IP核定制进行了流水化的处理。由于EDK知道平台 FPGA的硅片属性和选项,能自动的为其外设生成软件驱 动、测试代码和创建板级支持包BSP(Board Support Package)。这些BSP是常用的实时操作系统RTOS(Real- Time Operating System),比如VxWorks和嵌入式Linux提 供的设备驱动。

  21. -可编程片上系统设计技术--可编程片上系统设计流程-可编程片上系统设计技术--可编程片上系统设计流程 EDK的设计流程就是一个软件和硬件协同处理和设计 的过程。软件流程完成C语言代码的编写、编译和链接的 过程。硬件流程完成HDL设计输入、综合、仿真和实现的 过程。XPS提供了一个Data2MEM工具,该工具能将C语 言生成的ELF(Executable and Linkable Format)文件代码 插入到生成后的FPGA的比特流文件中,将其生成能够下 载到FPGA中,并能启动的映像文件。通过这个过程设计 人员能够使软件开发和调试进行实时处理,而不需要额外 的时间开销。

  22. -可编程片上系统设计技术--可编程片上系统设计流程-可编程片上系统设计技术--可编程片上系统设计流程 Xilinx的JTAG连接技术,完成FPGA的下载、FPGA的 调试、C代码的下载和软件的调试。 XPS集成了软件和硬件调试工具,使它们之间可以相 互触发,这使得嵌入式系统内部变成“可见”,使嵌入式 设计者能很快地找到和发现问题,而无需知道这个问题 是软件还是硬件产生的。

  23. -可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 SOPC设计中,一个好的开发工具提供对目标平台合 理的抽象,而这个抽象对设计人员来说是比较容易理解 的。 硬件抽象使得软件开发人员不需要从应用程序的开发 转向真实的硬件实现,事实上对于软件人员来说这也是不 可能的事情。但是软件开发人员在设计程序的时候开始将 并发性和基于消息驱动的硬件概念融入到程序设计中。

  24. -可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 这个抽象允许软件设计人员创建、测试和调试应用 程序,同时促进开发人员使用程序设计方法使得目标系 统达到最大的性能。同时,好的开发工具还提供了将原 始的高级描述转换成优化过的低级的目标系统可加载和 执行的代码。

  25. -可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 为了达到这两个要求,为自动的基于FPGA平台的硬件 生成工具主要目的是自动编译和优化问题,提出编程的 抽象模型、编程的方法。这些工具目的就是建立面向软 件的设计经验。

  26. -可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 面向软件的编程、仿真和调试工具提供了对FPGA平台 的合理的抽象,允许系统设计人员在原型设计阶段,开始 应用的开发、实验,而不需要专门的硬件知识,这一点对 于原型设计阶段是非常重要的。如图1.2所示,通过使用 软件到硬件的设计方法和工具,传统的软件和硬件设计流 程能极大的得到改善。但是并不是说不需要硬件的技巧。 事实上,一个完整的和优化过的系统中只使用软件知识是 不可能实现的。通过软件和硬件设计技巧和使用现代设计 工具就能很快地建立工作原型。

  27. -可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法

  28. -可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 面向软件的设计流程一个非常重要的特点就是在最合 理的平台资源中使用软件来描述设计规范。如果最合适的 平台资源是微处理器,那么事情就比较简单,只需要针对 这个处理器进行交叉编译(交叉编译就是在一个平台上生 成另一个平台上的可执行代码),但是如果是FPGA的 话,传统的设计流程要求用HDL语言重新书写RTL级的描 述,那是一件既耗时,又容易出现设计错误的事情。但是 使用面向软件的设计流程,只需要对最初的设计语言进行 简单的一些修改,而不需要关心目标系统的资源。

  29. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 基于SOPC的嵌入式系统设计中,一个非常重要的问 题是优化问题。 虽然表1.1给出的SOPC的性能指标很高,但是设计者 往往发现很难达到表中的指标。这是由于设计人员没有很 好的使用基于FPGA嵌入式处理器的性能扩展技术。 FPGA的生产厂商会采用一切方法和手段使芯片的性能 达到预期的性能和指标,而对于熟悉标准微处理器性能优 化技术的设计人员来说必须熟悉针对FPGA嵌入式处理器 的优化技术,这样才能使他们设计出来的FPGA嵌入式系 统的性能指标达到FPGA厂商的设计指标。

  30. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 FPGA嵌入式处理器设计比较复杂,复杂程度甚至使那 些有经验的设计人员在某些情况下都无能为力,因此为了 获得FPGA平台的优势必须进行权衡。下面给出一些在设 计FPGA的SOPC嵌入式系统时,会使用到的一些优化技 术。 这些优化技术并不是SOPC设计中特有的技术,而这些 技术在传统的嵌入式系统的设计中已经使用了这些技术。

  31. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 1. 代码控制 一些可以使用的优化技术影响应用程序代码。一些技 术影响代码如何编写,而一些技术影响编译器如何处理代 码。

  32. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 1、优化级别 在Xilinx的XPS中的GCC编译器中可以选择编译的优化 级别。编译器的优化级别有0、1、2、3和代码长度优化 共五级优化。下面给出这四种优化级别的说明。 0级优化:不进行任何优化操作。 1级优化:执行跳转(JUMP)和出栈(POP)优化。 2级优化:这一级优化执行几乎所有的优化操作,但是 不包括速度和空间的权衡,所以可执行代码的长度不会增 加。编译器不执行循环的解开操作,函数嵌入和严格的别 名优化操作。这是对程序配置的标准优化操作。

  33. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 3级优化:最高级优化。这级优化增加了更多的可选 项,其中包括增加代码尺寸。在一些情况下,3级优化后 的代码效率比第2级优化后的代码效率要低,所以要谨慎 使用第3级优化。 长度:长度优化。优化目标是产生较小的代码长度。

  34. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 2、使用FPGA厂商的优化指令 Xilinx提供了一些为Xilinx的嵌入式处理器定制的指 令。比如:xil_printf。这个函数功能和printf基本是一样 的,但是存在下面的一些不同之处:不支持实数类型,不 支持64位。由于这些改动使xil_printf函数只有2953个字 节,比printf的函数的代码长度(51788字节)要小得多。

  35. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 3、汇编 在GCC编译器中支持嵌入的汇编。对于任何处理器来 说,在一些对时间要求比较苛刻的应用场合,汇编语言是 非常有用的。在一些编译器中,如果在文件中使用了汇编 语言,编译器是不会优化剩余的C代码的。

  36. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 4、混杂 当优化FPGA嵌入式处理器时,一些与代码相关的优 化也被考虑在其中,主要包括:参考位置、代码分析、 变量的定义、小数据区的使用策略、明智的使用函数调 用减少入栈和出栈帧、循环长度等。

  37. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 2. 存储器的使用 处理器提供访问快速的本地存储器的能力,以及与 慢速的二级存储器的接口。FPGA的嵌入式处理器也提 供了这样的功能。 使用存储器的方法对系统性能会产生重要的影响。其 它处理器那样,在FPGA内的嵌入式处理器对存储器的 使用可以通过一个链接脚本进行操作。

  38. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 1、只用本地存储器 最快的存储器的选择是将所有的代码放在本地存储器 中。Xilinx的本地存储器由大容量的块RAM(BRAM)组 成。嵌入式处理器以单总线周期访问BRAM。由于在 MicroBlaze构成的嵌入式系统中,处理器和存储器运行在 相同的时钟频率,存放在BRAM中的指令能够以处理器的 频率执行。 在MicroBlaze系统中,BRAM本质上的性能和L1高速缓 存的性能一样。在PowerPC的嵌入时系统中,处理器运行 频率比总线要高,并且存在L1高速缓存,因此BRAM的性 能与L2高速缓存的性能一致。在Xilinx的FPGA中,BRAM 的性能是不一样的。

  39. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 2、只用外部存储器 如果将所有程序放在外部存储器中,将使系统的性能降 到最低。Xilinx提供了与外部不同存储器的接口。这些存 储器接口与处理器的外设总线连接。Xilinx的存储器控制 器支持三种易失性存储器SRAM、SDRAM和DDR SDRAM。在FPGA内的SRAM控制器结构是最简单和最小 的,但SRAM是三种存储器中最贵的。FPGA内的DDR控 制器结构是最复杂和最大的,但是所需要的FPGA引脚是 非常少的,每兆字节的DDR存储器成本是最低的。

  40. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 此外,对外部存储器的访问存在时间延迟。在 MicroBlaze中,存储器控制器与OPB(On-chip Peripheral) 总线相连。比如,OPB总线的SDRAM控制器需要4-6个时 钟的写操作延迟,8-10个时钟周期的读操作延迟。

  41. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 3、高速缓存 在建有PowerPC处理器的FPGA硅片上建立了的指令和 数据高速缓存。使其对处理器总保持性能优势。而在 MicroBlaze处理器没有专门在硅片上建立指令和数据高速 缓存。对于MicroBlaze处理器来说,高速缓存是可配置的 选项。当需要高速缓存时,使用BRAM建立高速缓存。与 本地存储器相比,由于高速缓存需要在BRAM中保存地址 映射机构,因此高速缓存会使用更多的BRAM资源。

  42. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 此外,使能高速缓存还会消耗通用逻辑资源用来建立高 速缓存控制器。比如在Spartan-3中建立8KB的数据高速缓 存和32M的外部存储器被缓存,将需要12位的地址标记, 使用124个逻辑单元和6个BRAM资源。而建立8KB的本地 存储器只需要4个BRAM资源。多出的2个BRAM用于保存 地址标记。

  43. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 此外,当使能高速缓存后,系统地最高频率也会降低。 比如,一个没有高速缓存的系统工作频率可以达到 75MHz,如果使用高速缓存,工作频率只有60MHz。使能 高速缓存控制其将增加逻辑和设计复杂度,在布局和布线 时,将降低系统频率。所以在软核处理器中使用高速缓存 会降低整个系统的性能。

  44. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 经过谨慎的考虑,在低系统工作频率下使能指令高速 缓存将其高系统性能。比如,60MHz的系统使用指令高速 缓存比75MHz不使用高速缓存的系统,带来150%的性能 提高。当数据和指令高速缓存全部使用时,将带来308% 的性能提高。

  45. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 4、分配代码到内部存储器、外部存储器和高速缓存中 正如前面所提到的只有把所有代码放到本地存储器中, 才能提供最好的性能。由于程序经常会超出本地存储器可 使用的容量,所以实际上是不可能将所有代码存放在本地 存储器中的。而另一方面,从外部存储器运行程序会有很 大的时间延迟。在PowerPC系统中,使用高速缓存是一个 非常好的选择。在MicroBlaze对外部存储器使用高速缓存 会改善结果,但是采用其它方法可以提供更优化的结果。

  46. -可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 在MicroBlaze系统中,最好的方法是合理的分配程序 代码,使系统的频率和本地存储器容量达到最大。关键 指令、数据和堆栈放在本地存储器中。不要使用数据高 速缓存。如果本地存储器不能保存所有的指令,那么就 要考虑使用指令高速缓存用于在外部存储器中保存指 令。

  47. 专用的可编程片上系统优化技术--提高FPGA工作频率专用的可编程片上系统优化技术--提高FPGA工作频率 1、逻辑优化 如果设计中没有在外部存储器中保存和运行指令,那么 就不要连接指令一侧的外设总线。将处理器的指令和数据 一侧连接到一个总线上会产生一个多主系统,在这样的系 统中要求仲裁器。在总线上只存在一个主设备将优化系统 性能。

  48. 专用的可编程片上系统优化技术--提高FPGA工作频率专用的可编程片上系统优化技术--提高FPGA工作频率 使用FPGA内的资源调试逻辑会产生硬件瓶颈。当设计 已经全部调试后,要从系统中去除这些调试逻辑,这样可 以提高系统的性能。比如,去除FSL加速通道上的MDM (MicroBlaze Debug Module)模块将节省950个逻辑单元。 在MicroBlaze中使能高速缓存,调试逻辑作为关键路径将 降低系统地工作频率。

  49. 专用的可编程片上系统优化技术--提高FPGA工作频率专用的可编程片上系统优化技术--提高FPGA工作频率 用于连接外部SRAM和Flash存储器的OPB外部存储器控 制器,产生32位地址线(即使这些地址不会完全使用)。 Xilinx提供了总线裁减外设的功能,用于删除不需要的地 址位。这样就会减少布线和引脚。 Xilinx提供了一些GPIO外设。GPIO提供了双通道、双 向功能和中断能力。这些功能需要更多的资源,会影响时 序。如果设计中只使用简单的GPIO,那么就使用GPIO最 基本的版本,或者关闭那些没有使用的功能。

  50. --专用的可编程片上系统优化技术---面积和时序约束--专用的可编程片上系统优化技术---面积和时序约束 当设计者给出布局和布线导向时,Xilinx的布局和布线 工具将能更好的工作。在Xilinx工具中,设计人员指定期 望的工作频率、引脚位置和逻辑元素的位置。通过提供这 些详细的信息,设计工具将能自动的、更好的在硬件设计 实现上进行权衡。 一些外设可能需要其它约束,用来保证其操作的正确 性。比如,DDR SDRAM控制器和10/100以太网控制器。 设计人员在使用时,必须认真地阅读相关外设的数据手 册,并遵循推荐的设计规则。

More Related