ZedBoard 最小系统构建 (一)-硬件结构搭建

 

 

前言

Xilinx 的ZYNQ-7000系列SOC芯片,整合了ARM9和PLD单元,比传统的DSP+FPGA 或 ARM+FPGA的设计复杂度更低,带宽更高,通信方式更加灵活。对于诸如数字信号处理、图像处理等工程化应用,是一个比较好的选择。ZedBoard是Digilent公司针对ZYNQ  XC7Z020-CLG484这款芯片开发的一套工具,布置了HDMI,千兆以太网,VGA,USB-OTG和音频等接口,并板载了USB转串和调试工具,是一个很好的应用平台。这个板子官方价格不菲,但国内可以找到与之对应的类似产品,我选的是希科电子的一款核心板-底板栈结结构的产品。本文及后续几章的开发内容都是针对这个平台进行开发讨论的。

ZYNQ芯片分为PS单元和PL单元,可以近似将PS单元视作ARM单元,可以运行Linux操作系统;将PL单元视作FPGA,运行可编程逻辑。两者可以公用一些外设,比如GPIO,也可以通过AXI总线进行数据交互。

ZedBoard 最小系统构建 (一)-硬件结构搭建

最后建立的工程,应该包括以上红框内的几个单元,包括DDR,QSPI,SD卡,USB等等。

软件环境使用Xilinx Vivado 2015.4.2,操作系统是windows7 64位。

一、硬件布置

1)新建工程

 

打开Vivado 2015.4.2软件,新建工程microsysZedBoard 最小系统构建 (一)-硬件结构搭建

 

 工程类型选择[RTL Project]

ZedBoard 最小系统构建 (一)-硬件结构搭建

芯片类型选择XC7Z020-CLG484-1

Family:ZYNQ-7000

Package:CLG484

Speed Grade: -1

ZedBoard 最小系统构建 (一)-硬件结构搭建

点击[Finish]完成工程向导。

ZedBoard 最小系统构建 (一)-硬件结构搭建

等待系统自己完成相关初始化,最后可以见到如下图所示的界面。

ZedBoard 最小系统构建 (一)-硬件结构搭建

2)添加IP核

建立一个模块,名字为[microsys]

ZedBoard 最小系统构建 (一)-硬件结构搭建

首先搜索并添加ARM 子系统

ZedBoard 最小系统构建 (一)-硬件结构搭建

 

 ZedBoard 最小系统构建 (一)-硬件结构搭建

 

这就是默认的一个IP核,包含DDR,FIXED_IO,FCLKd等单元。

 ZedBoard 最小系统构建 (一)-硬件结构搭建

双击这个模块,打开配置界面,在芯片配置结构图中可以看到,系统尚未勾选外设,

ZedBoard 最小系统构建 (一)-硬件结构搭建

 下面我们针对第一张图中框住的单元,进行配置。

 ZedBoard 最小系统构建 (一)-硬件结构搭建

ZedBoard 最小系统构建 (一)-硬件结构搭建

配置系统时钟

ENET0 选择片内时钟源

取消FCLK_CLK0 输出。

ZedBoard 最小系统构建 (一)-硬件结构搭建

配置DDR

ZedBoard 最小系统构建 (一)-硬件结构搭建

PS-PL通信配置

ZedBoard 最小系统构建 (一)-硬件结构搭建

最终形成的最小系统如下图所示

ZedBoard 最小系统构建 (一)-硬件结构搭建

点击鼠标右键,选择[Run Block Automation]

ZedBoard 最小系统构建 (一)-硬件结构搭建

会发现引出了DDR和FIXED_IO两条总线

ZedBoard 最小系统构建 (一)-硬件结构搭建

这样基本的一个ARM IP就配置完成了。

上面的MIO[53:0]包含了所有外设的输出管脚

ZedBoard 最小系统构建 (一)-硬件结构搭建

 

添加一个反向器

ZedBoard 最小系统构建 (一)-硬件结构搭建

在[Utility Vector Logic]核中,配置操作为[not],位宽为1,即成为一个反向器。

ZedBoard 最小系统构建 (一)-硬件结构搭建

添加一个[otg_vbussoc] Port

ZedBoard 最小系统构建 (一)-硬件结构搭建

添加[gpio_i] [gpib_o][gpio_t] 3个port,并连接到ZYNQ system中gpio 端口,并规整连线

ZedBoard 最小系统构建 (一)-硬件结构搭建

 

 这就是最终的Block系统

ZedBoard 最小系统构建 (一)-硬件结构搭建

下一章将对如何生成bit流文件进行讲解。