收藏 分享(赏)

MicroBlaze简介---很好很全面.doc

上传人:HR专家 文档编号:5296116 上传时间:2019-02-19 格式:DOC 页数:112 大小:4.58MB
下载 相关 举报
MicroBlaze简介---很好很全面.doc_第1页
第1页 / 共112页
MicroBlaze简介---很好很全面.doc_第2页
第2页 / 共112页
MicroBlaze简介---很好很全面.doc_第3页
第3页 / 共112页
MicroBlaze简介---很好很全面.doc_第4页
第4页 / 共112页
MicroBlaze简介---很好很全面.doc_第5页
第5页 / 共112页
点击查看更多>>
资源描述

1、第 1 章 基于 XILINX FPGA 嵌入式系统片上系统开发概述XILINX 是全球领先的可编程逻辑完整解决方案的供应商。Xilinx 公司成立于 1984 年。并首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于 1985 年首次推出商业化产品。随着 FPGA 技术的发展,FPGA 的逻辑容量越来越大,成本越来越低。在这种趋势下,FPGA 可以代替系统中越来越多的器件,最后发展到 FPGA 片上系统。第 1 节 XILINX 简介XILINX 是全球领先的可编程逻辑完整解决方案的供应商。Xilinx 公司成立于 1984 年。并首创了现场可编程逻辑阵列(FPGA)这一创新性的技术

2、,并于 1985 年首次推出商业化产品。目前 Xilinx 满足了全世界对 FPGA 产品一半以上的需求。 Xilinx 可编程逻辑解决方案缩短了电子设备制造商开发产品的周期并加快了产品面市的速度,从而减小了制造商的风险。Xilinx 产品已经被广泛应用于从无线电话基站到 DVD 播放机的数字多媒体电子应用技术中。传统的半导体公司只有几百个客户,而 Xilinx 在全世界有 7,500 多家客户及 50,000 多个设计开端。其客户包括 Alcatel,Cisco Systems,EMC ,Ericsson ,Fujitsu,Hewlett-Packard,IBM,Lucent Technol

3、ogies,Motorola,NEC,Nokia ,Nortel,Samsung,Siemens,Sony,Sun Microsystems 以及 Toshiba。 Xilinx 的主流 FPGA 分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求的 Spartan 系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用 Virtex 系列,用户可以根据自己实际应用要求进行选择。 在性能可以满足的情况下,优先选择低成本器件。目前高端的 Virtex 系列已经从开始的 Virtex 发展到最近的 Virtex5。如下图 1.1.1 所示。 第 2 节 基于 XILI

4、NX FPGA 片上嵌入式系统简介随着 FPGA 技术的发展,FPGA 的逻辑容量越来越大,成本越来越低。在这种趋势下,FPGA 可以代替系统中越来越多的器件,最后发展到 FPGA 片上系统。图 1.2.1 系统设计的综合 为了迎合这种趋势,从 Virtex-II Pro 开始, XILINX 在其高端的部分器件中增加了多个硬核 PowerPC 内核,以推动这种趋势。 第 3 节 XILINX FPGA 片内资源简介FPGA 是英文 FieldProgrammable Gate Array 的缩写,即现场可编程门阵。FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array)这样一

5、个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块 IOB(Input Output Block)和内部连线(Interconnect)三个部分。随着 FPGA 的发展,为了满足对信号处理和片上储存的需要,FPGA 又增加了块 RAM,时钟管理单元和硬件乘法器。之后又在部分的系列里增加了 PPC和高速串行 IO。最新的 Virtex5 的片内结构资源如图 1.3.1 所示。图 1.3.1 Virtex5 的片内资源 对于 FPGA 的开发,XILINX 公司已经提供了集成开发环境 ISE, 支持 VHDL 和 VERILOG及电原理图。 所以

6、对于初学 FPGA 的用户而言, 并不需要细致的了解 FPGA 片内资源的所有细节。客户只需要用高级语言描述好自己的逻辑,工具即可以自动调用相应的逻辑资源并按要求进行互连。下面就基于,Virtex5 分别介绍一下 FPGA 片内最常用的资源:CLB和 BRAM。1.3.1CLB 在 Virtex5 中一个 CLB 由个 SLICE 组成 如图 7 所示。SLICE 是由个查找表和个触发器组成如图 1.3.2 所示。查找表(Look-Up-Table)简称为 LUT,LUT 本质上就是一个 RAM。它把数据事先写入 RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输

7、出。对于任意逻辑,只要将其真值表写入查找表。就能实现其逻辑功能。Virtex5 的查找表是输入的。所以对于任意的输入输出逻辑。只要一个查找表就可以实现了。这个是FPGA 开发和 ASIC 开发一个重要区别。在 FPGA 的代码中增加逻辑的复杂度并不会增加资源和降低速度,而主要取决于逻辑的输入和输出个数。 图 1.3.2图 1.3.3在 Virtex5 部分 SLICE 中的查找表不仅可以作为逻辑,还可以用作分布式和位移位寄存器。我们把这样的 SLICE 叫做 SLICEM. 把仅可以做逻辑的 SLICE 叫做 SLICEL. 在查找表和触发器的中间位置是选的选择器和快速进位链。主要用于宽输入的

8、逻辑和加法中构成进位链。1.3.2BRAM 在 Virtex5,块 RAM 的大小是 36kbit. 每个块 RAM 都是双端口的。两个端口是可以同时对BRAM 里面的数据进行读写,而且两个端口可以工作在不同的时钟频率下。当两个端口同时读写同一地址时,可能会发生冲突。但是不会损坏器件。在本节避免冲突中会具体说明这种情况。此外在 Virtex5 中,BRAM 还可以用做 FIFO。 Virtex4/Spartan3 中每块 RAM 也是双口的,不过和 Virtex5 相比大小是其一半为18Kbits。Virtex5 每个块 RAM 可以在绝大多数情况下等价于 Virtex4/Spartan3 中

9、的两块BRAM。 写入模式 BRAM 有三种不同的写入模式,写入模式决定了在一个新数据写入后在输出端口上数据的情况。 这三种模式分别是 WRITE_FIRST, READ_FIRST, and NO_CHANGE. 默认的模式是WRITE_FIRST。 双口 BRAM 的两个口可以独立的设置写入模式。 WRITE_FIRST 输出口上出现新的数据当新数据写入;READ_FIRST 输出口上维持旧的数据当新数据写入时;NO_CHANGE 输出口上一直维持读操作时候读取得数据。 图 1.3.4 WRITE_FIRST 时序示意图图 1.3.5 READ_FIRST 时序示意图图 1.3.6 NO_

10、CHANGE 时序示意图. 避免冲突 Virtex-5 的块 RAM 是一个双口 RAM, 两个口都可以在任意时间访问任何的地址。 当两个端口同时读一处空间是允许的,对于同时读写一处地址空间是有限制的。 下面就分两种情况来讨论:两个端口是用同步的时钟;两个端口使用的是异步时钟。 对于异步的时钟, 当一个口在写入一个地址空间的瞬间,另一个是不可以读取或写人同一空间的,否则会导致读出错误的数据或写入的数据错误。 对于同步时钟,当一个口在写入一个地址空间的瞬间,另一个是不可以写人同一空间的,否则会导致读出错误的数据或写入的数据错误。如果这个端口是配置成 READ_FIRST 或WRITE_FIRST

11、 模式,可以同时读出有效的数据;配置成 NO_CHANGE 模式会得到无效的数据。 硬件 FIFO 支持 许多 FPGA 设计需要使用 FIFO. 在 VIRTEX5 中的 BRAM 可用用做 FIFO。VIRTEX5 的BRAM 中内建了 FIFO 的逻辑,所以当用 VIRTEX5 的 BRAM 做 FIFO 的时候不需要使用额外的 CLB 资源。VIRTEX5 中的 BRAM 可以用作同步的 FIFO,也可以用作异步的 FIFO。 同时 VIRTEX5 的 BRAM 还可以配置成标准的 FIFO 或 FWFT(first-word fall-through)的FIFO图 1.2.2 PPC

12、 内核嵌入式系统设计 同时,XILINX 还推出了自己的 32 位软核 MicroBlaze,用来替代片上的微控制器,帮助客户缩小 PCB 板的面积和器件数量,并降低整个系统的成本。 在最初 MicroBlaze 是基于OPB(On-chip Peripheral Bus)总线, 在 MicroBlaze 发展到 7.0 的时候(对应的 EDK 版本为9.2),MicroBlaze 也采用了和 PPC 一样的 PLB 总线。同时 XILINX 还在 EDK 总整合了MPMC(多端口内存控制)。客户的数据可以直接从外设写入内存,也可以直接从内存读出,大大提高的系统的效率。 这样大量的数据搬运可以

13、不通过 PLB 总线而直接完成。PLB的带宽可以完全由 MICROBALZE 使用。MPMC 的构架和使用会在第三章中详细讲述。考虑到带有 PPC 的处理器的芯片和开发板价格较高,所以本书将以 MicroBlaze 7.0 和EDK9.2 为基础来讲述怎样开发用户 IP。 由于 MicroBlaze 和 PPC 在目前使用同样的总线。所以并不需要改动或加入总线桥。 图 1.2.3 基于 OPB 的 MicroBlaze图 1.2.4 基于 PLB 和 MPMC 的 MicroBlaze第 2 章 MicroBlaze 构架及接口MicroBlaze 是一个高度灵活可以配置的软核。你可以根据你设

14、计的需要,对 MicroBlaze 进行裁减,用最少的资源完成设计的需要。MicroBlaze 的基本特性:32 个 32 位的通用寄存器、32 位指令, 3 个操作数和两种地址模式、32 位地址、单流水线。第 1 节 MicroBlaze 处理器2.1.1MicroBlaze 性能介绍 MicroBlaze 是一个高度灵活可以配置的软核。你可以根据你设计的需要,对 MicroBlaze 进行裁减,用最少的资源完成设计的需要。 MicroBlaze 的基本特性: 32 个 32 位的通用寄存器 32 位指令, 3 个操作数和两种地址模式 32 位地址 单流水线 除了这些固定的特性以外,Micr

15、oBlaze 还提供一系列的可选的特性以适应客户不同的设计需要。这些特性在不同版本的 MicroBlaze 中是不同的。 目前最新版本的 MicroBlaze (v7.00) 可以支持所有这些可选的特性。下表就列出了 MicroBlaze 各版本的特性。 表 2.1.1 不同版本 MicroBlaze 的性能第 2 节 MicroBlaze 的结构、机制和特性2.2.1MicroBlaze 系统及内部结构 MicroBlaze 采用 32 位哈佛 RISC 架构,32 位独立的地址总线和数据总线。在采用缓存模式下,独立的指令和数据可以缓存并通过 XCL(Xilinx CacheLink)接口连

16、接到内存。在不采用缓存的机制下,地址和数据总线直接通过 PLB46 访问内存。 MicroBlaze 没有区分数据接口为 I/O 和存储,所以处理器存储的接口是 PLB 和 LMB,且 LMB 存储地址空间不和 PLB重合。MicroBlaze 还提供最大 256K 的片上本地内存接口和片上 BRAM 连接,对于简单的设计,可以将代码直接放入片上 BRAM;也可以将复杂设计的 BOOTLOADER 放在片上的BRAM 中。用户 IP 可以通过 PLB46 总线或快速点对点连接(FSL)接入系统。一般而言:PLB64 比较适合基于总线形式的用户 IP 开发;FSL 比较适合基于简单点对点输入输出

17、或协处理器的用户 IP 开发。图 2.2.1 是一个 MicroBlaze 片上系统的结构图。 图 2.2.1 MicroBlaze 系统架构图图 2.2.2 MicroBlaze 的内部结构图2.2.2MicroBlaze 的数据储存结构和指令 MicroBlaze 支持 8 位(字节) 、16 位(半字) 和 32 位(字)的数据形式 并采用大字序方式. 其具体的形式如下表所示: 字节的储存类型半字的储存类型字的储存类型MicroBlaze 的所有指令都是 32 位的,且有两种定义模式。A 型指令有至多 2 个寄存器源操作数和 1 个寄存器目的操作数;而 B 型指令有 1 个寄存器源操作数

18、, 1 个 16 位立即数以及 1 个寄存器目的操作数。该立即数可以通过使用 IMM 指令将之扩展为 32 位。所有指令被分成下列 5 种指令类型:算术指令,逻辑指令,程序流控制指令,读取/存储指令和特殊指令类型。表 2.1 和表 2.2 各自列出了 MicroBlaze 指令集的语法定义和参考实例。表 2.2.1 MicroBlaze 指令集的语法定义表 2.2.2 MicroBlaze 指令集的参考实例2.2.3 MicroBlaze 的流水线结构MicroBlaze 的指令采用流水线的结构执行。在大多数的情况下,一条指令在一个时钟周期内完成。 一些指令需要不止一个时钟周期才能完成(比如除

19、法指令),那么流水线就会停住并等待这个指令的完成。 当指令储存在片外的慢速度的内存时, 取指令的操作可能要占用很多个时钟周期。 为了提高性能, MicroBlaze 内含一个取指令的缓存来减小指令存储器读取速度对处理器的影响。当 MicroBlaze 在执行一个多周期的指令时, 预取指的缓存区就会持续地按顺序取指令。 当流水线继续执行的时候,MicroBlaze 就从内部的指令缓存直接得到指令而不是从片外的存储器得到指令。 注意这个指令缓存处于 MicroBlaze 内部并一直有效。其不等同于可以MicroBlaze 可以配置的指令和数据 Cache。 MicroBlaze 可以配置成 2 种

20、流水线深度,3 级流水线和 5 级流水线。 三级流水线: 当面积优化使能后,MicroBlaze 配置成 3 级流水线,三级分别是取指、译码和执行: 图 2.2.3 三级流水线五级流水线: 当不使用面积优化使能,MicroBlaze 配置成 5 级流水线以取得最大的性能,五级分别是取指、译码、执行、读取和写回。图 2.2.4 五级流水线 跳转: 通常当跳转发生的时候,流水线的取指令和译码都在是流水运行的。跳转指令使得流水线必须重新启动并在新的地址取指令。MicroBlaze 需要 3 个时钟周期去完成跳转。其中 2 个周期是用于重新使流水正常工作。 MicroBlaze 的中断机制 Micro

21、Blaze 支持重置、硬件异常、中断、用户异常、暂停等机制。它们的优先级排序如下(标号越小,优先级越高): 重置 硬件异常 不可掩饰暂停 暂停 中断 用户异常 表 2.2.3 MicroBlaze 中断机制的返回地址寄存器和实例 MicroBlaze 支持一个外接中断源(与中断入口相连)。处理器只有在状态寄存器中的中断允许(IE)被置 1 时才能对中断反应。在中断时,在执行阶段的指令完成而在编译阶段的指令被指向中断向量的地址(地址 0x10)的分支代替。中断返回地址(在中断的时候与在编译阶段的指令联合的 PCProgram Counter)自动载入到通用寄存器 R14。而且,处理器也通过清理

22、MSR 中的 IE 位禁止其它中断。当执行 RTID 指令时,IE 位又自动置 1。 如果在 MSR 中的进程中断(BIP)位或进程例外(EIP)位任一被置 1,中断将被处理器忽略掉。从一个中断产生到进入中断服务程序(ISR)的 MicroBlaze 所花费的时间取决于处理器的配置和存储中断向量的内存控制器的反应时间。如果 MicroBlaze 配置有一个硬件除法器,当在执行除法指令时产生中断,反应时间就会很大。 用户例外向量在地址 0x8 上。用户例外是通过在软件数据流插入“BRALID Rx,0x8”指令产生的。虽然 Rx 可以是任意通用寄存器,Xilinx 推荐使用 R15 来存储用户例

23、外返回地址,并且使用 RTSD 指令从用户例外处理器返回。 2.2.5MicroBlaze 的缓存机制和 MMU (Memory Management Unit) MicroBlaze 使用了可配置的数据和指令 Cache,用来执行 LMB 地址空间外的代码和数据。图 2.2.5 和图 2.2.6 显示了数据 Cache 和指令 Cache 的结构图。 Cache 具有如下特征: 直接映射(1 路联合) 使用可选择的 Cache 存储地址空间 可配置 Cache 和 Tag 的大小 通过 XCL 接口 Cache 可选择 4 或者 8 字 Cache-line MSR 中的一位控制 Cache

24、 的使用和关闭 可选择用 WIC/WDC 指令使 Cache-line 中的指令无效 直接写入(只是数据 Cache 的特点) 图 2.2.5 数据 Cache 结构图图 2.2.6 指令 Cache 结构图 在 MicroBlaze 中,当 C_USE_MMU 被置 3 时,内存管理单元(MMU)将可以执行虚拟模式。MMU 控制有效地址转化为物理地址布局,同时也支持内存保护。因此,系统软件可以执行所需要页面尺寸的虚拟内存和其它内存管理配置。 MMU 的特征总结如下: 将有效地址译成物理地址 在地址编译时控制页面等级的存取 在区域使用中提供附加的虚拟模式保护控制 为指令地址和数据地址编译和保护

25、提供独立的控制 支持 8 种页面尺寸: 1 kB, 4 kB, 16 kB, 64 kB, 256 kB, 1 MB, 4 MB,和 16 MB 。所有页面尺寸之和都能被系统软件使用。软件控制页面替换策略。 2.2.6 MicroBlaze 的高级特性介绍 桶形移位寄存器: 只需一条指令就能够对操作数进行任意位的逻辑左移或逻辑右移。 硬件乘法器: 利用片内的乘法器,可以单周期的完成乘法指令。(面积优化为 3 个周期) 硬件除法器: 可以在 32 个周期内完成除法指令。(面积优化为 34 个周期) FPU: MicroBlaze 可选的浮点单元是支持 IEEE 754 standard 中单精度

26、的部分,提供:浮点加法,浮点减法,浮点乘法,浮点除法,浮点比较,浮点转换和浮点平方根指令。对溢出和非法操作有专门的标志,采用了硬件异常机制。对于溢出,除数为 0,非正常操作数和非法操作进行异常处理。 第 3 节 MicroBlaze 的总线接口MicroBlaze 可以采用以下的接口和外设或内存进行数据交互 PLB64: PLB 是 IBM CoreConnect 架构的一部分,是处理器连接到高性能外围设备的高性能同步总线。 Xilinx 的 PLB 设备遵循下列 PLB 使用原则: o PLB 数据总线是 64 位宽,地址总线是 32 位宽。注意有些外设可以用参数表示宽度,但是现在只支持 6

27、4 位数据总线。比 64 位小的外设能以在在寻址方面相对应的减少连在 PLB。例如,基础地址为 A 的 32 位外设能被连在字节巷的 0-4 位,但是字宽的访问只能在 A,A+8,A+16 等地址。 o PLB 主线无需支持动态总线尺寸。PLB 主线无需复制数据到不常用的字节。PLB 主线需要正确地驱动 _MSize0:1。PLB 从设备线需要为提供了对话周期(例如 PowerPC 405)的 PLB 主线正确地驱动_SSize0:1。o 所有的 PLB 从设备线必须在不激活时输出逻辑 0。 o byte-enables 和 least-significant 地址位被所有的主设备线驱动并包含

28、常数。 LMB LMB 是个起初用来存取片上 RAM 块的同步总线。它使用最少的控制信号和一个来保证 RAM 块在一个时钟周期被存取的简单协议。所有的 LMB 信号都是高电平有效。 XCL Xilinx CacheLink(XCL)是一个高性能的外部内存访问的方案。 MicroBlaze 的缓存接口(CacheLink)设计为一个直接通过内嵌的 FSL 接口连接到内存控制器 . 在配合多端口外部内存控制器(MPMC)的情况下。这是一个最小延时的方案。 XCL 接口只有在 MicroBlaze 的缓存使能的情况下才可以使用。指令缓存和数据焕存可以分别的使能。在缓存范围外或通过软件禁止使用缓存(例

29、如, MSRDCE=0 或MSRICE=0)的内存区间将通过 PLB 或 LMB 进行访问。 CacheLink 的缓存控制是使用 4 或 8 字的缓存行、目标字先取 (cache lines with critical word first)。 CacheLink 和 PLB 总线是在不同的通路上的.所以可以节省 PLB总线的带宽。 图 2.3.1 采用 XCL 的系统框图图 2.3.2 XCL 内部结构图 FSL: MicroBlaze 7.0 最多支持 16 个 FSl 的接口。 每个 FSL 接口有一个输入口和一个输出口。FSL 接口主要用于点对点单向的数据流的传输。FSL 的特点是效

30、率高而且占用的资源比较少 。FSL 的接口细节会在第 6 章里详细描述并给出一个设计实例。 调试接口: MicroBlaze 特色的引入调试接口来支持基于 JTAG 的软件调试工具(通常称做 BDM或称后台调试模式调试器),像 Xilinx Microprocessor Debug (XMD)工具。调试接口设计成与 Xilinx Microprocessor Debug Module (MDM)核相连,而 MDM 与 Xilinx FPGA 的 JTAG 端口相连。多个 MicroBlaze 的场景也能通过允许多处理器调试的方法与单个 MDM 相连。调试的特点包含: o 硬件断点,观察点数量可

31、设置,软件断点无限制。 o 外部处理器控制允许调试工具停止,重置,和单步运行 MicroBlaze。 o 可以对内存,通用寄存器,特殊目的寄存器(除 EAR,EDR,ESR ,BTR 和 PVR0 PVR11 只能读取)读取和写入。 o 支持多处理器。 o 写入指令和数据高速缓存。 第 3 章 MPMC 构架,接口及使用MPMC 最多有 8 个端口,这些端口是相互独立的。也就是说,随时可以通过任意一个端口来访问内存。如果有两个端口同时访问内存,MPMC 的仲裁器会按一定的规则来仲裁并决定其先后。而且 MPMC 的每个端口均带有缓存,所以在往一个口写入数据的时候,数据是先写入缓存,等到这个端口取

32、得内存写入权后再从缓存写入内存。第 1 节 介绍3.1.1 软件直接内存存储支持(SDMA): 双沿数据传输模式(DDR)和 DDR2 内存支持 单沿数据传输模式(SDR) 的 SDRAM 内存支持 DIMM 支持(寄存,无缓冲) 纠错码(ECC)支持 端口数量参数化(1 到 8) 到内存数据位数参数化(8, 16, 32, 64) 数据分支 FIFO 配置参数化 性能监控(PM)支持 基于 PHY 的对内存接口产生器(MIG) 有可选性的静态 PHY 接口 用户配置的中断仲裁机制 接口用户化: o NPI 接口 o Xilinx 高速缓存连接(XCL) o 局域连接(用 SDMA) o 带有

33、 Xilinx 简化的处理器局域总线 (PLB v4.6) 3.1.2 MPMC 的内部结构 如图 1, MPMC 最多有 8 个端口,这些端口是相互独立的。也就是说,随时可以通过任意一个端口来访问内存。如果有两个端口同时访问内存,MPMC 的仲裁器会按一定的规则来仲裁并决定其先后。而且 MPMC 的每个端口均带有缓存,所以在往一个口写入数据的时候,数据是先写入缓存,等到这个端口取得内存写入权后再从缓存写入内存。数据写入缓存再写入内存的过程对用户是不可见的。所以对于用户自己的逻辑来说,只要把数据写入MPMC 的端口就可以了。但是这里要注意判断一下缓存是否已满,否者会出现数据丢失。使用缓存就像

34、CPU 使用 CACHE 一样,可以大大提高 MPMC 的吞吐效率。但是和 CACHE一样,会带来数据不同步的问题。下面会详细讨论这个问题。 同时在多端口进行数据读写的时候要注意数据同步的问题。 由于 MPMC 是把数据先写入缓存再写入内存的,而读出数据是直接从内存读出,写入的数据可能还在缓存中并没有真正的写入内存,所以读出的数据可能是上次写入的数据。 对于同一个端口进行读写操作,可以在读之前看一下写缓存是否空。对于读写是不同口的情况,可以在设定各个口的优先级上把写端口的优先级设置的比读端口高。请注意,使用这两个方法会降低 MPMC 的效率,所以只有确定读写存在同步问题的时候才采用。 图 3.

35、1.1 MPMC 内部结构图 3.1.3 MPMC 接口 MPMC 一共提供了 4 种接口:,。接口主要用作处理器通过总线访问内存。主要是用作处理器的 CACHE 从内存读取数据时使用。 是外部数据要用方式写入内存的时候使用,其支持。接口是让用户在自己的设计中利用 MPMC 特性的接口,下面就将详细讲述接口。NPI 接口有以下特性: 提供一个简单的内存接口可以适应不同的协议 提供地址线,数据线和控制信号来进行内存操作。 允许同时通过 FIFO 进行数据的读写 可以配置成 32 位或 64 位的数据宽度以适应不同的系统的需求。 当使用 32 位 NPI 和 BRAM FIFOs 时,支持下列传输

36、尺寸:字节,半字,字和 4 个字的缓存线,8 个字的缓存线,16 个字的 bursts,32 个字的 bursts 和 64 个字的bursts。 当使用 64 位 NPI 时,支持下列传输尺寸:字节,半字,字,双字,4 字缓存线,8 字缓存线, 16 字 bursts,32 字 bursts 和 64 字 bursts。 第 2 节 MPMC 的使用3.2 MPMC 的使用 双击 Bus_Interface 标签栏下的 DDR_SDRAM,进入编辑 MPMC 的界面。如图 3.2.1 所示:点击看大图图 3.2.1 点击 DDR_SDRAM3.2.1 Base Configuration 主

37、标签栏: Base Configuration 包含两个标签栏。其中,用户可以在 Port Type Configuration 中配置端口类型,MPMC 最多可以有 8 个端口,每个端口有前述的 4 种接口类型XCL,PLBv46, SDMA,NPI 以及不使用 INACTIVE。点击看大图图 3.2.2 MPMC 端口的 4 种接口类型以及不使用 INACTIVE 分配完毕后可以通过 LeftJustify 将不工作的端口消除掉。在这个过程中所有与端口有关的参数和外部总线连接都被移到左边。 图 3.2.3 点击 LeftJustify 之前 图 3.2.4 点击之后 在 Common Ad

38、dress 中可以观察和设置初始地址。想配置任一个独立的端口地址,需到Advanced 标签栏下 Address 选项选择。图 3.2.5 Common Address 标签栏 3.2.2 Memory Interface 主标签栏 MPMC 可以与不同厂商的许多不同种内存一起工作。这个标签栏让你在 Memory Part Selector 标签下选择与 MPMC 连接的内存。 Memory Part Selector 它包含 Type 选项,Memory manufacturer 选项,Memory style 选项,Memory density 选项,Memory width 选项和 Pa

39、rt No. 选项。图 3.2.6 Memory Part Selector 过滤的结果在 Part No.下拉列表中出现。如果内置的内存数据库正确部分不能使用时,Memory Part Selector/Part No.下拉列表也会包含一个用户选项。在你选择了 CUSTOM 选项之后,所有内存参数都可修改,你能够输入你想要的参数。在你选择了内存部分之后,参数将被自动载入到 Selected Memory Info 区和 Memory/DIMM Settings 标签中去 Memory/DIMM Settings 在这个设置区内,选择下拉菜单,你可以调整 DIMMs 的数目,内存数据宽度,内存时钟周期,ODT 设置和部分 其他信息。图 3.2.7 Memory Interface 标签 Memory Part Settings Tab Memory Part Settings 标签栏有两个区间:Part Settings 和 Memory Timing Settings。Part Settings 包含 Data Depth,Data Width,Bank ,Row ,和 Column Bits。Memory Timing Settings 包含内存部分选项。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 说明文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报