【FPGA中国好教程】手把手教你在Zynq SoC上面实现千兆以太网I/O

赛灵思最新的技术提示会为您提供在所有系列的Zynq SoCs上实现嵌入式千兆以太网接口一些基础知识。该技术提示也适用于在Zynq SoC可编程逻辑中实例化额外的Gbps以太网接口(如果您需要,可以实例化多个接口)。

要熟悉基本的以太网工具,包括Wireshark的协议分析仪和用于Linux的netperf基准工具。

以下是在Zynq SoCs上实现Gbps以太网接口的具体步骤

1:加载vivado IDE 设计工具:Vivado 2015.1或最新的版本

在WIN7操作系统中,选择Start > All Programs > Xilinx Design Tools > Vivado 2015.1 > Vivado 2015.1

在Linux操作系统中,键入Vivado命令提示符,会出现如下 图1Vivado IDE

2:在启动窗口中选择“Create New Project”(创建新功能)如图1所示,一个新的Vivado工程向导将会打开

3:在创建新的Vivado工程窗口中,给出下一步步骤概述,单击下一步。

4:在工程名对话框中输入工程名(例如Zynq_PS_GEN)和工程存放的位置。确保创建项目的子目录被选中,然后单击下一步。

5:在工程类型对话框中,选择RTL Project并保证“ Don’t specify the sources at this time”被选中,并单击下一步。

6:在默认器件对话框中选择”Boards”并选择“ZYNQ-7 ZC702 Evaluation Board ”或“ZYNQ-7 ZC706 Evaluation Board”。保证你已选择正确的开发板版本来匹配你的硬件,因为在VivadoIDE中支持多个硬件版本。单机下一步

7:点击“Finish ”前,在新工程概述对话框中在检查一下工程配置。工程配置窗口如图2所示打开

8:在项目管理向导中的“IP integrator”下选择“Create Block Design”,在弹出的窗口“Please specify name of the block design ”中并输入设计名称或保持默认(design_1)选择“OK”

9:如图3所示,在design_1工程视图中选择“Add IP”,并在接下来弹出的查询窗口中选择“Zynq7 Processing System”。

10:在如图4中选择“ Run Block Automation”和“processing_system7_0”

11:接下来弹出的“Run Block automation ”中保证应用的开发板预设被选中,选择OK。

12:接下来窗口,选择和连接时钟输入。如图5所示

13:单击“Generate block design ”,并在接下来的弹出中完成导航流程

14:如图6所示表示成功创建HDL封装,并选择默认选项在接下来的弹出窗口中

15:同样选择File->Export->Export hardware,包括bitstream对话框没有被选中,因为PL部分没有用,下一步是选择File->Launch SDK,如图7选择下面的选项

16:如图8,SDK 工具被加载

17:创建新的应用工程来创建FSBL( First stage boot loader),如图9所示

18:输入工程名并单击下一步

19:在模版向导中选择Zynq FSBL并单击完成。如果自动编译打开,那么SDK将会编译Zynq FSBL.

20:下一步就是创建boot.bin文件。U-boot.elf文件也需要。根据技术提示可以编译u-boot或从提供的设计文件中拷贝u-boot.elf文件。

21:如图10所示,选择完成后,在 Create Boot Image向导中输入BIF文件名称,并浏览Zynq_FSBL.elf和u-boot.elf文件路径选择“Create Image”按钮,重新命名输出文件output.bin为boot.bin。在SD卡中使用bin文件。

22:可以使用在21步提供的预购建映象文件或以下在wiki.xilinx.com网站获取的源文件构建U-Boot和Linux源文件来运行demo
http://www.wiki.xilinx.com/Build+U-Boot#Zynq
http://www.wiki.xilinx.com/Build+Kernel#Zynq

23:根据赛灵思的技术提示预购建的映象文件或上面步骤所建立好的映象文件来运行demo就:把所有必需的文件发到SD卡中
Boot.bin
Ulmage
Device-tree.dtb(设备树)
Root file system Image(uramdisk.image.gz)
NetPerf executables:NetPerf and NetServer
Ifperf executables:iperf_arm

24:通过UART电缆连接PC到Zynq开发板并提供电源,并连接通过RJ45线缆把Zynq7000 AP soc连接到PC的以太网接口上。

25:给Znyq套件上电,一旦Zynq引导到linux,键入以下命令
Mount the SD card:
mount/dev/mmcblk0p1/mnt
cd/mnt

26:为以太网端口0设置IP 地址 zynq>ifconfig eth0 192.168.1.11

27:在主机上为LAN使用本地连接属性设置静态IP如192.168.1.10

注意:本文为原创文章,转载请注明作者及原文链接,谢谢!