1.87k likes | 2.05k Views
版权所有,禁止未经授权的商业使用行为. 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn. 北京中教仪装备技术有限公司. 培训内容. Xilinx 片上可编程系统设计导论 MicroBlaze 处理器原理 EDK 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 EDK10.1 和 MicroBlaze 处理器的设计流程. 片上可编程系统设计实验 -- 实验内容. 介绍EDK10.1SP3软件的使用方法和设计流程。 在介绍这部分内容时 ,使用 HEP 的竞赛平台 EXCD-1 。
E N D
版权所有,禁止未经授权的商业使用行为 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn 北京中教仪装备技术有限公司
培训内容 • Xilinx片上可编程系统设计导论 • MicroBlaze处理器原理 • EDK工具概述 • 操作系统(OS)及板级支持包(BSP)概述 • 基于EDK10.1和MicroBlaze处理器的设计流程
片上可编程系统设计实验--实验内容 介绍EDK10.1SP3软件的使用方法和设计流程。 在介绍这部分内容时,使用HEP的竞赛平台EXCD-1。 该内容主要包括: • 1. 工程的建立; • 2. 添加IP到硬件设计; • 3. 添加定制IP到系统; • 4. 编写应用程序; • 5. 使用SDK工具; • 6. 设计的软件和硬件调试等部分。
片上可编程系统设计实验--实验内容 特别注意: 在开始使用XILINX的EDK软件开始片上可编程系 统开发前,需要将光盘中的名为HEP_excd2-500的板支 持包文件夹复制到 D:\Xilinx\10.1\EDK\board\Xilinx\boards下
实验一:工程的建立--BSB向导概念 BSB向导帮助设计人员快速建立一个嵌入式系统工 程。对于更复杂的工程,BSB向导提供基本的系统,通过 这个系统设计人员可以定制完成嵌入式设计。为了高效率 的建立工程,Xilinx推荐使用BSB向导。
实验一:工程的建立--BSB向导概念 基于设计人员选择的板子,设计人员通过BSB选择 并配置基本的元素,比如:处理器类型、调试接口、缓存 配置、存储器类型和大小、外设等。 对于BSB不支持的目标系统,设计人员可以选择定制 板选项。使用这个选项时,必须指定未来板子的硬件, 并且要给出用户约束文件UCF。 如果选择的是支持的目标板,BSB向导自动的加入 UCF文件。当退出BSB时,BSB所建立的MHS和MSS文 件自动加入到XPS工程中,设计人员能在XPS中进行更进 一步的设计。
实验一:工程的建立--BSB向导概念 BSB可以根据设计人员的要求产生一个或多个软件 工程。每个工程包含能运行在硬件目标开发板上的简单 的应用程序和链接脚本。
MDM ICON IBA LMB BRAM CNTLR LMB BRAM CNTLR BRAM GPIO UART PLB Timer INTC MicroBlaze Flash LEDs EMC CNTLR SRAM Switch MYIP 实验一:工程的建立--设计结构原理 右图给出所设计系统的完整结构。所有实验流程都是基于这个设计结构完成的。
实验一:工程的建立--使用BSB向导 工程信息保存在XMP工程文件中。XMP文件包含: 这个文件也包含FPGA的家族结构和类型。这部分主 要介绍EDK处理嵌入式设计的控制细节。 • MHS文件; • MSS文件; • C代码; • 头文件;
实验一:工程的建立--使用BSB向导 在Windows操作系统下,选择所有程序->Xilinx ISE Design Suite10.1->EDK->Xilinx Platform Studio(XPS)。打开EDK软件。 • 1)打开XPS,在XPS主界面选择File->New Project,出现下图界面。选择Base System Builder Wizard (recommend),然后单击ok按钮。
实验一:工程的建立--使用BSB向导 • 2)事先在某个目录下新建一个工程,用来存放例子的工程文件(比如本设计在E盘新建一个工程文件夹E:/labs/lab)。点击前页图所示的Browse按钮,定位到该工程文件夹下,默认的工程名为system.xmp。当完成后,单击ok。 • 3)出现如下图所示的Base System Builder-Welcome界面,选择Creat a new project。点击Next按钮。
实验一:工程的建立--使用BSB向导 • 4)如下图所示,出现Base System Builder-Select Board界面,在Board Vendor下拉框中选择Hep,在Board Name下拉框中选择Hep EXCD 2-500 Board 。在Board Revision下选择C(唯一选项),点击Next。
选择需要实验板子 实验一:工程的建立--使用BSB向导
实验一:工程的建立--使用BSB向导 • 5)出现Base System Builder-Select Processor界面, 在Processor下选择MicroBlaze,单击Next。 • 6)出现下图所示的Base System Builder-Configure MicroBlaze Processor界面。
配置MicroBlaze界面 实验一:工程的建立--使用BSB向导 • Reference clock frequency: • 50.00MHz • Processor-bus Clock Frequency: • 50MHz • Processor configuration Debug I/F: • On-chip H/W debug module • Local Data and Instruction Memory: • 8KB • Cache Setup: • unchecked 上面的设置完成后单击 “Next”。
实验一:工程的建立--使用BSB向导 • 7)出现图所示的Base System Builder-Configure I/O Interfaces(1/2)界面和2/2界面,在这两个界面下只配置RS232_PORT,其余选项不选。给出下面的配置选项: • Peripheral:XPS_UARTLITE • Bandrate (bits per seconds):9600 • Data bits:8 • Parity:NONE
实验一:工程的建立--使用BSB向导 串口设置
实验一:工程的建立--使用BSB向导 多通道外部存储器控制器 存储器类型选择
实验一:工程的建立--使用BSB向导 • 11)出现Add Internal Peripheral界面后,不做任何操 作,点击Next按钮。 • 12)出现图Base System Builder-Software Setup界面, 在该界面不选择 Peripheral Selftest选项,点击Next按钮。
标准输入/输出,启动存储器设置 图 Software Setup界面 实验一:工程的建立--使用BSB向导
指令存储器控制器 数据存储器控制器 堆栈存储器控制器 图 配置存储器测试应用界面 实验一:工程的建立--使用BSB向导 • 13)出现图Base System Builder-Configure Memory Test Appication界面,点击Next按钮。
图 系统建立对话框 实验一:工程的建立--使用BSB向导 • 14)出现图所示的Base System Builder-System Created对话框,单击Generate按钮。
实验一:工程的建立--使用BSB向导 • 15)出现Base System Builder-Finish界面,单击Finish按钮。
实验一:工程的建立--新建工程的结构分析 • 在创建过程完成后,在XPS主窗口出现图System Assembly view1界面,该界面显示了系统中的外设和总线,以及系统的连接关系。 • 1.单击系统中每个外核模块旁的‘+’,将其展开可 • 以看到每个模块的详细的参数设置。比如外设和总线模块的连接关系: • debug_module与mb_plb总线连接; • dlmb_cntrl与dlmb总线连接; • RS232_PORT与mb_plb总线连接;
所用IP核及资源 实验一:工程的建立--新建工程的结构分析 图 System Assembly view界面
实验一:工程的建立--新建工程的结构分析 • 2.点击Bus Interfaces旁边的Port标签,并展开每个IP实例旁的‘+’,将其展开,可以看到IP端口所连接的网络。比如: • 1)RS232_PORT的RX与网络fpga_0_RS232_PORT_RX 连接; • 2)RS232_PORT的TX与网络fpga_0_RS232_PORT_TX 连接;
实验一:工程的建立--新建工程的结构分析 • 3.点击Address标签,查看每个外设模块分配的基地 址(Base address)和高地址(High address)空间: • 1)RS232_PORT基地址为:0x84000000,高地址为: 0x8400ffff • 2)dlmb_cntrl的基地址为:0x00000000,高地址为: 0x00001fff • 3)ilmb_cntrl的基地址为:0x00000000,高地址为: 0x00001fff • 4) Micron_RAM的基地址为:0x84100000,高地址 为:0x841fffff
实验一:工程的建立--新建工程的结构分析 • 4.在主界面下选择Hardware ->Generate Netlist,或 者在工具栏中单击 图标,查看工程目录下所创建的子目录 有:_xps,blkdigram,data,etc,hdl,implementation, pcores,microblaze_0,systhesis,TestApp_Memory。
实验一:工程的建立--新建工程的结构分析 • 5.单击Block Diagram标签,打开块图,如图观察设计中所用到的不同的元件。
实验一:工程的建立--新建工程的结构分析 • 6. 在XPS主界面的左侧项目管理界面下,单击 Project标签,然后单击Project File旁边的‘+’,双击mhs Files: system.mhs来打开该文件。 硬件平台的描述被包含在MHS文件中。MHS文件是表 示所设计的嵌入式系统的硬件元件的最主要文件。MHS文 件以ASCII码形式存在。
实验一:工程的建立--工程的下载 产生比特流文件并且下载到板子上。在下载前,指 令存储器(FPGA的BRAM)将被更新(使用GNU编译器 产生可执行的文件)。 使用下面的步骤完成设计下载和结果的观察: • 连接Hep EXCD -1的串口到主机的串口(如果主机 无串口,可以通过USB-串口转换器来提供串口) • 打开目标板的电源 • 打开主机的超级终端(在Windows操作系统的开始 ->所有程序->附件->通信下),并且配置其参数,使其波特 率9600,数据位:8比特;无奇偶校验;一个停止位;无流 量控制。
图 超级终端的输出界面 实验一:工程的建立--工程的下载 • 产生XPS主界面下选择Hareware->Generate Bitstream菜单,产生比特流文件; • 产生XPS主界面下选择Device Configuration- >Download Bitstream,完成下载过程,在下图将看到下面 的界面。
实验二:添加IP到硬件设计--实验内容 该节通过XPS将为一个已经存在的处理器系统添加额 外的IP。从IP Catalog标签添加GPIO外设和Hep EXCD板子 的8位LED灯连接。当建立完成后,产生比特流,并对外 设进行测试。
实验二:添加IP到硬件设计--打开工程 创建lab2文件夹,并且复制lab1文件夹的内容到lab2。 启动XPS,并且打开工程文件。 • 1.在E:\labs目录下,创建lab2文件夹,并且从文件夹lab1复制内容到文件夹lab2; • 2.在开始->所有程序->Xilinx ISE Design Suite 10.1->Platform Studio->Xilinx Platform Studio,打开XPS; • 3.选择打开已经存在的工程(Open project),定位到E:\labs \lab2; • 4.点击system.xmp打开工程。
实验二:添加IP到硬件设计--添加和配置GPIO外设实验二:添加IP到硬件设计--添加和配置GPIO外设 通过System Assbmbly View窗口(XPS主界面的左边 的工程管理窗口)从IP catalog to标签下添加一个XPS GPIO 外设实例。 XPS提供了两种添加外设到已经存在工程的方法。在 这里使用第1种方法,在XPS的主界面添加IP核;另一种方 法是手工编辑MHS文件。 • 1.如下图所示,在XPS的主界面左面的窗口中选择 IP Catalog标签,并且点击General Purpoe IO旁的‘+’,展开 该选项。
图 添加IP核后的XPS的主界面 实验二:添加IP到硬件设计--添加和配置GPIO外设 • 2.双击XPS General Purpose IO,添加一个实例XPS • 主界面。
实验二:添加IP到硬件设计--添加和配置GPIO外设实验二:添加IP到硬件设计--添加和配置GPIO外设 • 3.将实例名字改为LEDs_8Bit(通过在名字栏点击一次,输入名字即可)。 • 4.如下图,单击Bus Connection栏下的LEDs_8 Bit实例,将其作为从设备连接到PLB,选择mb_plb。
图 添加总线连接到外设 实验二:添加IP到硬件设计--添加和配置GPIO外设
实验二:添加IP到硬件设计--添加和配置GPIO外设实验二:添加IP到硬件设计--添加和配置GPIO外设 • 5.选择Addresses过滤器,可以为外设手工分配基 地址和外设的大小或者让XPS产生地址。 • 6.点击Generate Addresses(位于该行标签的最右 边),自动的为系统的外设产生基地址和高地址。下图给 出了外设的存储器映射图。
实验二:添加IP到硬件设计--添加和配置GPIO外设实验二:添加IP到硬件设计--添加和配置GPIO外设 图 外设的存储器映射图
实验二:添加IP到硬件设计--添加和配置GPIO外设实验二:添加IP到硬件设计--添加和配置GPIO外设 在板子上有8个LED灯,可以通过下面操作将8个LED 灯连接到FPGA的指定端口上。 • 1.在XPS的主界面下选择port标签; • 2.双击LEDs_8Bit实例来访问配置窗口;该外设有两个通道可以配置,但只配置一个,另外一个不被选中。 • 3.如下图所示,点击GPIO Data Channel Width箭头,将其设置为8,表示使用板上的8个LED灯。
GPIO数据宽度选择 GPIO支持中断选择 图 GPIO的参数配置 实验二:添加IP到硬件设计--添加和配置GPIO外设
输入选择 双向选择 数据输出默认值 三态输出默认值 图 可配置的参数界面 实验二:添加IP到硬件设计--添加和配置GPIO外设 • 4.如下图所示,下一步点击channel1,设置channel 1 is Bi-directional为false,并且channel1 is input only为false,点击ok。
实验二:添加IP到硬件设计--产生外部GPIO连接 连接LEDs_8Bit实例与Hep EXCD -1板上的8个LED 灯。为了实现这个目的必须建立GPIO数据端口作为外部 的FPGA的引脚,并使用UCF文件将其分配到FPGA正确的 位置上。下面给出了实现这一目标的步骤: • 1.将LEDs_8Bit实例的GPIO_d_out端口设置为 make External。
实验二:添加IP到硬件设计--产生外部GPIO连接 如下图,LEDs_8Bit实例和FPGA的引脚连接。
实验二:添加IP到硬件设计--产生外部GPIO连接 • 2.在Project标签下,点击UCF File文件,添加代码为LEDs_8Bit分配FPGA上的物理引脚(从source目录拷贝lab2 .ucf)。代码如右图所示。
实验二:添加IP到硬件设计--产生外部GPIO连接 • 3.保存ucf文件 打开system.mhs文件,对该文件进行分析。然后双击 system.mhs文件,打开它,对其外部特性进行分析: