您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > MicroBlaze软核处理器接口
MicroBlaze软核处理器接口何宾2012.02MicroBlaze软核处理器接口本章详细介绍了MicroBlaze软核处理的接口,这些接口包括:(1)AXI4接口;(2)PLB接口;(3)LMB接口;(4)FSL接口;(5)XCL接口;(6)调试接口和跟踪接口。这些接口提供了软核处理器与片上、片外外设和存储器的灵活接口。此外,接口也提供了点对点的或者共享总线的数据传输方式。MicroBlaze接口概述MicroBlaze处理器结构采用哈弗结构,即为数据和指令访问提供了独立的总线接口单元。MicroBlaze处理器支持下面四种存储器接口:–本地存储器总线(LMB);–AMBAAXI4接口(AXI4);–IBM处理器本地总线(PLB);–Xilinx的CacheLink(XCL)接口;MicroBlaze软核处理器接口LMB提供了以单时钟周期访问双端口存储器的能力。AXI4和PLB提供了片上和片外外设和存储器的接口。CacheLink接口和外部存储器控制一起用作专门用途。MicroBlaze处理器支持最多16个简单快速链接FSL或者AXI4-Stream接口端口,每一个端口有主和从接口。MicroBlaze软核处理器接口MicroBlaze处理器能配置成下面的总线接口:–ARMAAXI4接口;–32位版本的PLBV4.6接口;–LMB提供简单同步协议用于高效的BRAM传输;–FSL或AXI4-Stream提供快速无需仲裁的流通信机制;–XCL提供在缓存和外部存储器控制器之间的快速从设备仲裁的流接口;–调试接口和处理器调试模块(MDM)一起使用;–跟踪接口用于性能分析;AXI4接口--存储器映射接口MicroBlazeAXI4存储器映射的外设接口(M_AXI_DP,M_AXI_IP)实现32位的主接口。这些接口只发出单个地址,所有的交易按顺序完成。(1)指令外设接口只执行单字读访问,总是设置使用AXI4-Lite子集;(2)数据外设接口执行单字访问,默认设置使用AXI4-Lite子集,当使能用于LWX和SWX的互斥访问时,使用AXI4。通过设置合适的字节选通,可以执行半字和字节写操作;AXI4接口--存储器映射接口AXI4存储器映射的缓存接口(M_AXI_DC,M_AXI_IC)可以实现32位、128位或者256位的主设备(取决于缓存行的长度和数据宽度参数)。(1)作为32位主设备,指令缓存接口执行4字或8字(取决于缓存行长度)猝发读访问。作为128位或256位主设备,只执行单个读访问。当使能流缓存时,这个接口能提供最多2个地址或者8个地址。(2)作为32位主设备,数据缓存接口执行单字访问或4/8字猝发访问(取决于缓存行长度)。当使用写通过缓存时,不执行写猝发访问。通过设置合适的字节选通,可以执行字、半字和字节写操作。当读时,接口最多发出2个地址,而当写时,最多发出32个地址。使能互斥访问用于LWX和SWX指令。AXI4接口--存储器映射接口M_AXI_DP、M_AXI_IP、M_AXI_DC和M_AXI_IC接口信号功能一样,表4.1给出了M_AXI_DP端口的信号及功能。更具体的功能可以参看第二章的内容。AXI4接口--存储器映射接口信号接口I/O描述M_AXI_DP_AWIDM_AXI_DPO主设备写地址IDM_AXI_DP_AWADDRM_AXI_DPO主设备写地址M_AXI_DP_AWLENM_AXI_DPO主设备猝发长度M_AXI_DP_AWSIZEM_AXI_DPO主设备猝发大小M_AXI_DP_AWBURSTM_AXI_DPO主设备猝发类型M_AXI_DP_AWLOCKM_AXI_DPO主设备锁类型M_AXI_DP_AWCACHEM_AXI_DPO主设备缓存类型M_AXI_DP_AWPROTM_AXI_DPO主设备保护类型M_AXI_DP_AWQOSM_AXI_DPO主设备服务质量M_AXI_DP_AWVAILDM_AXI_DPO主设备写地址有效M_AXI_DP_AWREADYM_AXI_DPI从设备写地址准备M_AXI_DP_WDATAM_AXI_DPO主设备写数据M_AXI_DP_WSTRBM_AXI_DPO主设备写选通M_AXI_DP_WLASTM_AXI_DPO主设备写最后M_AXI_DP_WVALIDM_AXI_DPO主设备写有效AXI4接口--存储器映射接口M_AXI_DP_WREADYM_AXI_DPI从设备写准备M_AXI_DP_BIDM_AXI_DPI从设备响应IDM_AXI_DP_BRESPM_AXI_DPI从设备写响应M_AXI_DP_BVALIDM_AXI_DPI从设备写响应有效M_AXI_DP_BREADYM_AXI_DPO主设备响应准备M_AXI_DP_ARIDM_AXI_DPO主设备读地址IDM_AXI_DP_ARADDRM_AXI_DPO主设备读地址M_AXI_DP_ARLENM_AXI_DPO主设备猝发长度M_AXI_DP_ARSIZEM_AXI_DPO主设备猝发大小M_AXI_DP_ARBURSTM_AXI_DPO主设备猝发类型M_AXI_DP_ARLOCKM_AXI_DPO主设备锁类型M_AXI_DP_ARCACHEM_AXI_DPO主设备缓存类型M_AXI_DP_ARPORTM_AXI_DPO主设备保护类型M_AXI_DP_ARQOSM_AXI_DPO主设备服务质量M_AXI_DP_ARVAILDM_AXI_DPO主设备读地址有效AXI4接口--存储器映射接口M_AXI_DP_ARREADYM_AXI_DPI从设备读地址准备M_AXI_DP_RIDM_AXI_DPI从设备读ID标志M_AXI_DP_RDATAM_AXI_DPI从设备读数据M_AXI_DP_RRESPM_AXI_DPI从设备读响应M_AXI_DP_RLASTM_AXI_DPI从设备读最后M_AXI_DP_RVALIDM_AXI_DPI从设备读有效M_AXI_DP_RREADYM_AXI_DPO主设备读准备AXI4接口--流接口MicroBlazeAXI4-Stream接口(M0_AXIS..M15_AXIS,S0_AXIS..S15_AXIS)实现32位主设备或从设备。Mn_AXIS_TLAST,Sn_AXIS_TLAST信号直接对应于同等的FSLn_M_Control和FSLn_S_Control信号。AXI4接口--流接口1.写操作MicroBlaze通过使用put或putd指令执行写流接口操作。写操作将寄存器的内容传到输出AXI4接口。对于阻塞模式写(put或cput指令)在单个时钟周期内完成传输,且接口不忙。如果接口忙,处理器停止,一直到其可用为止。非阻塞指令(前缀n),即使在忙时,也总是在单周期内完成传输。如果接口忙,禁止写并且设置MSR内的进位位。AXI4接口--流接口2.读操作MicroBlaze通过使用get或getd指令执行读流接口操作。读操作将输入AXI4接口内容传输到寄存器。对于阻塞模式读在两个时钟周期内完成传输,且数据可用。如果数据不可用时,处理器在这条指令上停下来,一直到其可用为止。在非阻塞模式下(前缀n),不管数据是否可用,也总是在一个或者两个时钟周期内完成传输。如果数据不可用,不发生数据传输,并且设置MSR内的进位位。表4.2给出了M_AXI_Stream端口的信号及功能。更具体的功能可以参看第二章的内容AXI4接口--流接口信号接口I/O描述Mn_AXIS_TLASTM0_AXIS..M15_AXISO主设备接口输出AXI4通道写最后Mn_AXIS_TDATAM0_AXIS..M15_AXISO主设备接口输出AXI4通道写数据Mn_AXIS_TVALIDM0_AXIS..M15_AXISO主设备接口输出AXI4通道写有效Mn_AXIS_TREADYM0_AXIS..M15_AXISI主设备接口输入AXI4通道写准备Sn_AXIS_TLASTM0_AXIS..M15_AXISI从设备接口输入AXI4通道写最后Sn_AXIS_TDATAM0_AXIS..M15_AXISI从设备接口输入AXI4通道写数据Sn_AXIS_TVALIDM0_AXIS..M15_AXISI从设备接口输入AXI4通道写有效Sn_AXIS_TREADYM0_AXIS..M15_AXISO从设备接口输出AXI4通道写准备PLB接口MicroBlaze处理的PLB接口用于字节使能的32位主设备。表4.3给出了IPLB总线接口信号定义。表4.4给出了DPLB总线接口定义。更详细的可以参考PLBV46互连和接口资料。PLB接口(IPLB)信号接口I/O功能(指令侧PLB接口简称IPLB)IPLB_M_ABORTIPLBOIPLB放弃总线请求指示IPLB_M_ABUSIPLBOIPLB地址总线IPLB_M_UABUSIPLBOIPLB高部分地址总线IPLB_M_BEIPLBOIPLB字节使能IPLB_M_busLockIPLBOIPLB总线锁定IPLB_M_lockErrIPLBOIPLB总线锁定错误指示IPLB_M_MsizeIPLBOIPLB主设备数据总线大小IPLB_M_priorityIPLBOIPLB请求优先级IPLB_M_rdBurstIPLBOIPLB猝发式读传输指示IPLB_M_requestIPLBOIPLB总线请求IPLB_M_RNWIPLBOIPLB读/非写IPLB_M_sizeIPLBOIPLB传输大小IPLB_M_TAttributeIPLBOIPLB传输属性总线IPLB_M_typeIPLBOIPLB传输类型IPLB_M_wrBurstIPLBOIPLB猝发式写传输指示IPLB_M_wrDBusIPLBOIPLB写数据总线PLB接口(IPLB)IPLB_MbusyIPLBIIPLB从设备忙指示IPLB_MRdErrIPLBIIPLB从设备读错误指示IPLB_MWrErrIPLBIIPLB从设备写错误指示IPLB_MIRQIPLBIIPLB从设备中断指示IPLB_MWRBTermIPLBIIPLB终止写猝发指示IPLB_MWrDAckIPLBIIPLB写数据应答IPLB_MAddrAckIPLBIIPLB地址应答IPLB_MRdBTermIPLBIIPLB终止读猝发指示IPLB_MRdDAckIPLBIIPLB读数据应答IPLB_MRdDBusIPLBIIPLB读数据总线IPLB_MRdEdAddrIPLBIIPLB读字总线IPLB_MRearbitrateIPLBIIPLB再总裁指示IPLB_MSSizeIPLBIIPLB从设备数据总线大小IPLB_MTimeoutIPLBIIPLB总线超时PLB接口(DPLB)信号接口I/O功能(数据侧PLB接口简称DPLB)DPLB_M_ABORTDPLBODPLB放弃总线请求指示DPLB_M_ABUSDPLBODPLB地址总线DPLB_M_UABUSDPLBODPLB高部分地址总线DPLB_M_BEDPLBODPLB字节使能DPLB_M_busLockDPLBODPLB总线锁定DPLB_M_lockErrDPLBODPLB总线锁定错误指示DPLB_M_MsizeDPLBODPLB主设备数据总线大小DPLB_M_priorityDPLBODPLB请求优先级DPLB_M_rdBurstDPLBODPLB猝发式读传输指示DPLB_M_requestDPLBODPLB总线请求DPLB_M_RNWDPLBODPLB读/非写DPLB_M_sizeDPLBODPLB传输大小DPLB_M_TAttributeDPLBODPLB传输属性总线DPLB_M_typeDPLBODPLB传输类型PLB接口(DPLB)DPLB_M_wrBurstDPLBODPLB猝发式写传输指示DPLB_M_wrDBusIPLBODPLB写数据总线DPLB_MbusyDPLBIDPLB从设备忙指示DPLB_MRdErrDPLBIDPLB从设备读错误指示DPLB_MWrErrD
本文标题:MicroBlaze软核处理器接口
链接地址:https://www.777doc.com/doc-1784695 .html