所有培训资料均可从网站 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实现系统协同调试。
实验三:定制LED_IP并添加到设计中 --设计结构原理 ILMB DLMB Microblaze LMB BRAM CNTLR AXI-Lite M_AXI _DP GPIO UART MDM MBDEBUG JTAG DIP PUSH RS-232 MY IP LED 这就是本实验要完成的部分 使用BSB建立的最小系统结构
实验三:定制LED_IP并添加到设计中 --设计结构原理 设计一个LED的控制器IP核, 通过该控制器对LED 灯进行控制 LED_IP AXI-LITE 寄 存 器 控 制 逻 辑 LED MicroBlaze
实验三:定制LED_IP并添加到设计中 --打开前面的设计 在开始这个实验以前,先建立一个lab3的目录,将刚 才lab1下所有的文件复制到新建的lab3目录下. 这个实验基于lab1前面的设计实现,设计并添加定制 IP到设计中,并对其进行测试.
实验三:定制LED_IP并添加到设计中 --打开前面的设计 在Windows操作系统下,选择所有程序->Xilinx ISE Design Suite13.1->EDK->Xilinx Platform Studio(XPS)。打 开EDK软件。 1)打开XPS,在XPS主界面选择File->Open Project, 出现下图界面。选择Open a recent project,然后单击ok按 钮。
实验三:定制LED_IP并添加到设计中 --打开前面的设计 打开已经存在的工程, 选择该选项 点击”OK”按纽
实验三:定制LED_IP并添加到设计中 --打开前面的设计 定位到所在目录的system.xmp文件 然后点击“Open”按纽
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 选择”创建或导入外设“
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 选择创建新外设模版 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 选择接口AXI4-LITE 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 选中:用户逻辑软件寄存器 不选中 点击“Next”按钮 你需要实现的部分
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 对寄存器的读写控制 寄存器的个数,根据实际需要使用的情况设置 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 产生ISE工程 生成软件驱动 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --定制LED_IP核 点击“Finish”按钮
实验三:定制LED_IP并添加到设计中 --添加LED_IP核 所创建的IP核已经添加到IP库中 位置在工程目录下的pcores目录中
实验三:定制LED_IP并添加到设计中 --添加LED_IP核
实验三:定制LED_IP并添加到设计中 --添加LED_IP核 点击“Yes”按钮,同意将其添加到设计中
实验三:定制LED_IP并添加到设计中 --添加LED_IP核 使用默认设置,并点击“OK”按钮
实验三:定制LED_IP并添加到设计中 --添加LED_IP核 选择使用XPS自动总线连接和存储空间分配 点击“OK”按钮
实验三:定制LED_IP并添加到设计中 --添加LED_IP核 选择总线接口标签 自动将其连接到axi4lite_0
实验三:定制LED_IP并添加到设计中 --添加LED_IP核 选择地址标签 自动进行存储空间分配
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 选择总线接口标签 选中led_ip,右击鼠标 选择View MPD文件
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 选择总线接口标签 选中led_ip,右击鼠标 选择Browse HDL Source…
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 选择user_logic.vhd 点击“打开”按纽
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 用HDL语言,添加led端口
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 添加逻辑控制代码,即把slv_reg0(7:0) 的值送到led端口, 保存修改的文件
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 选择总线接口标签 选中led_ip,右击鼠标 选择Browse HDL Source…
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 选择led_ip.vhd 点击“打开”按纽
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 用HDL语言,添加led端口
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 用HDL语言,添加led端口映射
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 选择该选项,使变化生效
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 选择端口标签 展开led_ip_0 下拉框下选择make External, 表示该网络将连接到FPGA 物理引脚上
实验三:定制LED_IP并添加到设计中 --添加LED_IP核端口和定制逻辑 选择端口标签 新生成的外部端口名字led_ip_LED_pin
实验三:定制LED_IP并添加到设计中 --添加逻辑端口和FPGA引脚的物理约束 选择system.ucf文件 添加led_ip_0_LED_pin引脚
实验三:定制LED_IP并添加到设计中 --生成网表 下一步,选择这个, 产生网表 想想这步完成的工作? –其实就是 把这个抽象的结构, 转换成门级网表的连接.
实验三:定制LED_IP并添加到设计中 -- 生成网表 这个过程需要持续一小部分时间,请等待,并且看看控制台给出的综合信息.
实验三:定制LED_IP并添加到设计中 -- --更新比特流 下一步,选择这个, 产生布局布线比特流文件 这个过程需要持续一小部分时间,请等待,并且看看 控制台给出的实现过程的信息.
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 选择输出硬件到SDK
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 选择输出和打开 SDK软件
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 定位路径到当前的 工程窗口 点击”OK按纽, 进入下一个界面
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 删除lab1建立的BSP 和应用程序工程 下面将添加设计的BSP
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 选择建立Xilinx BSP, 作用是各种外设的软件驱动
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 BSP的工程名字 硬件平台的工程名字 BSP的名字 Xilkernel-Xilinx操作系统 Standalone-BSP 点击”Finish”按纽, 进入下一个界面
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 点击”OK”按纽, 进入下一个界面
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 SDK开始自动编译BSP
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 BSP的各种文件 下面将添加SDK自动生成的 应用程序
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 生成新的C工程
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 工程名字 选择空的应用工程
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 点击”Next”按纽, 进入下一个界面
实验三:定制LED_IP并添加到设计中 --建立软件应用程序 选择该选项,使用已经存在的BSP 点击”Finish”按纽, 进入下一个界面
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 选择该选项,打开目录管理
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 点击”New”按钮 定位到当前的目录下 点击”确定”按钮
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 添加到搜索路径中 重新扫描路径 点击”ok”按钮
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 选择standalone_bsp_0 点击”OK”按钮
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 选择drivers 选择led_ip_0 下拉框中选择led_ip 点击”OK”按钮
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 错误提示
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 找到打开该文件
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 添加此行代码,并保存
实验三:定制LED_IP并添加到设计中 --添加定制IP的软件驱动到BSP中 添加此行代码,并保存 选择,并打开该文件
实验三:定制LED_IP并添加到设计中 --导入应用工程文件 选择”Import”选项
实验三:定制LED_IP并添加到设计中 --导入应用工程文件 选择“general”,并展开 选择“File System” 点击“Next”按钮
实验三:定制LED_IP并添加到设计中 --导入应用工程文件 点击“Browse”按钮 定位到导入文件所在的文件夹 点击“确定”按钮
实验三:定制LED_IP并添加到设计中 --导入应用工程文件 选中led_test.c文件 选中”Browse”按钮,定位要导入文件的位置
实验三:定制LED_IP并添加到设计中 --导入应用工程文件 选中empty_application_0 选中src 点击“OK”按钮
实验三:定制LED_IP并添加到设计中 --导入应用工程文件 导入文件的文件夹 点击“Finish”按钮
实验三:定制LED_IP并添加到设计中 --导入应用工程文件 文件已经被导入到设计中 将累加的值显示在灯上
实验三:定制LED_IP并添加到设计中 --生成链接脚本文件 选择产生链接脚本文件
实验三:定制LED_IP并添加到设计中 --生成链接脚本文件 点击”Browse”按纽 程序各段的分配情况 定位产生.ld文件的路径 选择保存 选择生成
实验三:定制LED_IP并添加到设计中 --工程的下载 产生比特流文件并且下载到板子上。在下载前,指 令存储器(FPGA的BRAM)将被更新(使用GNU编译器 产生可执行的文件)。 使用下面的步骤完成设计下载和结果的观察: 连接Nexys3的USB线连接到主机的USB口 打开目标板的电源 打开主机的超级终端(在Windows操作系统的开始 ->所有程序->附件->通信下),并且配置其参数,使其波特 率9600,数据位:8比特;无奇偶校验;一个停止位;无流 量控制。
实验三:定制LED_IP并添加到设计中 --工程的下载 选择编程 FPGA选项
实验三:定制LED_IP并添加到设计中 --工程的下载 比特流文件 块RAM映射文件 选择软件应用程序.elf文件 (即最终编译\连接后的文件 点击”Program”按纽, 进入下一个界面
实验三:定制LED_IP并添加到设计中 --工程的下载 等待编程成功,在超级终端上观察结果,同时在Nexys3板卡上操作按键和DIP开关,观察打印信息的变化. 注意:如果前面没有选择生成链接脚本文件,则需要选择RUN->RUN,来运行程序.