何宾 Tel:13911127536 email:[email protected]

74
何何 Tel email: 高高高高高高高 北北北北北北北北北北北北北 高高高 &XILINX SOC 高高高高高高高高 FPGA System Design Primer FPGA System Design Primer 何何 Tel:13911127536 email:[email protected] 高高高高 高高高高高高高高高高高高高 高高高高高高高高高高高高高 北北北北北北北北北北北 p://bucteda.eefocus.com 北北

description

版权所有,禁止未经授权的商业使用行为. 何宾 Tel:13911127536 email:[email protected]. 所有培训资料均可从网站 http://bucteda.eefocus.com 下载. 北京中教仪装备技术有限公司. 基于 AXI4 的可编程 SoC 系统设计 ( 下 ). 培训内容. Xilinx 片上可编程系统设计导论 AXI4 规范 MicroBlaze 处理器原理 EDK13.1 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 - PowerPoint PPT Presentation

Transcript of 何宾 Tel:13911127536 email:[email protected]

Page 1: 何宾 Tel:13911127536     email:hebin@mail.buct

何宾Tel : email:

高等教育出版社北京中教仪装备技术有

限公司

高教社 &XILINX SOC 竞赛培训系列课程

FPGA System Design FPGA System Design PrimerPrimer

何宾Tel:13911127536

email:[email protected]

版权所有,禁止未经授权的商业使用行为

北京中教仪装备技术有限公司 所有培训资料均可从网站http://bucteda.eefocus.com 下载

Page 2: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

培训内容 Xilinx 片上可编程系统设计导论 AXI4 规范 MicroBlaze 处理器原理 EDK13.1 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 MicroBlaze 和 AXI4 的可编程 SoC 系统实现

基于 AXI4 的可编程 SoC 系统设计 ( 下 )

Page 3: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计实验-- 实验内容

介绍 EDK13.1 软件的使用方法和设计流程。 在介绍这部分内容时,使用捐赠的板卡 Nexys3, 该板卡带有 Xilinx 最新一代的 Spartan-6 FPGA 芯片。

Page 4: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

片上可编程系统设计实验-- 实验内容

该内容主要包括: 1. 工程的建立; 2. 添加 AXI4 IP 到硬件设计; 3. 定制 LED IP, 并添加 IP 到系统 , 编写应用程序; 4. 定制 7 段数码管 IP, 并添加 IP 到系统 , 编写应用程序; 5. 定制 PWM IP, 并添加 IP 到系统 , 编写应用程序 ; 6. 实现 AXI4 中断控制系统; 7. 使用 AXI4 Chipscope 实现系统协同调试 ;

Page 5: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 设计结构原理

ILMBDLMB

Microblaze

LMBBRAMCNTLR

LMBBRAMCNTLR

BRAM

AXI-Lite

M_AXI _DP

GPIO

GPIO

UART

MDMMBDEBUGJTAG

DIP

PUSH

RS-232

使用 BSB 建立的最小系统结构

AXI

M_AXI _IC

M_AXI _DC

AXI-EMC SRAM

EMC: 外部存储器控制器

这就是本实验要完成的部分

Page 6: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 打开前面的设计

在开始这个实验以前 , 先建立一个 lab2 的目录 , 将刚

才 lab1 下所有的文件复制到新建的 lab2 目录下 . 这个实验基于 lab1 前面的设计实现 , 添加外部存储

器EMC 到设计中 , 并对其进行测试 .

Page 7: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 打开前面的设计

在 Windows 操作系统下,选择所有程序 ->Xilinx ISE

Design Suite13.1->EDK->Xilinx Platform Studio(XPS) 。打

开 EDK 软件。 1 )打开 XPS ,在 XPS 主界面选择 File->Open

Project ,出现下图界面。选择 Open a recent project ,然后单击 ok

按钮。

Page 8: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 打开前面的设计

打开已经存在的工程 ,选择该选项

点击” OK” 按纽

Page 9: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 添加 EMC IP 到设计中

定位到所在目录的 system.xmp 文件

然后点击“ Open” 按纽

Page 10: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 添加 EMC IP 到设计中

选择 IP Catalog 标签

选择 Memory and Memory Controller, 并展开

选择 AXI External Memory Controller, 并双击

Page 11: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 添加 EMC IP 到设计中

• 点击“ Yes” 按钮。

Page 12: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 添加 EMC IP 到设计中

选择 Common 标签

修改值 16

Page 13: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 添加 EMC IP 到设计中

选择 Bank0 标签 SRAM 数据宽度设置为 16

多个存储器访问设置为 Ture

存储器类型选择异步存储器

点击“ OK” 按钮

Page 14: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 添加 EMC IP 到设计中

选择手动将 IP 加入到设计中

点击“ OK” 按钮

Page 15: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

选择 Bus Interface 标签

选择 Microblaze_0, 点击鼠标右键,

选择 Configure IP…

修改名字为 Micron_RAM

Page 16: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

选中使用指令和数据缓冲

点击“ Next” 按钮

Page 17: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

点击“ Next” 按钮

Page 18: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

点击“ Next” 按钮

Page 19: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

选中使用指令缓存访问 选中使用数据缓存访问

点击“ Next” 按钮

Page 20: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

点击“ Next” 按钮

点击“ ok” 按钮

Page 21: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

多出两个接口M_AXI_DCM_AXI_IC

下面建立新的端口连接

Page 22: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

下拉框中选择 New Connection

Page 23: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 配置 MicroBlaze 处理器

下拉框中选择 axi_interconnect_0

Page 24: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 CPU 的连接

鼠标左键点击,这个区域,弹出下面的对话框

选择 axi_emc_0 ,并展开

Page 25: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 CPU 的连接

选择 axi_interconnect_0 选中下面两个接口

点击“ ok” 按钮

Page 26: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 CPU 的连接

emc 通过 AXI 和 CPU 建立连接

Page 27: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 axi_interface 互连时钟端口和复位端口的连接

下拉框中选择 clk_100_000MHz

Page 28: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 axi_interface 互连时钟端口和复位端口的连接

下拉框中选择 proc_sys_reset_0_

Page 29: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 FPGA 端口的连接

端口标签

下拉框中选择 clk_50_000MHz

Page 30: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 FPGA 端口的连接

下拉框中选择 clk_50_000MHz

Page 31: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 FPGA 端口的连接

下拉框中选择 Make External

下拉框中选择 Make External

Page 32: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 FPGA 端口的连接

下拉框中选择 Make External

下拉框中选择 Make External

Page 33: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 FPGA 端口的连接

下拉框中选择 Make External

Page 34: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 FPGA 端口的连接

下拉框中选择 Make External

Page 35: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 FPGA 端口连接 (RAM 多余端口处理 )

选择 .mhs 文件

在此处添加额外的端口

Page 36: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立 EMC 和 FPGA 端口连接 (RAM 多余端口处理 )

新添加的端口新添加的端口

Page 37: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中- 分配 EMC 的存储空间

地址标签鼠标点击该按纽

Page 38: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中- 分配 EMC 的存储空间

地址标签

基地址 高地址 大小

Page 39: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

添加用户约束到这里 , 为方便直接复制资料所提供的约束部分

实验二:添加 IP 到设计中-- 添加逻辑端口和 FPGA 引脚的物理约束

选择 system.ucf 文件

Page 40: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 新建工程的结构分析

点击块图标签查看生成的块图

处理器

LMB 控制器 LMB 控制器

BRAM

Page 41: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 新建工程的结构分析

axi_interconnect_0

Page 42: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 新建工程的结构分析

DIP 控制器 串口控制器

按键控制器

Page 43: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中 -- 新建工程的结构分析

想想这步完成的工作 ? – 其实就是 把这个抽象的结构 ,转换成门级网表的连接 .

下一步 , 选择这个 , 产生网表

Page 44: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 新建工程的结构分析

这个过程需要持续一小部分时间 , 请等待 , 并且看看控制台给出的综合信息 .

Page 45: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 新建工程的结构分析

下一步 , 选择这个 , 产生布局布线比特流文件

这个过程需要持续一小部分时间 , 请等待 , 并且看看控制台给出的实现过程的信息 .

Page 46: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

选择输出硬件到 SDK

Page 47: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

选择输出和打开SDK 软件

Page 48: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

定位路径到当前的工程窗口

点击” OK 按纽 , 进入下一个界面

Page 49: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

删除 lab1 建立的 BSP和应用程序工程

下面将添加设计的 BSP

Page 50: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

• 选择建立 Xilinx BSP, 作用是各种外设的软件驱动

Page 51: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

BSP 的工程名字

硬件平台的工程名字

BSP 的名字1) Xilkernel-Xilinx 操作系统2) Standalone-BSP

点击” Finish” 按纽 , 进入下一个界面

Page 52: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

点击” OK” 按纽 , 进入下一个界面

Page 53: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

SDK 开始自动编译 BSP

Page 54: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

BSP 的各种文件

下面将添加 SDK 自动生成的应用程序

Page 55: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序 生成新的 C 工程

Page 56: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

工程名字

选择生成外设测试应用程序

Page 57: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

点击” Next” 按纽 , 进入下一个界面

Page 58: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

选择该选项 , 使用已经存在的 BSP

点击” Finish” 按纽 , 进入下一个界面

Page 59: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

应用程序的各种文件打开并分析该文件

Page 60: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

• 调用存储器测试程序

Page 61: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 建立软件应用程序

• 32 位存储器测试 , 写 1k 的 32 位数据 0xAAAA5555, 然后读取操作

下面准备下载设计到芯片中

• 16 位存储器测试 , 写 2k 的 16 位数据 0xAA55, 然后读取操作

• 8 位存储器测试 , 写 4k 的 8 位数据 0xA5, 然后读取操作

Page 62: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 生成链接脚本文件

• 选择产生链接脚本文件

Page 63: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 生成链接脚本文件

程序各段的分配情况

定位产生 .ld 文件的路径

选择保存

选择生成

点击” Browse” 按纽

Page 64: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 工程的下载

产生比特流文件并且下载到板子上。在下载前,指令存储器( FPGA 的 BRAM )将被更新(使用 GNU 编译

器产生可执行的文件)。  使用下面的步骤完成设计下载和结果的观察:

连接 Nexys3 的 USB 线连接到主机的 USB 口 打开目标板的电源 打开主机的超级终端(在 Windows 操作系统的开始

-> 所有程序 -> 附件 -> 通信下),并且配置其参数 , 使其波特

率 9600 ,数据位: 8 比特;无奇偶校验;一个停止位;无流

量控制。

Page 65: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 工程的下载

• 选择编程 FPGA 选项

Page 66: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 工程的下载

比特流文件块 RAM映射文件

选择软件应用程序 .elf 文件(即最终编译 \ 连接后的文件

点击” Program” 按纽 , 进入下一个界面

Page 67: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中-- 工程的下载

• 等待编程成功 , 在超级终端上观察结果 , 同时在 Nexys3板卡上操作按键和 DIP 开关 ,观察打印信息的变化 .

• 注意 :如果前面没有选择生成链接脚本文件 ,则需要选择 RUN->RUN,来运行程序 .

Page 68: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中--debug 调试器的使用

选择该选项 , 打开调试器界面

Page 69: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中--debug 调试器的使用

点击” yes” 按钮

Page 70: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中--debug 调试器的使用

选择 Memory 标签

右健点击该区域

选择添加存储器监控点

Page 71: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中--debug 调试器的使用

外部 SRAM 的基地址 , 将其复制到

Page 72: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中--debug 调试器的使用

复制到这个地方

点击” OK” 按钮

Page 73: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中--debug 调试器的使用

这就是对存储器的访问结果

选择查看其它

Page 74: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

实验二:添加 IP 到设计中--debug 调试器的使用

单步 , 断点调试等都可以在此完成