MicroBlaze软核处理器接口.ppt
《MicroBlaze软核处理器接口.ppt》由会员分享,可在线阅读,更多相关《MicroBlaze软核处理器接口.ppt(67页珍藏版)》请在三一办公上搜索。
1、MicroBlaze软核处理器接口,何宾2012.02,MicroBlaze软核处理器接口,本章详细介绍了MicroBlaze软核处理的接口,这些接口包括:(1)AXI4接口;(2)PLB接口;(3)LMB接口;(4)FSL接口;(5)XCL接口;(6)调试接口和跟踪接口。这些接口提供了软核处理器与片上、片外外设和存储器的灵活接口。此外,接口也提供了点对点的或者共享总线的数据传输方式。,MicroBlaze接口概述,MicroBlaze处理器结构采用哈弗结构,即为数据和指令访问提供了独立的总线接口单元。MicroBlaze处理器支持下面四种存储器接口:本地存储器总线(LMB);AMBA AXI
2、4接口(AXI4);IBM处理器本地总线(PLB);Xilinx的CacheLink(XCL)接口;,MicroBlaze软核处理器接口,LMB提供了以单时钟周期访问双端口存储器的能力。AXI4和PLB提供了片上和片外外设和存储器的接口。CacheLink接口和外部存储器控制一起用作专门用途。MicroBlaze处理器支持最多16个简单快速链接FSL或者AXI4-Stream接口端口,每一个端口有主和从接口。,MicroBlaze软核处理器接口,MicroBlaze处理器能配置成下面的总线接口:ARMA AXI4接口;32位版本的PLBV4.6接口;LMB提供简单同步协议用于高效的BRAM传输
3、;FSL或AXI4-Stream提供快速无需仲裁的流通信机制;XCL提供在缓存和外部存储器控制器之间的快速从设备仲裁的流接口;调试接口和处理器调试模块(MDM)一起使用;跟踪接口用于性能分析;,AXI4接口-存储器映射接口,MicroBlaze AXI4存储器映射的外设接口(M_AXI_DP,M_AXI_IP)实现32位的主接口。这些接口只发出单个地址,所有的交易按顺序完成。(1)指令外设接口只执行单字读访问,总是设置使用AXI4-Lite子 集;(2)数据外设接口执行单字访问,默认设置使用AXI4-Lite子集,当使能用于LWX和SWX的互斥访问时,使用AXI4。通过设 置合适的字节选通,可
4、以执行半字和字节写操作;,AXI4接口-存储器映射接口,AXI4存储器映射的缓存接口(M_AXI_DC,M_AXI_IC)可以实现32位、128位或者256位的主设备(取决于缓存行的长度和数据宽度参数)。(1)作为32位主设备,指令缓存接口执行4字或8字(取决于缓 存行长度)猝发读访问。作为128位或256位主设备,只执 行单个读访问。当使能流缓存时,这个接口能提供最多2个 地址或者8个地址。(2)作为32位主设备,数据缓存接口执行单字访问或4/8字猝发 访问(取决于缓存行长度)。当使用写通过缓存时,不执 行写猝发访问。通过设置合适的字节选通,可以执行字、半字和字节写操作。当读时,接口最多发出
5、2个地址,而当 写时,最多发出32个地址。使能互斥访问用于LWX和SWX 指令。,AXI4接口-存储器映射接口,M_AXI_DP、M_AXI_IP、M_AXI_DC和M_AXI_IC接口信号功能一样,表4.1给出了M_AXI_DP端口的信号及功能。更具体的功能可以参看第二章的内容。,AXI4接口-存储器映射接口,AXI4接口-存储器映射接口,AXI4接口-存储器映射接口,AXI4接口-流接口,MicroBlaze AXI4-Stream接口(M0_AXIS.M15_AXIS,S0_AXIS.S15_AXIS)实现32位主设备或从设备。Mn_AXIS_TLAST,Sn_AXIS_TLAST信号直
6、接对应于同等的FSLn_M_Control和FSLn_S_Control信号。,AXI4接口-流接口,1写操作 MicroBlaze通过使用put或putd指令执行写流接口操作。写操作将寄存器的内容传到输出AXI4接口。对于阻塞模式写(put或cput指令)在单个时钟周期内完成传输,且接口不忙。如果接口忙,处理器停止,一直到其可用为止。非阻塞指令(前缀n),即使在忙时,也总是在单周期内完成传输。如果接口忙,禁止写并且设置MSR内的进位位。,AXI4接口-流接口,2读操作 MicroBlaze通过使用get或getd指令执行读流接口操作。读操作将输入AXI4接口内容传输到寄存器。对于阻塞模式读在
7、两个时钟周期内完成传输,且数据可用。如果数据不可用时,处理器在这条指令上停下来,一直到其可用为止。在非阻塞模式下(前缀n),不管数据是否可用,也总是在一个或者两个时钟周期内完成传输。如果数据不可用,不发生数据传输,并且设置MSR内的进位位。表4.2给出了M_AXI_Stream端口的信号及功能。更具体的功能可以参看第二章的内容,AXI4接口-流接口,PLB接口,MicroBlaze处理的PLB接口用于字节使能的32位主设备。表4.3给出了IPLB总线接口信号定义。表4.4给出了DPLB总线接口定义。更详细的可以参考PLBV46互连和接口资料。,PLB接口(IPLB),PLB接口(IPLB),P
8、LB接口(DPLB),PLB接口(DPLB),LMB接口,LMB是同步总线,主要用于访问片上块RAM资源。LMB有最少的控制总线数目,使用简单协议保证以单周期访问本地块RAM资源。表4.5给出了LMB接口信号及定义。所有信号都是高有效。,LMB接口,FSL接口,FSL总线在输出FIFO和输入FIFO之间提供点对点的通信通道,更详细的信息参考IP核参考资料。表4.6给出了主FSL信号接口,表4.7给出了从FSL接口信号。,FSL接口(MFSL),FSL接口(SFSL),FSL接口,1.FSL总线写操作 MicroBlaze使用put或putd指令,执行写FSL的操作。写FSL操作将寄存器的内容传
9、送到输出FSL总线上。当FSL的FIFO非满状态时,在阻塞传输模式下只需要一个时钟周期就能完成数据传输。如果FSL的FIFO满时,处理器停下来等待,直到FSL的满标志变成低。非阻塞传输指令(前缀n)在一个时钟周期下完成传输(即使FSL为满)。如果FSL为满时,写操作被禁止,且MSR的进位标志被置位。,FSL接口,2.FSL总线读操作 MicroBlaze使用get或getd指令,执行读FSL的操作。读FSL操作将输入FSL总线的内容传输到通用寄存器中。当FSL的FIFO非满状态时,在阻塞传输模式下只需要2个时钟周期就能完成数据读传输。如果FSL的FIFO满时,处理器停下来等待,直到FSL的满标
10、志变成低。非阻塞传输指令(前缀n)在2个时钟周期下完成传输(即使FSL为空)。如果FSL为空时,不产生读数据传输,且MSR的进位标志被置位。,FSL接口,3.直接FSL连接 直接FSL连接用来去避免需要FSL总线。在没有缓冲的情况下,例如两个连接的IP核。在直接FSL连接下不使用FSL的FIFO。无FIFO可以减少延迟和要求实现的资源。MicroBlaze处理器的每一个FSL接口能使用FSL直接连接或FSL总线。MicroBlaze的DWFSL接口是直接FSL连接的初始源,它只能连接到DWFSL目标。DWFSL的初始源和目标有同样的信号名(与MFSL信号一样)。MicroBlaze使用DWFS
11、L接口通过put或putd命令写数据到目标。,FSL接口,MicroBlaze的DRFSL接口是一个FSL连接的目标,它只能连接到DRFSL的初始源。DRFSL的初始源和目标有同样的信号名(与SFSL信号一样)。MicroBlaze使用DRFSL接口通过get或getd命令从初始源读数据。Xilinx的CacheLink(XCL)接口就是使用直接FSL连接实现的。,XCL接口-XCL接口原理,对外部存储器的访问来说,XCL接口是高性能的解决方案。XCL通过使用集成的FSL缓冲区直接和存储器控制器连接,例如MPMC。这种方法有最低的延迟和最小数目的例化。图4.1给出了使用集成FSL缓冲区的XCL
12、连接原理图。,XCL接口-XCL接口原理,BEGIN microblaze.BUS_INTERFACE IXCL=myIXCL.ENDBEGIN mpmc.BUS_INTERFACE XCL0=myIXCL.END,图4.1使用集成FSL缓冲区的XCL连接原理,XCL接口-XCL接口原理,当缓存使能时,XCL接口可以使用。可以在指令侧或数据侧使用一个XCL缓存。存储器位置的访问,由指令缓存参数C_ICACHE_ALWAYS_USED和数据缓存参数C_DCACHE_ALWAYS_USED来确定。如果值为1,表示缓存的存储器范围总是能通过XCL访问。如果值为0,每当缓存被软件禁止时,缓存的存储器范
13、围只能通过AXI4或PLB访问。,XCL接口-XCL接口原理,在XCL可访问的范围以外存储器的位置可通过AXI,PLB或者LMB访问。XCL缓存控制器处理4-8个缓存行。同时由于XCL与PLB和AXI4分开,也减少了对非缓存存储器访问的冲突。表4.8给出了XCL的信号接口。,XCL接口-XCL接口原理,XCL接口-XCL接口原理,XCL接口-XCL交易,所有单独的CacheLink访问遵循基于FSL FIFO的交易协议,主要包含以下几点:(1)FSL的数据和控制信号上的访问信息被编码(例如:DCACHE_FSL_OUT_Data,DCACHE_FSL_OUT_Control,ICACHE_FS
14、L_IN_Data和ICACHE_FSL_IN _Control)。(2)通过拉高写使能信号(DCACHE_FSL_OUT_Write),信息 被发送(保存)。(3)如果来自接收方的满信号无效(DCACHE_FSL_OUT_FULL=0),则发送方只允许写。指 令缓存控制器不使用满信号标志。,XCL接口-XCL交易,(4)使用ICACHE_FSL_IN_Read和DCACHE_FSL_IN_Read 取决于所选择的接口协议:使用IXCL和DXCL协议,通过拉高读信号信息被接收(加载)。该信号为低,除非当发送者示意有新数据存在。使用IXCL2和DXCL2协议,拉低读信号表示接收方不能接收新的数据
15、。当读信号为高时,新数据是只读的,发送者示意有新数据存在。(5)只要发送方示意有新数据存在(例如 ICACHE_FSL_IN_Exists=1),接收方只允许读。,XCL接口-XCL交易,Xilinx的CacheLink解决方案中,每个缓存控制器使用一个流入(从)和流出(主)FSL。流出FSL用于发送访问请求,而流入FSL用于接收请求的缓存行。FSL的数据和控制信号上,XCL也使用交易信息的特定编码。在XCL协议中,用于读操作的缓存行为4/8个字长。取决于所选择的接口协议,使用第一个关键字(Critical word first)或者线性顺序(in linear order),取出每个缓存行。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MicroBlaze 处理器 接口
链接地址:https://www.31ppt.com/p-5439946.html