FPGA/ASIC技术
Zybo是Digilent公司推出的一款基于Xilinx Zynq-7000系列中最小型号Z7010 SoC的嵌入式开发平台,zybo上集成了丰富的多媒体外设接口,强大的Z7010芯片支持完成的系统设计,同时五个Pmod接口提供了丰富的扩展空间,想必很多人都听说过zedboard的大名,其实可以说zybo是mini-zedboard。Zybo全栈开发教程共分为三部分:自定义IP、移植Linux操作系统、编写驱动模块和应用。通过这三部分你将能够全面熟悉Zynq AP SoC架构的开发流程,包括FPGA逻辑电路设计、软件编程、Linux操作系统及软件开发,以及如何在Zybo开发板中应用这些技能。
在这个教程中,我们将以Digilent官网提供的Zybo Base System Design作为基础。它的架构如图。可以看到,UART1连接到USB-UART, SD0连接到SD Card Slot, USB0连接到USB-OTG port, Enet0连接到Giga-bit Ethernet Port,GPIO连接到Btn4/5,以及Quad SPI连接到on-board QSPI Flash。这些处理系统(Processing System, 简称PS)内的硬件IP通过复用I/O接口连接到板上的外设。在可编程逻辑(Programmable Logic, 简称PL)的部分,我们有HDMI Tx Controller, VDMA, I2C以及GPIO等等IP核。更多的资料可以看下载这个Zybo基本系统时包含的文件。
教程开始之前我们要先明确所需要的资料如下:
Zybo Board硬件板卡
Vivado 2014.1 Webpack软件开发环境
Zybo Base System:板卡底层基础配置
U-boot:与ZYBO板卡硬件设计相关
Linux内核源码
根文件系统
注:相关资料可以在Digilent的GitHub账户上找到(即 https://github.com/DigilentInc )
自定义IP就是让用户在Zynq SoC的FPGA部分实现自己的功能模块逻辑设计:
步骤一:下载zybo base system文件
步骤二:使用vivado工具打开zybo base system文件
首先我们需要设置Vivado的环境变量,共有四个选项分别是settings64.sh、settings32.sh、settings32.csh和settings64.csh,请根据机器系统是32位还是64位以及bash版本来使用。
步骤三:删除已存在的LED模块
步骤四:设置ip核Vendor
步骤五:创建myLed IP模块
步骤六:增加模块接口
步骤七:编辑IP功能逻辑代码
步骤八:封装IP模块
步骤九:将自定义IP myLed_v1.0增加到系统中
步骤十:连接外部led端口
步骤十一:修改约束文件,生成比特流文件
下篇文章中将向大家介绍在本篇内容基础上移植Linux操作系统,进一步深入了解Zynq SoC的开发模式。
全部0条评论
快来发表一下你的评论吧 !