所有培训资料均可从网站 http://bucteda.eefocus.com下载 何宾 Tel:13911127536 版权所有,禁止未经授权的商业使用行为 何宾 Tel:13911127536 email:hebin@mail.buct.edu.cn 所有培训资料均可从网站 http://bucteda.eefocus.com下载 北京中教仪装备技术有限公司
基于AXI4的可编程SoC系统设计 (下) 培训内容 Xilinx片上可编程系统设计导论 AXI4规范 MicroBlaze处理器原理 EDK13.1工具概述 操作系统(OS)及板级支持包(BSP)概述 基于MicroBlaze和AXI4的可编程SoC系统实现
片上可编程系统设计实验 --实验内容 介绍EDK13.1软件的使用方法和设计流程。 在介绍这部分内容时,使用捐赠的板卡Nexys3,该板卡 带有Xilinx最新一代的Spartan-6 FPGA芯片。
片上可编程系统设计实验 --实验内容 该内容主要包括: 1. 工程的建立; 2. 添加AXI4 IP到硬件设计; 3. 定制LED IP,并添加IP到系统,编写应用程序; 4. 定制7段数码管 IP,并添加IP到系统,编写应用程序; 5. 定制PWM IP,并添加IP到系统,编写应用程序; 6. 实现AXI4中断控制系统; 7. 使用AXI4 Chipscope实现系统协同调试。
片上可编程系统设计实验 --实验内容 特别注意: 在开始使用XILINX的EDK软件开始片上可编程系 统开发前,需要将光盘中AXI目录下名为Digilent_Nexys3 板支持包文件夹复制到: D:\Xilinx\13.1\ISE_DS\EDK\board\Xilinx\ipxact下
实验一:工程的建立 --BSB向导概念 BSB向导帮助设计人员快速建立一个嵌入式系统工 程。对于更复杂的工程,BSB向导提供基本的系统,通过 这个系统设计人员可以定制完成嵌入式设计。为了高效率 的建立工程,Xilinx推荐使用BSB向导。
实验一:工程的建立 --BSB向导概念 基于设计人员选择的板子,设计人员通过BSB选择 并配置基本的元素,比如:处理器类型、调试接口、缓存 配置、存储器类型和大小、外设等。 对于BSB不支持的目标系统,设计人员可以选择定制 板选项。使用这个选项时,必须指定未来板子的硬件, 并且要给出用户约束文件UCF。
实验一:工程的建立 --BSB向导概念 如果选择的是支持的目标板,BSB向导自动的加入 UCF文件。当退出BSB时,BSB所建立的MHS和MSS文 件自动加入到XPS工程中,设计人员能在XPS中进行更 进一步的设计。
实验一:工程的建立 --BSB向导概念 BSB可以根据设计人员的要求产生一个或多个软件 工程。每个工程包含能运行在硬件目标开发板上的简单 的应用程序和链接脚本。
实验一:工程的建立 --设计结构原理 下图给出所设计系统的完整结构。 M_AXI_DC M_AXI _DP MBDEBUG JTAG M_AXI_IC ILMB DLMB Microblaze LMB BRAM CNTLR AXI-MM EMC AXI-Lite M_AXI _DP Ethernet MYIP GPIO UART Timer INT CNTLR MDM MBDEBUG JTAG SRAM GMII LED DIP PUSH RS-232 图7.1 完整地系统结构 chipscope axi monitor 0
实验一:工程的建立 --设计结构原理 使用BSB建立的最小系统结构 JTAG ILMB DLMB MBDEBUG DIP PUSH Microblaze LMB BRAM CNTLR AXI-Lite M_AXI _DP GPIO UART MDM MBDEBUG JTAG DIP PUSH RS-232 使用BSB建立的最小系统结构
实验一:工程的建立 --使用BSB向导 在Windows操作系统下,选择所有程序->Xilinx ISE Design Suite13.1->EDK->Xilinx Platform Studio(XPS)。打 开EDK软件。 1)打开XPS,在XPS主界面选择File->New Project, 出现下图界面。选择Base System Builder Wizard (recommend),然后单击ok按钮。
实验一:工程的建立 --使用BSB向导 创建新的工程, 选择该选项 打开已经存在的工程, 选择该选项
实验一:工程的建立 --使用BSB向导 选择System.xmp文件 点击”Open”按纽
实验一:工程的建立 --使用BSB向导
实验一:工程的建立 --使用BSB向导 选择创建一个新的设计 点击”Next”按纽, 进入下一个界面
实验一:工程的建立 --使用BSB向导 这些信息来自XBD文件 板子的供应厂商选择Digilent 板子的名字选择Spartan-6 Nexys3 板子的版本选择 C 点击”Next”按纽, 进入下一个界面 这些信息来自XBD文件
实验一:工程的建立 --使用BSB向导 给出了AXI系统 的结构图
实验一:工程的建立 --使用BSB向导 点击”Next”按纽, 进入下一个界面
实验一:工程的建立 --使用BSB向导 开发板上给出的时钟频率:100MHz CPU的时钟频率:100MHz 使用FPGA内BRAM的大小:32KB 点击”Next”按纽, 进入下一个界面
实验一:工程的建立 --使用BSB向导 选中这三项,然后点击”Remove”,所 构建的最小系统不包括以太网控制 器,LED灯,SPI Flash 点击”Next”按纽, 进入下一个界面
实验一:工程的建立 --使用BSB向导 在该设计中没有使用高速缓存 点击”Next”按纽, 进入下一个界面
实验一:工程的建立 --使用BSB向导 每个IP的例化名字 已经给每个外设控制器分配了基地址和高地址 工程中所包含的文件 点击”Finish”按纽, 进入下一个界面
实验一:工程的建立 --使用BSB向导 debug_module与AXI_LITE接口连接; dlmb_cntrl与dlmb总线连接; RS232_PORT与AXI_LITE总线连接; 总线标签 所用IP核及资源 LMB控制器
实验一:工程的建立 --使用BSB向导 端口标签 S_AXI的端口连接 1)RS232_PORT的TX与网络RS232_Uart_1_sout连接; 2)RS232_PORT的RX与网络RS232_uart1_sin连接;
实验一:工程的建立 --新建工程的结构分析 实验一:工程的建立 --新建工程的结构分析 地址标签 基地址 高地址 大小地址
实验一:工程的建立 --新建工程的结构分析 BRAM LMB控制器 LMB控制器 处理器 点击块图标签查看生成的块图
实验一:工程的建立 --新建工程的结构分析 DIP控制器 串口控制器 按键控制器
实验一:工程的建立 --新建工程的结构分析 实验一:工程的建立 --新建工程的结构分析 在XPS主界面的左侧项目管理界面下,单击Project标签,然后单击Project File旁边的‘+’,双击mhsFiles: system.mhs来打开该文件。 硬件平台的描述被包含MHS文件中。MHS文件是表示所设计的嵌入式系统的硬件元件的最主要文件。MHS文件以ASCII码形式存在。
实验一:工程的建立 --新建工程的结构分析 实验一:工程的建立 --新建工程的结构分析 端口说明 IP说明
实验一:工程的建立 --新建工程的结构分析 实验一:工程的建立 --新建工程的结构分析 下一步,选择这个, 产生网表 想想这步完成的工作? –其实就是 把这个抽象的结构, 转换成门级网表的连接.
实验一:工程的建立 --新建工程的结构分析 这个过程需要持续一小部分时间,请等待,并且看看控制台给出的综合信息.
实验一:工程的建立 --新建工程的结构分析 下一步,选择这个, 产生布局布线比特流文件 这个过程需要持续一小部分时间,请等待,并且看看 控制台给出的实现过程的信息.
实验一:工程的建立 --新建工程的结构分析 怀着好奇的心情,看看在FPGA芯片内部是怎么实现这 个结构的?下面教你查看FPGA内布局的图. 双击”FPGA Editor”
实验一:工程的建立 --新建工程的结构分析 点击OK,打开文件 找到这个文件
实验一:工程的建立 --新建工程的结构分析 蓝色区域表示 被使用的CLB 终于知道了,原 来FPGA内的可编 程单元被征用,通 过步线,在FPGA内 部实现了这个片上 系统.这也就是”可 编程SOC”的本质 所在 过瘾后,关闭这个工具
实验一:工程的建立 --建立软件应用程序 选择输出硬件到SDK
实验一:工程的建立 --建立软件应用程序 选择输出和打开 SDK软件
实验一:工程的建立 --建立软件应用程序 定位路径到当前的 工程窗口 点击”OK按纽, 进入下一个界面
实验一:工程的建立 --建立软件应用程序 硬件设计文件 被导入到SDK 下面将添加设计的BSP
实验一:工程的建立 --建立软件应用程序 选择建立Xilinx BSP, 作用是各种外设的软件驱动
实验一:工程的建立 --建立软件应用程序 BSP的工程名字 硬件平台的工程名字 BSP的名字 Xilkernel-Xilinx操作系统 Standalone-BSP 点击”Finish”按纽, 进入下一个界面
实验一:工程的建立 --建立软件应用程序 点击”OK”按纽, 进入下一个界面
实验一:工程的建立 --建立软件应用程序 SDK开始自动编译BSP
实验一:工程的建立 --建立软件应用程序 BSP的各种文件 下面将添加SDK自动生成的 应用程序
实验一:工程的建立 --建立软件应用程序 生成新的C工程
实验一:工程的建立 --建立软件应用程序 工程名字 选择生成外设测试应用程序
实验一:工程的建立 --建立软件应用程序 点击”Next”按纽, 进入下一个界面
实验一:工程的建立 --建立软件应用程序 选择该选项,使用已经存在的BSP 点击”Finish”按纽, 进入下一个界面
实验一:工程的建立 --建立软件应用程序 应用程序的各种文件 打开并分析该文件
实验一:工程的建立 --建立软件应用程序 开关输入测试代码部分
实验一:工程的建立 --建立软件应用程序 按键输入测试代码部分 下面准备下载设计到芯片中
实验一:工程的建立 --生成链接脚本文件 选择产生链接脚本文件
实验一:工程的建立 --生成链接脚本文件 点击”Browse”按纽 程序各段的分配情况 定位产生.ld文件的路径 选择保存 选择生成
实验一:工程的建立 --工程的下载 产生比特流文件并且下载到板子上。在下载前,指 令存储器(FPGA的BRAM)将被更新(使用GNU编译器 产生可执行的文件)。 使用下面的步骤完成设计下载和结果的观察: 连接Nexys3的USB线连接到主机的USB口 打开目标板的电源 打开主机的超级终端(在Windows操作系统的开始 ->所有程序->附件->通信下),并且配置其参数,使其波特 率9600,数据位:8比特;无奇偶校验;一个停止位;无流 量控制。
实验一:工程的建立 --工程的下载 选择编程 FPGA选项
实验一:工程的建立 --工程的下载 比特流文件 块RAM映射文件 选择软件应用程序.elf文件 (即最终编译\连接后的文件 点击”Program”按纽, 进入下一个界面
实验一:工程的建立 --工程的下载 等待编程成功,在超级终端上观察结果,同时在Nexys3板卡上操作按键和DIP开关,观察打印信息的变化. 注意:如果前面没有选择生成链接脚本文件,则需要选择RUN->RUN,来运行程序. 关闭SDK软件.