750 likes | 890 Views
可编程片上系统设计. 何宾 2012.02. 内容概述. 本章主要对片上可编程系统设计技术进行了简要的 介绍: 在片上可编程系统概述部分介绍了软核和硬核处理 器,以及片上可编程系统的发展背景和片上可编程系 统技术的特点; 在片上可编程系统设计方法部分介绍了片上可编程 系统设计流程、通用片上可编程系统优化技术和专用 片上可编程系统优化技术; 在片上可编程系统芯片部分介绍了 Xilinx 公司支持 片上可编程系统设计的主要芯片的种类和性能。. 可编程片上系统设计.
E N D
可编程片上系统设计 何宾 2012.02
内容概述 本章主要对片上可编程系统设计技术进行了简要的 介绍: 在片上可编程系统概述部分介绍了软核和硬核处理 器,以及片上可编程系统的发展背景和片上可编程系 统技术的特点; 在片上可编程系统设计方法部分介绍了片上可编程 系统设计流程、通用片上可编程系统优化技术和专用 片上可编程系统优化技术; 在片上可编程系统芯片部分介绍了Xilinx公司支持 片上可编程系统设计的主要芯片的种类和性能。
可编程片上系统设计 基于现场可编程门阵列(Field Programmable Gate Array, FPGA)的SOPC(System-on-a-chip),包含嵌入 式的软核或硬核处理器、存储器和硬件加速器。SOPC的 出现为设计者提供了设计高性能嵌入式系统和优化系统 的条件。
可编程片上系统设计-软核及硬核处理器 SOPC嵌入式处理器分为软核和硬核处理器两类。 Xilinx提供了将物理的处理其核集成到FPGA硅片上的硬核 处理器产品。 一个处理器使用专门的硅片实现称为硬核处理器, 比如: 1)Xilinx将PowerPC硬核集成到Virtex-II Pro到Virtex- 5系列的FPGA芯片中。 2)ARM Cortex-A9硬核集成到Zynq系列的FPGA芯片 中。 软核处理器是通过使用FPGA的通用逻辑实现的。软核 处理器通过HDL语言或网表进行描述的。软核处理器必须 进行综合才能使用。
可编程片上系统设计-软核及硬核处理器 在基于软核和硬核处理器的SOPC系统中,本地存储 器、处理器总线、内部外设、外设控制器和存储器控制器 必须使用FPGA的通用逻辑实现。 下面给出Xilinx公司的软核和硬核处理器的性能。
可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 由于持续的要求嵌入式系统具有更多的功能、更好的 性能和灵活性,因此传统上的设计方法已经不适应这种要 求。当设计人员试图通过高性能的嵌入式处理器得到更高 的性能时,遇到了吞吐量和性能方面的限制,而这种限制 源于系统和结构的瓶颈,以及存储器带宽的限制。 现在解决问题的方法是“专用”,即对某个嵌入式系统 的应用使用专门的解决方法。比如,数字信号处理器DSP 用于解决某一类专门的数字信号处理。对于一些高容量的 应用,设计人员可能还需要专门开发ASIC芯片。
可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 现在FPGA广泛地应用在各个领域中。因此,很多 FPGA厂商将专用的嵌入式处理器Power、ARM等嵌入到 了FPGA芯片中。这种集成了嵌入式处理器的FPGA芯片被 定义成FPGA的平台。这种基于FPGA的嵌入式平台提供了 一个灵活的解决方案。 在这个解决方案中,一个单FPGA芯片上提供了大量 不同的IP软核和硬核资源。这些固件和硬件可以在任何时 间进行升级。这种可编程的结构特点,大大缩短了系统的 开发时间,而同一平台能应用在很多领域,提高了平台的 资源复用率。
可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 这种结构同时还使设计人员可以优化系统吞吐量和开 发周期,提供前所未有的软件和硬件协同设计的灵活性, 这种灵活性主要体现在设计人员能够权衡软件和硬件设计 的实现方法。 这种协同性不同于传统的嵌入式系统的协同设计,虽 然以前也使用软件和硬件的协同设计,但是在实现级别上 基本上还是使用大量的分离的设计流程。比如,硬件设计 人员制定硬件设计规范,软件设计人员制定软件设计规 范。 这样就导致对问题截然不同的理解,而且对设计团队提 出了很高的要求。
可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 更进一步的说,FPGA平台,即SOPC集成了传统的软 核和硬核处理器、片上总线、大量不同的I/O设备和借口 标准、定制的硬件加速处理器,以及混合的定制的总线或 点对点的拓扑结构,以提高系统的性能。
可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 在SOPC的层次上,FPGA的应用领域已经大大扩宽 了,它不再是传统意义上用于连接不同接口设备的“连接 逻辑”。由于FPGA的容量和性能不断提高,因此它就逐步 地变成嵌入式系统的中心。 FPGA容量不断提高,已经将嵌入式处理器和大量I/O 集成在FPGA芯片内。当FPGA发展到SOPC的阶段后,设 计的复杂度也不断的提高,硬件和软件设计在FPGA平台 上都显得十分重要。而且由于FPGA集成了片上总线和存 储器,因此也需要系统设计和系统结构方面的经验。
可编程片上系统设计-可编程片上系统技术的发展可编程片上系统设计-可编程片上系统技术的发展 在SOPC阶段,设计已经从以硬件描述语言HDL为中心 的硬件设计,转换到了以C语言进行功能描述为中心。所 以就形成了以C语言描述SOPC的功能,而用HDL语言描 述硬件的具体实现方法。这也是和传统的FPGA设计和嵌 入式系统设计最大的区别,即软件和硬件的真正的协同设 计。
可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 作为新的嵌入式系统的设计平台,使用SOPC进行嵌 入式系统设计具有以下几个方面的优点: 1、定制 基于FPGA的嵌入式系统的设计人员可以很灵活地选 择所要连接的外设和控制器。因此,设计人员可以设计出 一个独一无二的外设,这个外设可以直接和总线连接。对 于一些非标准的外设,设计人员很容易的使用FPGA嵌入 式平台实现。比如,设计人员很容易的在FPGA平台上设 计出具有10个UART接口的嵌入式系统。因此,在FPGA 系统中,向这样类似的配置是很容易实现的。
可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 2、延缓过时 一些公司,特别是为军方提供产品的那些公司,它们 产品的供货周期常常比标准电子产品的周期要长。电子元 器件的过时(停产)是一个非常严重的问题,会导致这些 公司无法继续提供其产品。由于软核处理器的HDL源代码 可以通过购买得到,因此基于FPGA的软核处理器是一个 非常好的解决方案,它可以充分的满足产品长期供货的要 求。
可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 3、降低元件成本 由于基于FPGA平台的嵌入式系统的功能多样性,以前 需要用很多元件才能实现的系统,现在可以使用一个 FPGA芯片实现。比如,辅助I/O芯片或协处理器与现有的 处理器之间的连接。减少在设计中所使用的元件的数量, 不但可以降低元件的成本,而且可以大大缩小电路板的尺 寸。
可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 4、硬件加速 选择基于FPGA的SOPC的一个重要的原因就是,SOPC 能在硬件和软件之间进行权衡,使嵌入式系统达到最大的 效率和性能。比如,当算法是嵌入式系统软件性能的瓶颈 时,一个使用FPGA定制的协处理器引擎能用来实现算 法,这个协处理器通过专用的,低延迟的通道与嵌入式处 理器连接。使用现代的硬件设计工具,很容易的将软件瓶 颈转向硬件处理。
可编程片上系统设计-可编程片上系统技术特点可编程片上系统设计-可编程片上系统技术特点 SOPC的出现给嵌入式系统设计带来了非常多的优点, 但是由于采用基于FPGA的嵌入式平台,这个平台集成了 软件和硬件的平台设计工具,因此设计比较复杂。 FPGA的嵌入式的软件设计工具比标准的传统的嵌入式 系统的软件设计要新,软件设计工具相对来说还不成熟。 但是随着SOPC技术的进一步发展,这个问题将会解决。 芯片的成本也是一个问题,采用专用的嵌入式平台比 采用基于FPGA的嵌入式平台成本要低,但是随着制造工 艺的不断更新和SOPC芯片的成本的降低,相信在不久的 将来,SOPC成本甚至还会低于采用专用的嵌入式平台。
可编程片上系统设计-可编程片上系统设计与优化技术可编程片上系统设计-可编程片上系统设计与优化技术 SOPC设计技术不同于传统的嵌入式系统设计流程和设 计方法,其设计是软件和硬件的协同设计,同时又是基于 软件为中心的设计技术。下面首先介绍Xilinx的SOPC设计 流程,然后介绍以软件为中心的SOPC设计技术。
可编程片上系统设计与优化技术-可编程片上系统设计技术可编程片上系统设计与优化技术-可编程片上系统设计技术 正如前面所说,基于SOPC的嵌入式系统的设计需要 软件和硬件的协同设计。下面给出Xilinx公司使用嵌入式 开发套件(Embedded Design Kit, EDK)进行嵌入式系统设 计的流程。 Xilinx公司的EDK工具包用于开发基于FPGA平台的嵌 入式系统,从图可以看出该工具支持传统的硬件和嵌入式 软件的设计流程。
-可编程片上系统设计技术--可编程片上系统设计流程-可编程片上系统设计技术--可编程片上系统设计流程
-可编程片上系统设计技术--可编程片上系统设计流程-可编程片上系统设计技术--可编程片上系统设计流程 EDK支持硬核PowerPC和软核Microblaze处理器(未 来增加对ARM处理器的支持)。并将设计的导入、创建 和IP核定制进行了流水化的处理。由于EDK知道平台 FPGA的硅片属性和选项,能自动的为其外设生成软件驱 动、测试代码和创建板级支持包BSP(Board Support Package)。这些BSP是常用的实时操作系统RTOS(Real- Time Operating System),比如VxWorks和嵌入式Linux提 供的设备驱动。
-可编程片上系统设计技术--可编程片上系统设计流程-可编程片上系统设计技术--可编程片上系统设计流程 EDK的设计流程就是一个软件和硬件协同处理和设计 的过程。软件流程完成C语言代码的编写、编译和链接的 过程。硬件流程完成HDL设计输入、综合、仿真和实现的 过程。XPS提供了一个Data2MEM工具,该工具能将C语 言生成的ELF(Executable and Linkable Format)文件代码 插入到生成后的FPGA的比特流文件中,将其生成能够下 载到FPGA中,并能启动的映像文件。通过这个过程设计 人员能够使软件开发和调试进行实时处理,而不需要额外 的时间开销。
-可编程片上系统设计技术--可编程片上系统设计流程-可编程片上系统设计技术--可编程片上系统设计流程 Xilinx的JTAG连接技术,完成FPGA的下载、FPGA的 调试、C代码的下载和软件的调试。 XPS集成了软件和硬件调试工具,使它们之间可以相 互触发,这使得嵌入式系统内部变成“可见”,使嵌入式 设计者能很快地找到和发现问题,而无需知道这个问题 是软件还是硬件产生的。
-可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 SOPC设计中,一个好的开发工具提供对目标平台合 理的抽象,而这个抽象对设计人员来说是比较容易理解 的。 硬件抽象使得软件开发人员不需要从应用程序的开发 转向真实的硬件实现,事实上对于软件人员来说这也是不 可能的事情。但是软件开发人员在设计程序的时候开始将 并发性和基于消息驱动的硬件概念融入到程序设计中。
-可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 这个抽象允许软件设计人员创建、测试和调试应用 程序,同时促进开发人员使用程序设计方法使得目标系 统达到最大的性能。同时,好的开发工具还提供了将原 始的高级描述转换成优化过的低级的目标系统可加载和 执行的代码。
-可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 为了达到这两个要求,为自动的基于FPGA平台的硬件 生成工具主要目的是自动编译和优化问题,提出编程的 抽象模型、编程的方法。这些工具目的就是建立面向软 件的设计经验。
-可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 面向软件的编程、仿真和调试工具提供了对FPGA平台 的合理的抽象,允许系统设计人员在原型设计阶段,开始 应用的开发、实验,而不需要专门的硬件知识,这一点对 于原型设计阶段是非常重要的。如图1.2所示,通过使用 软件到硬件的设计方法和工具,传统的软件和硬件设计流 程能极大的得到改善。但是并不是说不需要硬件的技巧。 事实上,一个完整的和优化过的系统中只使用软件知识是 不可能实现的。通过软件和硬件设计技巧和使用现代设计 工具就能很快地建立工作原型。
-可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法
-可编程片上系统设计技术--基于软件的设计方法-可编程片上系统设计技术--基于软件的设计方法 面向软件的设计流程一个非常重要的特点就是在最合 理的平台资源中使用软件来描述设计规范。如果最合适的 平台资源是微处理器,那么事情就比较简单,只需要针对 这个处理器进行交叉编译(交叉编译就是在一个平台上生 成另一个平台上的可执行代码),但是如果是FPGA的 话,传统的设计流程要求用HDL语言重新书写RTL级的描 述,那是一件既耗时,又容易出现设计错误的事情。但是 使用面向软件的设计流程,只需要对最初的设计语言进行 简单的一些修改,而不需要关心目标系统的资源。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 基于SOPC的嵌入式系统设计中,一个非常重要的问 题是优化问题。 虽然表1.1给出的SOPC的性能指标很高,但是设计者 往往发现很难达到表中的指标。这是由于设计人员没有很 好的使用基于FPGA嵌入式处理器的性能扩展技术。 FPGA的生产厂商会采用一切方法和手段使芯片的性能 达到预期的性能和指标,而对于熟悉标准微处理器性能优 化技术的设计人员来说必须熟悉针对FPGA嵌入式处理器 的优化技术,这样才能使他们设计出来的FPGA嵌入式系 统的性能指标达到FPGA厂商的设计指标。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 FPGA嵌入式处理器设计比较复杂,复杂程度甚至使那 些有经验的设计人员在某些情况下都无能为力,因此为了 获得FPGA平台的优势必须进行权衡。下面给出一些在设 计FPGA的SOPC嵌入式系统时,会使用到的一些优化技 术。 这些优化技术并不是SOPC设计中特有的技术,而这些 技术在传统的嵌入式系统的设计中已经使用了这些技术。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 1. 代码控制 一些可以使用的优化技术影响应用程序代码。一些技 术影响代码如何编写,而一些技术影响编译器如何处理代 码。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 1、优化级别 在Xilinx的XPS中的GCC编译器中可以选择编译的优化 级别。编译器的优化级别有0、1、2、3和代码长度优化 共五级优化。下面给出这四种优化级别的说明。 0级优化:不进行任何优化操作。 1级优化:执行跳转(JUMP)和出栈(POP)优化。 2级优化:这一级优化执行几乎所有的优化操作,但是 不包括速度和空间的权衡,所以可执行代码的长度不会增 加。编译器不执行循环的解开操作,函数嵌入和严格的别 名优化操作。这是对程序配置的标准优化操作。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 3级优化:最高级优化。这级优化增加了更多的可选 项,其中包括增加代码尺寸。在一些情况下,3级优化后 的代码效率比第2级优化后的代码效率要低,所以要谨慎 使用第3级优化。 长度:长度优化。优化目标是产生较小的代码长度。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 2、使用FPGA厂商的优化指令 Xilinx提供了一些为Xilinx的嵌入式处理器定制的指 令。比如:xil_printf。这个函数功能和printf基本是一样 的,但是存在下面的一些不同之处:不支持实数类型,不 支持64位。由于这些改动使xil_printf函数只有2953个字 节,比printf的函数的代码长度(51788字节)要小得多。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 3、汇编 在GCC编译器中支持嵌入的汇编。对于任何处理器来 说,在一些对时间要求比较苛刻的应用场合,汇编语言是 非常有用的。在一些编译器中,如果在文件中使用了汇编 语言,编译器是不会优化剩余的C代码的。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 4、混杂 当优化FPGA嵌入式处理器时,一些与代码相关的优 化也被考虑在其中,主要包括:参考位置、代码分析、 变量的定义、小数据区的使用策略、明智的使用函数调 用减少入栈和出栈帧、循环长度等。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 2. 存储器的使用 处理器提供访问快速的本地存储器的能力,以及与 慢速的二级存储器的接口。FPGA的嵌入式处理器也提 供了这样的功能。 使用存储器的方法对系统性能会产生重要的影响。其 它处理器那样,在FPGA内的嵌入式处理器对存储器的 使用可以通过一个链接脚本进行操作。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 1、只用本地存储器 最快的存储器的选择是将所有的代码放在本地存储器 中。Xilinx的本地存储器由大容量的块RAM(BRAM)组 成。嵌入式处理器以单总线周期访问BRAM。由于在 MicroBlaze构成的嵌入式系统中,处理器和存储器运行在 相同的时钟频率,存放在BRAM中的指令能够以处理器的 频率执行。 在MicroBlaze系统中,BRAM本质上的性能和L1高速缓 存的性能一样。在PowerPC的嵌入时系统中,处理器运行 频率比总线要高,并且存在L1高速缓存,因此BRAM的性 能与L2高速缓存的性能一致。在Xilinx的FPGA中,BRAM 的性能是不一样的。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 2、只用外部存储器 如果将所有程序放在外部存储器中,将使系统的性能降 到最低。Xilinx提供了与外部不同存储器的接口。这些存 储器接口与处理器的外设总线连接。Xilinx的存储器控制 器支持三种易失性存储器SRAM、SDRAM和DDR SDRAM。在FPGA内的SRAM控制器结构是最简单和最小 的,但SRAM是三种存储器中最贵的。FPGA内的DDR控 制器结构是最复杂和最大的,但是所需要的FPGA引脚是 非常少的,每兆字节的DDR存储器成本是最低的。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 此外,对外部存储器的访问存在时间延迟。在 MicroBlaze中,存储器控制器与OPB(On-chip Peripheral) 总线相连。比如,OPB总线的SDRAM控制器需要4-6个时 钟的写操作延迟,8-10个时钟周期的读操作延迟。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 3、高速缓存 在建有PowerPC处理器的FPGA硅片上建立了的指令和 数据高速缓存。使其对处理器总保持性能优势。而在 MicroBlaze处理器没有专门在硅片上建立指令和数据高速 缓存。对于MicroBlaze处理器来说,高速缓存是可配置的 选项。当需要高速缓存时,使用BRAM建立高速缓存。与 本地存储器相比,由于高速缓存需要在BRAM中保存地址 映射机构,因此高速缓存会使用更多的BRAM资源。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 此外,使能高速缓存还会消耗通用逻辑资源用来建立高 速缓存控制器。比如在Spartan-3中建立8KB的数据高速缓 存和32M的外部存储器被缓存,将需要12位的地址标记, 使用124个逻辑单元和6个BRAM资源。而建立8KB的本地 存储器只需要4个BRAM资源。多出的2个BRAM用于保存 地址标记。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 此外,当使能高速缓存后,系统地最高频率也会降低。 比如,一个没有高速缓存的系统工作频率可以达到 75MHz,如果使用高速缓存,工作频率只有60MHz。使能 高速缓存控制其将增加逻辑和设计复杂度,在布局和布线 时,将降低系统频率。所以在软核处理器中使用高速缓存 会降低整个系统的性能。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 经过谨慎的考虑,在低系统工作频率下使能指令高速 缓存将其高系统性能。比如,60MHz的系统使用指令高速 缓存比75MHz不使用高速缓存的系统,带来150%的性能 提高。当数据和指令高速缓存全部使用时,将带来308% 的性能提高。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 4、分配代码到内部存储器、外部存储器和高速缓存中 正如前面所提到的只有把所有代码放到本地存储器中, 才能提供最好的性能。由于程序经常会超出本地存储器可 使用的容量,所以实际上是不可能将所有代码存放在本地 存储器中的。而另一方面,从外部存储器运行程序会有很 大的时间延迟。在PowerPC系统中,使用高速缓存是一个 非常好的选择。在MicroBlaze对外部存储器使用高速缓存 会改善结果,但是采用其它方法可以提供更优化的结果。
-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术-可编程片上系统设计与优化技术--通用的可编程片上系统优化技术 在MicroBlaze系统中,最好的方法是合理的分配程序 代码,使系统的频率和本地存储器容量达到最大。关键 指令、数据和堆栈放在本地存储器中。不要使用数据高 速缓存。如果本地存储器不能保存所有的指令,那么就 要考虑使用指令高速缓存用于在外部存储器中保存指 令。
专用的可编程片上系统优化技术--提高FPGA工作频率专用的可编程片上系统优化技术--提高FPGA工作频率 1、逻辑优化 如果设计中没有在外部存储器中保存和运行指令,那么 就不要连接指令一侧的外设总线。将处理器的指令和数据 一侧连接到一个总线上会产生一个多主系统,在这样的系 统中要求仲裁器。在总线上只存在一个主设备将优化系统 性能。
专用的可编程片上系统优化技术--提高FPGA工作频率专用的可编程片上系统优化技术--提高FPGA工作频率 使用FPGA内的资源调试逻辑会产生硬件瓶颈。当设计 已经全部调试后,要从系统中去除这些调试逻辑,这样可 以提高系统的性能。比如,去除FSL加速通道上的MDM (MicroBlaze Debug Module)模块将节省950个逻辑单元。 在MicroBlaze中使能高速缓存,调试逻辑作为关键路径将 降低系统地工作频率。
专用的可编程片上系统优化技术--提高FPGA工作频率专用的可编程片上系统优化技术--提高FPGA工作频率 用于连接外部SRAM和Flash存储器的OPB外部存储器控 制器,产生32位地址线(即使这些地址不会完全使用)。 Xilinx提供了总线裁减外设的功能,用于删除不需要的地 址位。这样就会减少布线和引脚。 Xilinx提供了一些GPIO外设。GPIO提供了双通道、双 向功能和中断能力。这些功能需要更多的资源,会影响时 序。如果设计中只使用简单的GPIO,那么就使用GPIO最 基本的版本,或者关闭那些没有使用的功能。
--专用的可编程片上系统优化技术---面积和时序约束--专用的可编程片上系统优化技术---面积和时序约束 当设计者给出布局和布线导向时,Xilinx的布局和布线 工具将能更好的工作。在Xilinx工具中,设计人员指定期 望的工作频率、引脚位置和逻辑元素的位置。通过提供这 些详细的信息,设计工具将能自动的、更好的在硬件设计 实现上进行权衡。 一些外设可能需要其它约束,用来保证其操作的正确 性。比如,DDR SDRAM控制器和10/100以太网控制器。 设计人员在使用时,必须认真地阅读相关外设的数据手 册,并遵循推荐的设计规则。