所有培训资料均可从网站 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实现系统协同调试;
实验二:添加IP到设计中 --设计结构原理 ILMB DLMB Microblaze LMB BRAM CNTLR AXI-Lite M_AXI _DP GPIO UART MDM MBDEBUG JTAG DIP PUSH RS-232 使用BSB建立的最小系统结构 AXI M_AXI _IC M_AXI _DC AXI-EMC SRAM EMC:外部存储器控制器 这就是本实验要完成的部分
实验二:添加IP到设计中 --打开前面的设计 在开始这个实验以前,先建立一个lab2的目录,将刚 才lab1下所有的文件复制到新建的lab2目录下. 这个实验基于lab1前面的设计实现,添加外部存储器 EMC到设计中,并对其进行测试.
实验二:添加IP到设计中 --打开前面的设计 在Windows操作系统下,选择所有程序->Xilinx ISE Design Suite13.1->EDK->Xilinx Platform Studio(XPS)。打 开EDK软件。 1)打开XPS,在XPS主界面选择File->Open Project, 出现下图界面。选择Open a recent project,然后单击ok按 钮。
实验二:添加IP到设计中 --打开前面的设计 打开已经存在的工程, 选择该选项 点击”OK”按纽
实验二:添加IP到设计中 --添加EMC IP到设计中 定位到所在目录的system.xmp文件 然后点击“Open”按纽
实验二:添加IP到设计中 --添加EMC IP到设计中 选择Memory and Memory Controller,并展开 选择AXI External Memory Controller,并双击 选择IP Catalog标签
实验二:添加IP到设计中 --添加EMC IP到设计中 点击“Yes”按钮。
实验二:添加IP到设计中 --添加EMC IP到设计中 选择Common标签 修改值16
实验二:添加IP到设计中 --添加EMC IP到设计中 选择Bank0标签 SRAM数据宽度设置为16 多个存储器访问设置为Ture 存储器类型选择异步存储器 点击“OK”按钮
实验二:添加IP到设计中 --添加EMC IP到设计中 点击“OK”按钮
实验二:添加IP到设计中 --配置MicroBlaze处理器 选择Bus Interface标签 选择Microblaze_0,点击鼠标右键, 选择Configure IP… 修改名字为Micron_RAM
实验二:添加IP到设计中 --配置MicroBlaze处理器 选中使用指令和数据缓冲 点击“Next”按钮
实验二:添加IP到设计中 --配置MicroBlaze处理器 点击“Next”按钮
实验二:添加IP到设计中 --配置MicroBlaze处理器 点击“Next”按钮
实验二:添加IP到设计中 --配置MicroBlaze处理器 选中使用指令缓存访问 选中使用数据缓存访问 点击“Next”按钮
实验二:添加IP到设计中 --配置MicroBlaze处理器 点击“ok”按钮 点击“Next”按钮
实验二:添加IP到设计中 --配置MicroBlaze处理器 多出两个接口 M_AXI_DC M_AXI_IC 下面建立新的 端口连接
实验二:添加IP到设计中 --配置MicroBlaze处理器 下拉框中选择New Connection
实验二:添加IP到设计中 --配置MicroBlaze处理器 下拉框中选择axi_interconnect_0
实验二:添加IP到设计中 --建立EMC和CPU的连接 选择axi_emc_0,并展开 鼠标左键点击,这个区域,弹出下面的 对话框
实验二:添加IP到设计中 --建立EMC和CPU的连接 选择axi_interconnect_0 选中下面两个接口 点击“ok”按钮
实验二:添加IP到设计中 --建立EMC和CPU的连接 emc通过AXI和CPU建立连接
实验二:添加IP到设计中 --建立axi_interface互连时钟端口和复位端口的连接 下拉框中选择clk_100_000MHz
实验二:添加IP到设计中 --建立axi_interface互连时钟端口和复位端口的连接 下拉框中选择proc_sys_reset_0_
实验二:添加IP到设计中 --建立EMC和FPGA端口的连接 端口标签 下拉框中选择clk_50_000MHz
实验二:添加IP到设计中 --建立EMC和FPGA端口的连接 下拉框中选择clk_50_000MHz
实验二:添加IP到设计中 --建立EMC和FPGA端口的连接 下拉框中选择Make External 下拉框中选择Make External
实验二:添加IP到设计中 --建立EMC和FPGA端口的连接 下拉框中选择Make External 下拉框中选择Make External
实验二:添加IP到设计中 --建立EMC和FPGA端口的连接 下拉框中选择Make External
实验二:添加IP到设计中 --建立EMC和FPGA端口的连接 下拉框中选择Make External
实验二:添加IP到设计中 --建立EMC和FPGA端口连接(RAM多余端口处理) 选择.mhs文件 在此处添加额外的端口
实验二:添加IP到设计中 --建立EMC和FPGA端口连接(RAM多余端口处理) 新添加的端口 新添加的端口
实验二:添加IP到设计中 -分配EMC的存储空间 鼠标点击该按纽 地址标签
实验二:添加IP到设计中 -分配EMC的存储空间 地址标签 基地址 高地址 大小
实验二:添加IP到设计中 --添加逻辑端口和FPGA引脚的物理约束 添加用户约束到这里,为方便直接复制资料所提供的约束部分 选择system.ucf文件
实验二:添加IP到设计中 --新建工程的结构分析 BRAM LMB控制器 LMB控制器 处理器 点击块图标签查看生成的块图
实验二:添加IP到设计中 --新建工程的结构分析 axi_interconnect_0
实验二:添加IP到设计中 --新建工程的结构分析 DIP控制器 串口控制器 按键控制器
实验二:添加IP到设计中 --新建工程的结构分析 下一步,选择这个, 产生网表 想想这步完成的工作? –其实就是 把这个抽象的结构, 转换成门级网表的连接.
实验二:添加IP到设计中 --新建工程的结构分析 这个过程需要持续一小部分时间,请等待,并且看看控制台给出的综合信息.
实验二:添加IP到设计中 --新建工程的结构分析 下一步,选择这个, 产生布局布线比特流文件 这个过程需要持续一小部分时间,请等待,并且看看 控制台给出的实现过程的信息.
实验二:添加IP到设计中 --建立软件应用程序 选择输出硬件到SDK
实验二:添加IP到设计中 --建立软件应用程序 选择输出和打开 SDK软件
实验二:添加IP到设计中 --建立软件应用程序 定位路径到当前的 工程窗口 点击”OK按纽, 进入下一个界面
实验二:添加IP到设计中 --建立软件应用程序 删除lab1建立的BSP 和应用程序工程 下面将添加设计的BSP
实验二:添加IP到设计中 --建立软件应用程序 选择建立Xilinx BSP, 作用是各种外设的软件驱动
实验二:添加IP到设计中 --建立软件应用程序 BSP的工程名字 硬件平台的工程名字 BSP的名字 Xilkernel-Xilinx操作系统 Standalone-BSP 点击”Finish”按纽, 进入下一个界面
实验二:添加IP到设计中 --建立软件应用程序 点击”OK”按纽, 进入下一个界面
实验二:添加IP到设计中 --建立软件应用程序 SDK开始自动编译BSP
实验二:添加IP到设计中 --建立软件应用程序 BSP的各种文件 下面将添加SDK自动生成的 应用程序
实验二:添加IP到设计中 --建立软件应用程序 生成新的C工程
实验二:添加IP到设计中 --建立软件应用程序 工程名字 选择生成外设测试应用程序
实验二:添加IP到设计中 --建立软件应用程序 点击”Next”按纽, 进入下一个界面
实验二:添加IP到设计中 --建立软件应用程序 选择该选项,使用已经存在的BSP 点击”Finish”按纽, 进入下一个界面
实验二:添加IP到设计中 --建立软件应用程序 应用程序的各种文件 打开并分析该文件
实验二:添加IP到设计中 --建立软件应用程序 调用存储器测试程序
实验二:添加IP到设计中 --建立软件应用程序 32位存储器测试, 写1k的32位数据0xAAAA5555,然后读取操作 16位存储器测试, 写2k的16位数据0xAA55,然后读取操作 8位存储器测试, 写4k的8位数据0xA5,然后读取操作 下面准备下载设计到芯片中
实验二:添加IP到设计中 --生成链接脚本文件 选择产生链接脚本文件
实验二:添加IP到设计中 --生成链接脚本文件 点击”Browse”按纽 程序各段的分配情况 定位产生.ld文件的路径 选择保存 选择生成
实验二:添加IP到设计中 --工程的下载 产生比特流文件并且下载到板子上。在下载前,指 令存储器(FPGA的BRAM)将被更新(使用GNU编译器 产生可执行的文件)。 使用下面的步骤完成设计下载和结果的观察: 连接Nexys3的USB线连接到主机的USB口 打开目标板的电源 打开主机的超级终端(在Windows操作系统的开始 ->所有程序->附件->通信下),并且配置其参数,使其波特 率9600,数据位:8比特;无奇偶校验;一个停止位;无流 量控制。
实验二:添加IP到设计中 --工程的下载 选择编程 FPGA选项
实验二:添加IP到设计中 --工程的下载 比特流文件 块RAM映射文件 选择软件应用程序.elf文件 (即最终编译\连接后的文件 点击”Program”按纽, 进入下一个界面
实验二:添加IP到设计中 --工程的下载 等待编程成功,在超级终端上观察结果,同时在Nexys3板卡上操作按键和DIP开关,观察打印信息的变化. 注意:如果前面没有选择生成链接脚本文件,则需要选择RUN->RUN,来运行程序.
实验二:添加IP到设计中 --debug调试器的使用 选择该选项,打开调试器界面
实验二:添加IP到设计中 --debug调试器的使用 点击”yes”按钮
实验二:添加IP到设计中 --debug调试器的使用 选择Memory标签 右健点击该区域 选择添加存储器监控点
实验二:添加IP到设计中 --debug调试器的使用 外部SRAM的基地址,将其复制到
实验二:添加IP到设计中 --debug调试器的使用 复制到这个地方 点击”OK”按钮
实验二:添加IP到设计中 --debug调试器的使用 选择查看其它 这就是对存储器的访问结果
实验二:添加IP到设计中 --debug调试器的使用 单步,断点调试等都可以在此完成