何宾 Tel:13911127536 email:[email protected]
description
Transcript of 何宾 Tel:13911127536 email:[email protected]
何宾Tel : email:
高等教育出版社北京中教仪装备技术有
限公司
高教社 &XILINX SOC 竞赛培训系列课程
FPGA System Design FPGA System Design PrimerPrimer
何宾Tel:13911127536
email:[email protected]
版权所有,禁止未经授权的商业使用行为
北京中教仪装备技术有限公司 所有培训资料均可从网站http://bucteda.eefocus.com 下载
北京中教仪装备技术有限公司
培训内容 Xilinx 片上可编程系统设计导论 AXI4 规范 MicroBlaze 处理器原理 EDK13.1 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 MicroBlaze 和 AXI4 的可编程 SoC 系统实现
基于 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 实现系统协同调试。
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 设计结构原理
使用 BSB 建立的最小系统结构
ILMBDLMB
Microblaze
LMBBRAMCNTLR
LMBBRAMCNTLR
BRAM
AXI-Lite
M_AXI _DP
GPIO
GPIO
UART
MDMMBDEBUGJTAG
DIP
PUSH
RS-232
MY IP 7-seg
这就是本实验要完成的部分
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 设计结构原理
设计一个 LED 的控制器 IP 核 , 通过该控制器对 7段
数码管显示进行控制
LED_IP
AXI-LITE寄存器
控制逻辑
7 段数码管MicroBlaze
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 设计结构原理
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 设计结构原理
时钟自动扫描复用 7 段数码管结构图
clk
clr
dc yba
x[15:12]x[11:8]x[7:4]x[3:0]
ctr2bit
hex7seg a_to_g[6:0]
an[3:0]s[1:0]
s[1:0] an[3:0]
“1111”
来自寄存器
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 打开前面的设计
在开始这个实验以前 , 先建立一个 lab4 的目录 , 将刚才 lab1 下所有的文件复制到新建的 lab4 目录下 . 这个实验基于 lab1 前面的设计实现 , 设计并添加定制IP 到设计中 , 并对其进行测试 .
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 打开前面的设计 在 Windows 操作系统下,选择所有程序 ->Xilinx
ISE Design Suite13.1->EDK->Xilinx Platform Studio(XPS) 。
打开 EDK 软件。 1 )打开 XPS ,在 XPS 主界面选择 File->Open
Project ,出现下图界面。选择 Open a recent project ,然后单击 ok
按钮。
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 打开前面的设计
打开已经存在的工程 ,选择该选项
点击” OK” 按纽
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 打开前面的设计
定位到所在目录的 system.xmp 文件
然后点击“ Open” 按纽
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
选择”创建或导入外设“
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
选择创建新外设模版
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
输入 IP 核的名字: seg_ip
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
选择接口 AXI4-LITE
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
选中:用户逻辑软件寄存器不选中
点击“ Next” 按钮你需要实现的部分
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
对寄存器的读写控制
寄存器的个数,根据实际需要使用的情况设置
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
点击“ Next” 按钮
产生 ISE 工程 生成软件驱动
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
点击“ Finish” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
所创建的 IP 核已经添加到 IP 库中位置在工程目录下的 pcores 目录中
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
双击 LED_IP ,准备将其添加到设计
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
点击“ Yes” 按钮,同意将其添加到设计中
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 定制 7 段数码管 IP 核
使用默认设置,并点击“ OK” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择使用 XPS 自动总线连接和存储空间分配
点击“ OK” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
自动将其连接到 axi4lite_0
选择总线接口标签
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
自动进行存储空间分配
选择地址标签
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择总线接口标签
选中 seg_ip, 右击鼠标
选择 View MPD 文件
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
添加下面一行, 端口名字 AN , 方向输出,总线宽度 [3 : 0]
添加下面一行, 端口名字 SEG , 方向输出,总线宽度 [7 : 0]
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核选择总线接口标签
选中 seg_ip, 右击鼠标
选择 Browse HDL Source…
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择 user_logic.vhd
点击“打开”按纽
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
用 HDL 语言 , 添加 an , seg 端口
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
保存修改的文件
计数器
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择要显示的数字
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
十六进制转 7 段码显示
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择总线接口标签
选中 seg_ip, 右击鼠标
选择 Browse HDL Source…
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择 seg_ip.vhd
点击“打开”按纽
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
用 HDL 语言 , 添加 AN , SEG 端口
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
用 HDL 语言 , 添加 an , seg 端口映射
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择该选项 , 使变化生效
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择端口标签
展开 seg_ip_0
下拉框下选择 make External,表示该网络将连接到 FPGA物理引脚上
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择端口标签
展开 seg_ip_0
下拉框下选择 make External,表示该网络将连接到 FPGA物理引脚上
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择端口标签
新生成的外部端口名字 seg_ip_0_AN_pin,seg_ip_0_SEG_pin
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加 7 段数码管 IP 核
选择 system.ucf 文件
添加 seg_ip_0_AN_pin 引脚
添加 seg_ip_0_SEG_pin 引脚
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 生成网表
想想这步完成的工作 ? – 其实就是 把这个抽象的结构 ,转换成门级网表的连接 .
下一步 , 选择这个 , 产生网表
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 生成网表
这个过程需要持续一小部分时间 , 请等待 , 并且看看控制台给出的综合信息 .
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 更新比特流
下一步 , 选择这个 , 产生布局布线比特流文件
这个过程需要持续一小部分时间 , 请等待 , 并且看看控制台给出的实现过程的信息 .
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
选择输出硬件到 SDK
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
选择输出和打开SDK 软件
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
定位路径到当前的工程窗口
点击” OK 按纽 , 进入下一个界面
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
删除 lab1 建立的 BSP和应用程序工程
下面将添加设计的 BSP
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
• 选择建立 Xilinx BSP, 作用是各种外设的软件驱动
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
BSP 的工程名字
硬件平台的工程名字
BSP 的名字1) Xilkernel-Xilinx 操作系统2) Standalone-BSP
点击” Finish” 按纽 , 进入下一个界面
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
点击” OK” 按纽 , 进入下一个界面
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
SDK 开始自动编译 BSP
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
BSP 的各种文件
下面将添加 SDK 自动生成的应用程序
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序 生成新的 C 工程
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
工程名字
选择空的应用工程
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
点击” Next” 按纽 , 进入下一个界面
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 建立软件应用程序
选择该选项 , 使用已经存在的 BSP
点击” Finish” 按纽 , 进入下一个界面
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
选择该选项 , 打开目录管理
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
点击” New” 按钮
定位到当前的目录下
点击”确定”按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
添加到搜索路径中
重新扫描路径 点击” ok” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
选择 BSP 设置
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
选择 standalone_bsp_0
点击” OK” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
选择 drivers
选择 led_ip_0 下拉框中选择 led_ip
点击” OK” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
错误提示
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
找到打开该文件
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
添加此行代码 , 并保存
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 添加定制 IP 的软件驱动到 BSP 中
选择 , 并打开该文件
添加此行代码 , 并保存
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 导入应用工程文件
选择” Import” 选项
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 导入应用工程文件
选择“ general”, 并展开选择“ File System”
点击“ Next” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 导入应用工程文件
点击“ Browse” 按钮
定位到导入文件所在的文件夹
点击“确定”按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 导入应用工程文件
选中 seg_test.c 文件
选中” Browse” 按钮,定位要导入文件的位置
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 导入应用工程文件
选中 empty_application_0
选中 src
点击“ OK” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 导入应用工程文件
导入文件的文件夹
点击“ Finish” 按钮
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 导入应用工程文件
文件已经被导入到设计中
将累加的值显示在灯上
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 生成链接脚本文件
• 选择产生链接脚本文件
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 生成链接脚本文件
程序各段的分配情况
定位产生 .ld 文件的路径
选择保存
选择生成
点击” Browse” 按纽
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 工程的下载
产生比特流文件并且下载到板子上。在下载前,指令存储器( FPGA 的 BRAM )将被更新(使用 GNU 编译
器产生可执行的文件)。 使用下面的步骤完成设计下载和结果的观察:
连接 Nexys3 的 USB 线连接到主机的 USB 口 打开目标板的电源 打开主机的超级终端(在 Windows 操作系统的开始
-> 所有程序 -> 附件 -> 通信下),并且配置其参数 , 使其波特
率 9600 ,数据位: 8 比特;无奇偶校验;一个停止位;无流
量控制。
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 工程的下载
• 选择编程 FPGA 选项
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 工程的下载
比特流文件块 RAM 映射文件
选择软件应用程序 .elf 文件(即最终编译 \ 连接后的文件
点击” Program” 按纽 , 进入下一个界面
北京中教仪装备技术有限公司
实验四:定制 7 段数码管 IP 并添加到设计中-- 工程的下载
• 等待编程成功 , 在超级终端上观察结果 , 同时在 Nexys3板卡上操作按键和 DIP 开关 ,观察打印信息的变化 .
• 注意 :如果前面没有选择生成链接脚本文件 ,则需要选择 RUN->RUN, 来运行程序 .