欢迎来到163文库! | 帮助中心 精品课件PPT、教案、教学设计、试题试卷、教学素材分享与下载!
163文库
全部分类
  • 办公、行业>
  • 幼教>
  • 小学>
  • 初中>
  • 高中>
  • 中职>
  • 大学>
  • 各类题库>
  • ImageVerifierCode 换一换
    首页 163文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第5章.ppt

    • 文档编号:7944986       资源大小:5.23MB        全文页数:179页
    • 资源格式: PPT        下载积分:15文币     交易提醒:下载本文档,15文币将自动转入上传用户(momomo)的账号。
    微信登录下载
    快捷注册下载 游客一键下载
    账号登录下载
    二维码
    微信扫一扫登录
    下载资源需要15文币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    优惠套餐(点此详情)
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、试题类文档,标题没说有答案的,则无答案。带答案试题资料的主观题可能无答案。PPT文档的音视频可能无法播放。请谨慎下单,否则不予退换。
    3、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者搜狗浏览器、谷歌浏览器下载即可。。

    《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第5章.ppt

    1、第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.1 基于基于FSL体系的多核系统设计体系的多核系统设计5.2 基于基于Mailbox体系的多核系统设计体系的多核系统设计5.3 基于基于Mutex体系的多核系统设计体系的多核系统设计5.4 基于基于Interrupt体系的多核系统设计体系的多核系统设计5.5 基于基于Shared Memory体系的多核系统设计体系的多核系统设计5.6 本章小结本章小结 第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 首先给出Microblaze之间的连接方式图,如图5.1.1所示,在阐述其间四核通信模式的同时,也对相应外围

    2、设备做出必要说明。5.1 基于基于FSL体系的多核系统设计体系的多核系统设计 第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.1 Microblaze之间的连接方式图第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.1.1 建立单核硬件系统建立单核硬件系统建立单核硬件系统的具体步骤如下:(1)运行Xilinx Platform Studio软件,利用BSB向导建立一个基于Virtex2Pro的工程,选择Microblaze处理器,处理器的总线频率为100 MHz,具体步骤如下:打开Xilinx Platform Studio软件,选择BSB向导建

    3、立一个单核工程,点击OK按钮。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.2 利用BSB向导创建一个XPS工程第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 在Create New XPS Project Using BSB Wizard窗口(见图5.1.2)中输入文件存放路径,和ISE环境相同,切忌在路径中包含中文或空格等字符。进入Base System Builder-Welcome窗口,选择“I would like to create a new design”选项后,点击Next按钮。在图5.1.3下的Select board窗口中对

    4、选用的板型进行正确选择,由于本文采用ML310示范板,因而在提供的Board name中能够找到这款板型。更多的时候往往采用用户自定义的开发板,它和官方发布的开发板不尽相同,这时就只能选择“I would like to create a system for a custom board”。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.3 板型选择界面第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 出现如图5.1.4所示的Select Processor窗口,选择所使用的处理器。在Configure MicroBlaze Processor窗口

    5、中,主要是时钟频率的选用以及Local Memory的大小选择。对于未用到的逻辑单元,如FPU浮点运算尽量不选用,以减少片上资源的浪费。相关设置信息如图5.1.5所示,完成后点击Next按钮。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.4 处理器选择界面第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.5 时钟频率以及启动内存的选择第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(2)选择相应的外围设备,并对各个选用设备进行适当的参数配置。在Configure I/O Interfaces窗口中,仅选择需要用到的外设,以

    6、减少资源浪费。这里选用RS232串口打印,以便后期在PC机上能够从终端通过观察核间通信的信息来验证通信系统是否正常运行。串口的波特率、数据位长度、奇偶校验位等采用默认设置即可,如图5.1.6所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 连续三次点击Next按钮,当出现Add Internal Peripherals窗口时,点击Next按钮跳过即可,本文不涉及需要额外添加的外围设备。进入Software Setup窗口,如图5.1.7所示,根据需要选择输入/输出标准以及启动内存所存放的空间。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.6

    7、串口设置信息的选择界面第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.7 有关软件设置的选择界面第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 在弹出的Configure Memory Test Application窗口中内容按照默认设置即可,点击Next按钮进入System Created窗口,然后点击Generate按钮。在后续窗口中点击Finish按钮。经过上述步骤,一个简单的单核系统就建立了。如图5.18所示为该系统框图,图5.1.9、图5.1.10、表5.1.1所示为System Assembly View相关视图及相关信息。第第5章章

    8、 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.8 单核系统创建第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.9 System Assembly View视图的总线连接第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.10 System Assembly View视图的端口连接第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 表表5.1.1 System Assembly View视图的地址空间分配视图的地址空间分配实例 名称 基址 高址 大小 dlmb_cntlr C_BASEADDR 0 x00000

    9、000 0 x00001fff 8 KB ilmb_cntlr C_BASEADDR 0 x00000000 0 x00001fff 8 KB debug_module C_BASEADDR 0 x84400000 0 x8440ffff 64 KB mb_plb C_BASEADDR N/A N/A N/A RS232_Uart C_BASEADDR 0 x84000000 0 x8400ffff 64 KB 第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.1.2 EDK工程中创建自定义工程中创建自定义FIFOEDK工程中创建自定义FIFO的具体步骤如下:(1)在Har

    10、dware下选择Create and Import Peripheral Wizard,进入Welcome界面,点击Next按钮。(2)选择Create templates for a new peripheral选项。如果在其他XPS工程中有已实现的完整IP核,可以通过“Import existing peripheral”选项,然后利用关联文件(如PAO文件)将其导入EDK下的工程中。创建和导入IP核的向导界面如图5.1.11所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.11 创建和导入IP核的向导第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件

    11、设计实线(3)连续点击两次Next按钮,弹出Name and Version窗口,如图5.1.12所示,在该窗口下输入IP核的名称以及版本,完成后点击Next按钮。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.12 自定义IP核的名称和版本设置第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(4)在出现Bus Interface窗口后,选择IP核选用的总线类型,这里为FSL。(5)弹出FSL Bus Interface Settings窗口,如图5.1.13所示,其中有关FSL接口的输入/输出选用1即可。第第5章章 多核嵌入式系统硬件设计实线多核嵌

    12、入式系统硬件设计实线 图5.1.13 FSL总线接口的相关设置第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(6)弹出OPTIONAL窗口,在该窗口中不作改动,当使用Verilog实现逻辑设计时应该选中选项,本实验采用VHDL语言来实现,故不选。(7)在Driver Settings窗口中采用默认设置,点击Next按钮,再点击Finish按钮。文件目录树如图5.1.14所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.14 EDK工程目录下存放的文件树结构第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 当所有步骤实施之后,XP

    13、S工程的IP Catalog下会出现自定义的IP核,如图5.1.15所示。双击fifo_link即可将自定义的IP核添加到工程中。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.15 自定义IP核导入成功后出现于IP Catalog可选项中第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.1.3 利用利用ISE设计自定义设计自定义FIFO本实验之所以要创建自定义FIFO,其原因在于FSL总线的主从端口之间并不能直接相连,需要一个类似于FIFO一样的透传容器来过渡。自定义FIFO本身并不具有任何复杂的逻辑设计,只是单纯实现了数据的传送与接收,具体的

    14、设计步骤与流程已经在2.2节给出,按照书中介绍的设计流程,在E:fsl_multiprocessorpcoresFifo_link_v1_00_adevlprojnav中打开ISE工程进行设计。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.1.4 添加多添加多MB,搭建多核系统,搭建多核系统添加多MB搭建,多核系统的具体步骤如下:(1)首先利用BSB向导创建双核的工程。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 先建双核的工程,即在IP Catalog中通过双击添加Microblaze_1、LMB总线(ilmb_1、dlmb_1)、内存块(lmb_

    15、bram_1)、内存控制器(dlmb_cntlr_1、ilmb_cntlr_1)、fifo01和FSL总线(fsl0m、fsl0s、fsl1m、fsl1s)建立好双核之间的通信,后续的MB2和MB3的添加以此类推。双击Microblaze0和Microblaze1进入属性框,设置两个处理器支持FSL接口,因为默认情况下不会开放FSL接口。如果Number of FSL Links设置为1,则表示开放一对FSL接口。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 在System Assembly View面板的Bus Interfaces下为新增加的各个IP核连接总线端口,以确

    16、保正确组件之间在架构上是互连的,如图5.1.16所示。在Ports下新增IP核的端口连线设置,如图5.1.17所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.16 System Assembly View面板下的总线连接第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.17 System Assembly View面板下的端口连接第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 在Address下为其设置内存地址空间,如图5.1.18所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.18

    17、 System Assembly View面板下的内存空间地址设置第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(2)按照(1)中的设计步骤继续添加Microblaze2和Microblaze3,最终设计出的Block Diagram图如图5.1.1所示。完整设计后的System Assembly View下的相关信息,如图5.1.19及表5.1.2所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.19 System Assembly View面板下的总线连接图第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 表表5.1.2 S

    18、ystem Assembly View面板下的地址空间分配面板下的地址空间分配 实例 名称 基址 高址 大小 dlmb_cntlr0 C_BASEADDR 0 x00000000 0 x0000ffff 64 KB dlmb_cntlr1 C_BASEADDR 0 x00000000 0 x00001fff 8 KB dlmb_cntlr2 C_BASEADDR 0 x00000000 0 x00001fff 8 KB dlmb_cntlr3 C_BASEADDR 0 x00000000 0 x00001fff 8 KB ilmb_cntlr0 C_BASEADDR 0 x00000000 0

    19、 x0000ffff 64 KB ilmb_cntlr1 C_BASEADDR 0 x00000000 0 x00001fff 8 KB ilmb_cntlr2 C_BASEADDR 0 x00000000 0 x00001fff 8 KB ilmb_cntlr3 C_BASEADDR 0 x00000000 0 x00001fff 8 KB debug_module C_BASEADDR 0 x41400000 0 x4140ffff 64 KB sysACE_CF C_BASEADDR 0 x41800000 0 x4180ffff 64 KB RS232_Uart C_BASEADDR

    20、0 x40600000 0 x4060ffff 64 KB DDR_256M C_MEM0_BASEADDR 0 x30000000 0 x3fffffff 256 MB 第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.1.5 添加测试核间通信的程序添加测试核间通信的程序搭建了四核通信体系后,通过核上应用程序的简单测试来验证通信机制是否可行。验证的步骤如下:(1)在XPS菜单Software下选择“Add Software Application Project”,弹出如图5.1.20所示的窗口,输入工程名称,同时可选择处理器。第第5章章 多核嵌入式系统硬件设计实线多核嵌

    21、入式系统硬件设计实线 图5.1.20 软件应用程序的添加以及处理器选择第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(2)点击OK按钮,在Project Information Area工作区的Application下显示刚刚创建的工程,此时双击工程下的Sources和Headers分别添加C代码形式的源文件和头文件。测试代码如图5.1.21所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.21 Microblaze0上的测试代码第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(3)以同样的方式在核1、核2、核3上添加相应的工程

    22、文件,做到每个核在接收到上一个处理器的传送结果后,将其值加1再传给后续的核,最终核3将结果传回核0,核0读出数据值并于终端上打印出来,如图5.1.22所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.22 其他MB上的测试代码第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.1.6 下载比特流,配置下载比特流,配置FPGA1.编写编写UCF文件文件UCF文件即所谓的用户约束文件,用以告知编译器有哪些实现约束条件,最基本的如工程文件的输入/输出信号与FPGA管脚的管脚锁定约束,时序收敛设计中的时钟周期、偏移约束,工程实现的面积约束等等。在ISE

    23、开发平台下的UCF编写有两种方式:文本输入和带图形界面的PACE向导,而在XPS开发平台下只有文本输入方式。在本设计中,UCF文件的修改需要在system.ucf文件中加以编辑,如图5.1.23所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.23 UCF文件的编辑第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 2.下载比特流,配置下载比特流,配置FPGA配置FPGA方式有很多种,常用的是利用XPS中自带的配置方式(如图5.1.24所示),选择Download Bitstream功能,使用JTAG下载线(开发板的JTAG配置口与PC机USB口相

    24、接)直接以比特流形式配置FPGA,配置用的比特流文件同时也是Xilinx公司用于配置FPGA方式的特色之一。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.24 XPS自带配置方式 第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 注意在这种配置模式下,首先要确保工程文件被标识为内存初始化,否则处理器不会装载应用程序,更不会为此工程文件生成比特流。初始化内存成功的表现为工程前面的红叉消失,选中“Mark to initialize BRAMs”选项,如图5.1.25所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.25

    25、 初始化启动内存块第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 打开Putty工具,该工具用于模拟通信终端,选择合适的端口(确保USB口转串口线正确连接,可在设备管理器中查找到具体是哪个端口用于串口通信)和波特率,在添加RS232时采用默认配置,即9600波特率。选用串口类型、端口COM4、速率等级9600,以便下次使用,以com4_9600作为名称进行存储,双击com4_9600,如图5.1.26所示。打开iMPACT工具,双击Boundary Scan选项。右键单击Initialize Chain选项,进行初始化链的操作,如图5.1.27所示。确保JTAG线与开发板、电

    26、脑正确相连。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.26 利用Putty工具进行的终端设置第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.27 初始化链的操作第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 初始化链成功之后选择使用比特文件对FPGA进行配置,总共存在三个器件,分别为xcf32p、xccace、xc2vp30,前两者并非是所选用的器件类型,直接点击Bypass按钮跳过即可。而xc2vp30的配置文件存放于工程目录的implementation下,即download.bit文件,如图5.1.28所示选

    27、中该文件,点击Open按钮即可。注意:因修改问题在撰写书籍时将该工程移到E:second_trunk下,读者可在E:fsl_multiprocessorimplementation下找到download.bit文件。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.28 对芯片器件进行配置第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 在弹出的对话框中不必做任何改动,点击OK按钮跳过即可。如果有诸如BMM(Block Memory Map)、Power PC Software等文件,亦可以通过添加这些文件来配置FPGA。右键单击xc2vp30,选择P

    28、rogram对FPGA进行现场编程,如图5.1.29所示。编程的一些属性设置采用默认即可,点击OK按钮。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.29 对xc2vp30器件进行现场编程第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 配置成功后会在器件下方显示编程成功的信息,如图5.1.30所示,并且Putty终端中会打印出信息,如图5.1.31所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.30 FPGA利用iMPACT工具配置成功第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.3

    29、1 终端打印结果第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(2)基于SystemACE的配置模式。同样先打开iMPACT工具,双击SystemACE,默认Novice的设置,点击Nxet按钮即可。弹出CF卡大小设置的窗口,如图5.1.32所示。由于设计中采用的CF卡为2G的存储空间,故Size选择Generic,点击Next按钮继续。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.32 CF卡大小设置窗口第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 命名包含配置文件的文件夹(try_1),给出其存储位置(F:/downloa

    30、d_bit)。在如图5.1.33窗口中,选择配置块地址,在Vitex-II上惯用的是rev0区域,点击Next按钮,接着点击完成按钮。完成之后,弹出如图5.1.34的有关地址段的配置窗口。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.33 配置地址空间的选择第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.34 地址段的配置窗口第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 点击OK按钮,出现文件选择框,如图5.1.35所示,和Boundary Scan配置模式类似,同样是用工程implementation下的downl

    31、oad.bit进行配置。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.35 download.bit配置文件的选择第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 点击打开按钮后,弹出下一个对话框,点击OK按钮。出现询问是否有其他设计文件要对FPGA进行配置的窗口时,直接点击NO按钮即可。用读卡器将CF卡连接到PC机上。右键单击xc2vp30器件,选择Copy To Compact Flash,如图5.1.36所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.1.36 将配置文件拷贝到CF卡中第第5章章 多核嵌入式系统硬

    32、件设计实线多核嵌入式系统硬件设计实线 选中try_1,点击Add to CF选项将其添加到右侧框内,然后点击Copy to CF按钮,等待配置文件的拷贝完成。点击OK按钮,删除CF设备,在FPGA断电的情况下,将CF卡正确安装到插槽中,完成后通过Putty工具开一个终端。给Viterx-II上电,当标志为DONE的显示灯亮了以后(红色),说明比特流已经成功配置上,此时终端将显示和Boundary Scan模式下一样的输出结果。终端中的打印信息如图5.1.31所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 本实验旨在搭建一个基于Mailbox体系的双核系统,该系统的大致框

    33、架图如图5.2.1所示。其中MB0和MB1分别挂在不同的PLB总线上,有利于充分利用总线的带宽。同时MB0与MB1之间通过PLB2PLB_Bridge实现UART资源共享,通过Mailbox实现核间的通信。5.2 基于基于Mailbox体系的多核系统设计体系的多核系统设计第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.1 基于Mailbox机制的多核系统模块图第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.2.1 建立单核硬件系统建立单核硬件系统该过程和5.1.1节中介绍的一样,可以参见2.3节的设计流程。在此实验中,利用BSB向导建立单核硬件

    34、系统时,所需要添加的外设暂时只有Uart_RS232和MDM调试模块,其中UART的波特率设定为9600,奇偶校验位设置为0,无流控制。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.2.2 添加添加Mailbox核核从IP Catalog的Interprocessor Communication选项中选择XPS Mailbox,如图5.2.2所示,双击该IP核将其添加到EDK工程中。其中Mailbox是Xilinx公司提供的一套集成的用于核间通信的IP核。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.2 添加XPS Mailbox IP核第

    35、第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.2.3 添加添加MB1,搭建双核系统,搭建双核系统添加MB1,搭建双核系统的具体步骤如下:(1)添加MB1以及所需要的相应内存、内存控制器、控制总线等,步骤如下:在Project Information Area工作区的IP Catalog下分别添加dlmb_1、ilmb_1、microblaze_1、ilmb_cntlr_1、dlmb_cntlr_1、lmb_bram_1、mb_plb_1到单核工程。在IP Catalog的Bus and Bridge菜单下添加plbv46_plbv46_bridge到EDK工程,如图5.2

    36、.3所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.3 Bridge的添加第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 双击debug_module,对其参数进行配置,将Number of MicroBlaze debug ports的个数设置为2,如图5.2.4所示,设置完毕后点击OK按钮。双击Microblaze1模块,对其Debug栏下的参数做出调整,选中Enable MicroBlaze Debug Module Interface选项,如图5.2.5所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.

    37、4 debug_module的参数设置第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.5 Microblaze1的参数设置第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(2)对各个IP核实现正确的总线连接,内存地址分配等,实现双核通信系统的完整创建,其步骤如下:在Bus Interface下对microblaze1进行正确的总线连接,如图5.2.6所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.6 Microblaze的总线连接第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 具体设置dlmb_cn

    38、tlr_1、ilmb_cntlr_1以及lmb_bram_1的各总线连接,无下拉栏的设置框为手动输入,如图5.2.7所示。对Mailbox进行正确的总线连接,如图5.2.8所示。System Assembly View面板下的总线连接如图5.2.9所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.7 内存及其控制器的总线连接第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.8 Mailbox的总线连接第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.9 System Assembly View面板下的总线连接第

    39、第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 进入Ports端口,对其进行相应的端口连接,如图5.2.10所示。进入Address栏下,进行必要的内存地址分配,如表5.2.1所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.10 System Assembly View面板下的端口连接第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 表表5.2.1 System Assembly View面板下的空间地址设置面板下的空间地址设置实例 名称 基址 高址 大小 dlmb_cntlr0 C_BASEADDR 0 x00000000 0

    40、 x00001fff 8 KB dlmb_cntlr1 C_BASEADDR 0 x00000000 0 x00001fff 8 KB ilmb_cntlr0 C_BASEADDR 0 x00000000 0 x00001fff 8 KB ilmb_cntlr1 C_BASEADDR 0 x00000000 0 x00001fff 8 KB debug_module C_BASEADDR 0 x41400000 0 x4140ffff 64 KB mb_plb_0 C_BASEADDR N/A N/A N/A mb_plb_1 C_BASEADDR N/A N/A N/A RS232_Uart

    41、 C _BASEADDR 0 x84000000 0 x8400ffff 64 KB plb2plb_bridge C_BRIDGE_BASEADDR 0 x85000000 0 x85000003 4 plb2plb_bridge C_RNG0_BASEADDR 0 x84000000 0 x8400ffff 64 KB plb2plb_bridge C_RNG1_BASEADDR N/A N/A N/A plb2plb_bridge C_RNG2_BASEADDR N/A N/A N/A plb2plb_bridge C_RNG3_BASEADDR N/A N/A N/A xps_mail

    42、box_0 C_SPLB0_BASEADDR 0 x81E00000 0 x81E000FF 256 xps_mailbox_0 C_SPLB1_BASEADDR 0 x81E00000 0 x81E000FF 256 第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.2.4 添加核间通信测试程序添加核间通信测试程序添加核间通信测试程序的具体步骤如下:(1)利用Software下的Add Software Application Project向导编写核间通信测试程序,具体步骤如下:选择菜单Software Add Software Application Project,

    43、分别在microblaze0和microblaze1上建立应用工程prodcon0和prodcon1,如图5.2.11和图5.2.12所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.11 microblaze0上的应用程序建立第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.12 microblaze1上的应用程序添加第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 双击Project:prodcon0下的sources选项,为其添加源文件prodcon.c,点击浏览至E:workembeddedxupvprosour

    44、ces,找到prodcon.c文件,如图5.2.13所示,点击打开按钮。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.13 添加源文件prodcon.c第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 与步骤类似,双击Project:prodcon1下的sources选项,为其添加源文件prodcon.c和data.c,由于采用了条件编译,所以两个处理器上运行的是同一份C程序文件,执行的是文件中的不同代码段。主要代码如图5.2.14所示。其中data.c只定义了一段大小为4096字节的用于核间通信的数据。第第5章章 多核嵌入式系统硬件设计实线多核嵌

    45、入式系统硬件设计实线 图5.2.14 prodcon.c测试代码第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线(2)修改MSS文件,用于在终端中验证双核之间的交互。默认情况下,主核的操作系统支持RS232_Uart,在microblaze1的OS说明下再加上支持RS232_Uart的代码才能使得MB1也能调用串口打印功能,如图5.2.15所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.15 为microblaze1添加串口支持的代码第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.2.5 下载比特流,配置下载比特流,配置F

    46、PGA下载比特流,配置FPGA的操作步骤如下:(1)正确连接Virtex2Pro开发板,并给开发板上电。(2)打开Putty工具或是建立一个超级终端,注意参数的设置和UART相同,9600的波特率,无奇偶校验位,无数据流控制。(3)对于需要运行的应用程序,右键单击选中以初始化内存块。(4)在Device Configuration中点击下载比特流,配置FPGA。(5)基于阻塞型代码的测试,终端打印结果如图5.2.16所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.16 基于阻塞型函数的Mailbox测试程序结果第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系

    47、统硬件设计实线(6)基于非阻塞型代码的测试,终端打印结果如图5.2.17所示。在一个for循环体内,CPU0连续5次将data数据传递给CPU1,CPU1成功接收到数据后会打印出“Success!”信息。这里需要说明的一点是,data在C文件中的定义是extern char data,它是一个字节数为4096的数组。这也是核间通信数据为4096的原因所在。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.2.17 基于阻塞型函数的Mailbox测试结果第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 本实验旨在建立一个基于Mutex体系的双核系统,其大致框

    48、架图与基于Mailbox的体系非常类似,同样是利用Mutex进行核间数据的通信,利用Bridge共享外围设备,如UART资源,具体的系统框架图如图5.3.1所示。5.3 基于基于Mutex体系的多核系统设计体系的多核系统设计第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.3.1 基于Mutex机制的双核系统设计模块图第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.3.1 建立单核硬件系统建立单核硬件系统该过程与5.1.1节中的内容大致相同,利用BSB向导建立一个基于Microblaze的单核硬件系统,添加的外设暂时只有UART232,设置其波特率为

    49、9600,无奇偶校验位,无流控制位。Microblaze的时钟频率为100 MHz。另外,由于用到了Mailbox,读者可以考虑在实验5.2的基础上做进一步的实验。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 5.3.2 添加添加Mutex核核在该单核系统中添加Mutex核,其步骤如下:(1)在IP Catalog的下拉菜单中选择Interprocessor communication的XPS Mutex,双击该核添加进EDK工程,如图5.3.2所示。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.3.2 添加Mutex核第第5章章 多核嵌入式系统硬

    50、件设计实线多核嵌入式系统硬件设计实线(2)双击xps_mutex_0设置其属性,将Number of Available PLB Interfaces设置为2,因为本实验中Mutex横跨于两条PLB总线上,所以开放两个端口即可,如图5.3.3所示。再将Number of Mutexs设置为2,因为应用程序只涉及到两个互斥量,所以用户寄存器可同时使用,如图5.3.4所示。也可以关注一下,Mutex个数最多可设置为32个。第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线 图5.3.3 xps_mutex_0的参数设置 第第5章章 多核嵌入式系统硬件设计实线多核嵌入式系统硬件设计实线


    注意事项

    本文(《基于Xilinx FPGA的多核嵌入式系统设计基础》课件第5章.ppt)为本站会员(momomo)主动上传,其收益全归该用户,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!




    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库