何宾Tel13911127536emailhebin@mail.buct.edu.cn 版权所有禁止未经授权的商业使用行为.ppt
《何宾Tel13911127536emailhebin@mail.buct.edu.cn 版权所有禁止未经授权的商业使用行为.ppt》由会员分享,可在线阅读,更多相关《何宾Tel13911127536emailhebin@mail.buct.edu.cn 版权所有禁止未经授权的商业使用行为.ppt(142页珍藏版)》请在三一办公上搜索。
1、何宾Tel:13911127536 email:,版权所有,禁止未经授权的商业使用行为,北京中教仪装备技术有限公司,所有培训资料均可从网站http:/下载,培训内容,Xilinx片上可编程系统设计导论 AXI4规范 MicroBlaze处理器原理 EDK13.1工具概述 操作系统(OS)及板级支持包(BSP)概述 基于MicroBlaze和AXI4的可编程SoC系统实现,基于AXI4的可编程SoC系统设计,片上可编程系统设计导论-基本概念,基于现场可编程门阵列(Field Programmable Gate Array,FPGA)的可编程SoC系统(Programmable-System-on
2、-a-chip,P-SoC),包含嵌入式的软核或硬核处理器、存储器和硬件加速器。P-SoC的出现为设计者提供了设计高性能嵌入式系统和优化系统的条件。,注:为了后面叙述方便,将Xilinx的可编程SoC系统,英文简述为P-SOC。用于区分其它SOC的系统。,片上可编程系统设计导论-基本概念,P-SoC嵌入式处理器分为软核和硬核处理器两大类。Xilinx提供了将物理的处理器核集成到FPGA硅片上的硬核处理器产品。一个处理器使用专门的硅片实现称为硬核处理器,比如Xilinx:将PowerPC 405/440硬核集成到Virtex系列的FPGA芯片中;将ARM Cortex-A9 MP双核处理器集成在
3、Zynq-7000系列的FPGA芯片中。,片上可编程系统设计导论-基本概念,软核处理器是通过使用FPGA的通用逻辑实现的。软核处理器通过HDL语言或网表进行描述的。软核处理器必须进行综合才能使用。比如Xilinx:提供32位的软核处理器MicroBlaze;提供8位的软核控制器Picoblaze;,片上可编程系统设计导论-基本概念,在基于软核和硬核处理器的P-SoC系统中,本地存储器、处理器总线、内部外设、外设控制器和存储器控制器必须使用FPGA的通用逻辑实现。下面给出Xilinx公司的软核和硬核处理器的性能。,片上可编程系统设计导论-Xilinx P-SoC类别,片上可编程系统设计导论-基本
4、概念,由于持续的要求嵌入式系统具有更多的功能、更好的性能和灵活性,因此传统上的设计方法已经不适应这种要求。当设计人员试图通过高性能的嵌入式处理器得到更高的性能时,遇到了吞吐量和性能方面的限制,而这种限制源于系统和结构的瓶颈,以及存储器带宽的限制。现在解决问题的方法是“专用”,即对某个嵌入式系统应用使用专门的解决方法。比如,数字信号处理器DSP用于解决某一类专门的数字信号处理。对于一些高容量的应用,设计人员可能还需要专门开发ASIC芯片。,片上可编程系统设计导论-基本概念,很多FPGA厂商将专用的嵌入式处理器PowerPC、ARM等嵌入到FPGA芯片中。这种集成嵌入式处理器的FPGA芯片被定义成
5、FPGA的平台。这种基于FPGA的嵌入式平台提供了一个灵活的解决方案。在这个解决方案中,一个单FPGA芯片上提供了大量不同的IP软核和硬核资源。这些固件和硬件可以在任何时间进行升级。这种可编程的结构特点,大大缩短了系统的开发时间,而同一平台能应用在很多领域,提高了平台的资源复用率。,片上可编程系统设计导论-基本概念,FPGA平台结构使设计人员可以优化系统吞吐量和开发周期,提供前所未有的软件和硬件协同设计的灵活性,这种灵活性主要体现在设计人员能够权衡软件和硬件设计的实现方法。这种协同性不同于传统的嵌入式系统的协同设计,虽然以前也使用软件和硬件的协同设计,但是在实现级别上基本上还是使用大量的分离的
6、设计流程。,片上可编程系统设计导论-基本概念,FPGA平台,即P-SoC集成了传统软核和硬核处理器、片上总线、大量不同的I/O设备和接口标准、定制的硬件加速理器,以及混合的定制的总线或点对点的拓扑结构,以提高系统的性能。在P-SoC的层次上,FPGA的应用领域已经大大扩宽了,它不再只用于连接不同接口设备的“连接逻辑”。由于FPGA的容量和性能不断提高,因此它就逐步地变成嵌入式系统的中心。,片上可编程系统设计导论-基本概念,在P-SoC阶段,设计已经从以硬件描述语言HDL为中心的硬件设计,转换到了以C语言进行功能描述为中心。形成了以C语言描述P-SoC的功能,而用HDL语言描述硬件的具体实现方法
7、。这也是和传统的FPGA设计和嵌入式系统设计最大的区别,即软件和硬件的真正的协同设计。,片上可编程系统设计导论-基本概念,作为新的嵌入式系统的设计平台,使用P-SoC进行嵌入式系统设计具有以下几个方面的优点:,1、定制 2、延缓过时 3、降低元件成本 4、硬件加速,片上可编程系统设计导论-设计流程,正如前面所说,基于P-SoC的嵌入式系统的设计需要软件和硬件的协同设计。下面给出了Xilinx公司使用XPS(Xilinx Platform Studio)和SDK(Software Development Kit)进行嵌入式系统设计的流程。Xilinx公司的XPS和SDK工具包用于开发基于FPGA
8、平台的嵌入式系统,从图可以看出该工具支持传统的硬件和嵌入式软件的设计流程。注:从EDK13.1开始XPS不支持软件开发,软件开发必须在SDK中完成,片上可编程系统设计导论-P-SoC设计流程,SDK,XPS,片上可编程系统设计导论-设计流程,XPS支持硬核PowerPC、ARM Cortex-A9 MP和软核Microblaze处理器。并将设计的导入、创建和IP核定制进行了流水化的处理。由于XPS知道平台FPGA的硅片属性和选项,能自动的为其外设生成软件驱动、测试代码以及创建板级支持包BSP(Board Support Package)。这些BSP是常用的实时操作系统RTOS(Real-Tim
9、e Operating System),比如VxWorks和嵌入式Linux提供的设备驱动。,片上可编程系统设计导论-设计流程,Xilinx的JTAG连接技术,完成FPGA的下载、FPGA的调试、C代码的下载和软件的调试。XPS和SDK工具集成了软件和硬件调试工具,使它们之间可以相互触发,这使得嵌入式系统内部变成“可见”,使嵌入式设计者能很快地找到和发现问题,而无需知道这个问题是软件还是硬件产生的。,片上可编程系统设计导论-设计优化,FPGA嵌入式处理器设计比较复杂,复杂程度甚至使那些有经验的设计人员在某些情况下都无能为力,因此为了获得FPGA平台的优势必须进行权衡。下面给出一些在设计FPGA
10、的P-SoC嵌入式系统时,会使用到的一些优化技术。,片上可编程系统设计导论-设计优化,1、优化级别2、使用FPGA厂商的优化指令3、汇编4、混杂,片上可编程系统设计导论-存储器使用,只用本地存储器:最快的存储器的选择是将所有的代码放在本地存储器中。只用外部存储器:如果将所有程序放在外部存储器中,将使系统的性能降到最低。高速缓存:在建有PowerPC处理器的FPGA硅片上建立了的指令和数据高速缓存。使其对处理器总保持性能优势。分配代码到内部存储器、外部存储器和高速缓存。,片上可编程系统设计导论-专用P-SoC优化技术,1、提高FPGA工作频率 逻辑优化2、面积和时序约束3、硬件加速 使用硬件除法
11、器和桶型移位寄存器。软件瓶颈转换为硬件处理。可以使用硬件协处理的 算法有:DCT变换、FFT变换、MP3解码器、DES和AES、矩阵等。使用硬件协处理,可以使性能提高数十倍或数百倍。,片上可编程系统设计导论-Xilinx P-SoC芯片(目前),适合进行P-SoC设计的FPGA芯片低端产品有Spartan系列,高端产品有Virtex系列。Spartan系列FPGA只用于MicroBlaze软核处理器的片上系统设计,Virtex系列FPGA可以用于MicroBlaze软核处理器和PowerPC硬核处理器的片上系统设计。,片上可编程系统设计导论-P-SoC芯片(未来),片上可编程系统设计导论-P-
12、SoC芯片(未来)-吸引全球目光,AMBA AXI4协议-概述,Xilinx 同 ARM 密切合作,共同为基于 FPGA 的高性能系统和设计定义了 AXI4 规范。并且在其新一代可编程门阵列芯片上采用了高级可扩展接口(Advanced eXtensible Interface,AXI)协议。AXI总线是ARM高级微控制器总线结构(Advanced Microcontroller Bus Architecture,AMBA)的一部分。AXI总线的第一个版本包含在AMBA3.0(2003年发布)中,AXI总线的第二个版本AXI4包含在AMBA4.0(2010年发布)中。,AMBA AXI4协议-概
13、述,旧的 性能 新的,AMBA AXI4协议-概述,AMBA AXI4协议-概述,最新一代的AMBA接口的目标是:适合于高带宽和低延迟设计;在不使用复杂的桥接方式下,允许更高频率的操作;满足普遍情况下的元件接口要求;适用于高初始访问延迟的存储器控制器;为互联结构的实现提供了灵活性;与已有的AHB和APB接口向下兼容。,AMBA AXI4协议-概述,AXI协议的关键特性表现在以下几个方面:独立的地址/控制和数据阶段;使用字节选通,支持非对齐的数据传输;只有开始地址的猝发交易;独立的读和写数据通道,可以使能低成本的直接存储器访问DMA传输;能发出多个未解决的地址;完成无序交易;容易添加寄存器sli
14、ce,满足时序收敛要求;,AMBA AXI4协议-概述,AMBA 3.0(2003),AMBA 4.0(2010),AMBA AXI4协议-概述,处理器r,外设,PLBv46,仲裁器,AXI 从设备,“互连”,AXI,AXI,AXI,AXI,AXI,“共享访问”总线规范的一部分,箭头表示主/从关系,而不表示数据流的方向,主,从,AXI,AXI,AXI,PLB,PLB,PLB,PLB,AXI 主设备,AXI,AXI,PLBv46 是总线规范/AXI是一个接口规范,13-31,Hardware Design,AMBA AXI4协议-AXI4功能,AXI4协议基于猝发式传输机制。(1)在地址通道上,
15、每个交易有地址和控制信息,这些信息描述了需要传输的数据性质。(2)在主设备和从设备之间所传输的数据分别使用到从设备的写数据通道和到主设备的读数据通道。(3)在从主设备到从设备的写数据交易中,AXI有一个额外的写响应通道,从设备通过该通道向主设备发出信号表示完成写交易。,AMBA AXI4协议-AXI4功能,所有的AXI4包含了5个不同的通道:读地址通道(Read address channel,AR);写地址通道(Write address channel,AW);读数据通道(Read data channel,R);写数据通道(Write data channel,W);写响应通道(Writ
16、e response channel,B);,AMBA AXI4协议-AXI4功能,每个通道由一个信号集构成,并且使用双向的VALID和READY握手信号机制。(1)信息源使用VALID信号,表示在通道上存在可用的有效数据或者控制信息;(2)而信息接收源使用READY信号,表示可以接收数据。(3)读数据通道和写数据通道也包含LAST信号,该信号用来表示在一个交易发生时,最后一个传输的数据项。,AMBA AXI4协议-AXI4功能,AMBA AXI4协议-AXI4功能,AMBA AXI4协议-AXI4功能,读和写交易有各自的地址通道。地址通道上给出交易所要求的地址和控制信息。AXI4读和写地址通
17、道包括下面的机制:可变长度的猝发操作,每次猝发操作包含1-256数据;提供服务质量(QoS)信号支持多个区域接口;猝发传输不能超过4k边界;包裹、递增和非递增猝发;使用互斥和锁的原子操作;系统级缓存和缓冲控制;安全和特权访问。,AMBA AXI4协议-写地址通道信号及其信号定义,AMBA AXI4协议-读地址通道信号及其信号定义,AMBA AXI4协议-读数据通道信号及其信号定义,读数据通道传送所有来自从设备到主设备的读数据及读相应信息。读数据通道包括:数据总线宽度:8、16、32、64、128、256、512和1024位宽度;读响应表示读交易完成的状态,AMBA AXI4协议-读数据通道信号
18、及其信号定义,AMBA AXI4协议-写数据通道信号及其信号定义,写数据通道传送所有从主设备到从设备的写数据。写数据通道包括:数据总线宽度:8、16、32、64、128、256、512和1024位宽度;每8位有一个字节通道选通,用来表示数据总线上的哪个字节是有效的;,AMBA AXI4协议-写数据通道信号及其信号定义,AMBA AXI4协议-写响应通道信号及其信号定义,写响应通道提供了一种方法,用于从设备响应写交易。所有的写信号使用完成信号。每个响应用于一次猝发的完成,而不是用于每个交易的数据。,AMBA AXI4协议-写响应通道信号及其信号定义,AMBA AXI4协议-读猝发交易过程中典型信
19、号的交互过程,AMBA AXI4协议-读猝发交易过程中典型信号的交互过程,在读交易中:在确认ARREADY信号前,从设备能等待确认ARVALID信号;在从设备通过确认RVALID信号开始返回数据前,必须等待确认 所有的ARVALID和ARREADY信号;,AMBA AXI4协议-写猝发交易过程中典型信号的交互过程,AMBA AXI4协议-写猝发交易过程中典型信号的交互过程,AMBA AXI4协议-写猝发交易过程中典型信号的交互过程,在写交易中:在确认AWVALID和WVALID信号前,主设备不需要等待从设备确 认AWREADY或者WREADY信号;在确认AWREADY前,从设备能等待AWVAL
20、ID或WVALID信号,或者全部这两个信号;在确认WREADY前,从设备能等待AWVALID或WVALID信号,或 者全部这两个信号;从设备在确认BVALID前,从设备必须等待确认所有的AWVALID 和AWREADY信号;在确认BVALID前,从设备不需要等待主设备确认BREADY信号。在确认BREADY前,主设备能等待BVALID信号;,AMBA AXI4协议-互连模型(直通模式),AMBA AXI4协议-互连模型(转换模式),连接一个主设备和一个从设备时,AXI互联能执行不同的转换和流水线功能。这些功能主要包括:数据宽度转换;时钟速率转化;AXI4-Lite从适应;AXI-3从适应;流水
21、线(例如一个寄存器Slice或者数据通道FIFO)。在只转换模式下,AXI互联不包含仲裁、解码或布线逻辑,但是可能产生延迟。,AMBA AXI4协议-互连模型(转换模式),AMBA AXI4协议-互连模型(N-1模式),AXI互联的一个普通的退化配置模式是,多个主设备访问一个从设备。典型的情况是,一个存储器控制器,很显然需要仲裁逻辑。这种情况下,AXI互联不需要地址译码逻辑(除非需要确认地址的有效范围)。在这个配置中,也执行数据宽度和时钟速率的转换。,AMBA AXI4协议-互连模型(N-1模式),互联,主设备0,从设备0,图2.9 N-1互联模式,主设备1,仲裁器,AMBA AXI4协议-互
22、连模型(1-N模式),另一个AXI互联退化的结构是,一个主设备,典型的处理器,访问多个存储器映射的从外设。在这种模式下,AXI互联不执行仲裁(在地址和写数据通道)。,AMBA AXI4协议-互连模型(N-M模式),AXI互联提供了一种共享地址多数据流(SAMD)拓扑结构,这种结构中包含稀疏的数互联写交易仲裁器.,AMBA AXI4协议-互连模型(N-M模式),AMBA AXI4协议-AXI4-Lite功能,AXI4-Lite接口是AXI4接口的子集专用于和元件内的控制寄存器进行通信。AXI4-Lite允许构建简单的元件接口,这个接口是较小的,对设计和验证方面的要求更少。AXI4-Lite接口的
23、关键特性包含:所有交易的猝发长度为1;所有访问数据的大小和数据总线宽度相同;支持数据总线宽度为32位或64位(要求64位原子访问);所有的访问相当于AWCACHE和ARCACHE等于b0000(非缓冲和非缓存的);不支持互斥性操作;,AMBA AXI4协议-AXI4-Lite功能,AMBA AXI4协议-AXI4-Lite功能,AMBA AXI4协议-AXI4-Stream功能,AXI4-Stream协议作为一个标准的接口,这个接口用于连接希望交换数据的元件。接口用于将产生数据的一个主设备和接收数据的一个从设备连接。当很多元件和从元件连接时,也能使用这个协议。协议支持使用具有相同设置共享总线的
24、多个数据流,允许建立一个互联结构,这个结构能够执行扩展、压缩和路由操作。,AMBA AXI4协议-AXI4-Stream功能,写响应通道,主接口,写数据,写数据,写数据,写数据,从接口,写数据通道,AMBA AXI4协议-AXI4-Stream功能,AMBA AXI4协议-AXI4-Stream功能,NCO,X,例子:数字上变频器,交织滤波器,I,Q,没有地址的概念空闲运行的数据(在这种情况下)在这种条件下,AXI4-Stream应该优化成非常简单的接口,结果,在DSP系统中的所有接口都是“流”接口,Hardware Design,AMBA AXI4协议-AXI4-Stream功能,PCIe,
25、以太网,任何可封装的,使用协议的流接口可能是电气特性兼容的,但是彼此之间不能进行互相操作这些包包含不同的信息典型的需要创建一些“桥”逻辑。对于 AXI4-Stream,TRD的连接说明了这点,在PCIe核内的”用户”接口可以是”流”,但是数据被封装”,例子:PCI Express,Streaming Interface,User Logic/Bridge/etc,Hardware Design,MicroBlaze软核处理器原理-MicroBlaze软核处理器结构(V8.0),可选择的配置,指令一侧总线接口,数据一侧总线接口,MicroBlaze软核处理器原理-MicroBlaze软核处理器结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 何宾Tel13911127536 emailhebinmail.buct.edu.cn 版权所有,禁止未经授权的商业使用行为 Tel13911127536 e
链接地址:https://www.31ppt.com/p-5012807.html