教学优势
曙海教育的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系。曙海教育的课程在业内有着响亮的知名度。
本课程,秉承20年积累的教学品质,以项目实现为导向,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。
课程简介:
课程目标:
课程大纲:
程大纲:
1、ZYNQ-7000硬件系统设计知识点
(1)基本电路设计:主要管脚、常用外设设计、JTAG电路设计、上电启动流程。
(2)片上资源介绍:逻辑资源Slice、LUT和CLB,时钟管理和分配,IO和存贮资源。
(3)PS外设接口资源与设置,PS与PL连接资源与方式。
(4)Xilinx自带IP库功能、例化与使用。
(5)定制IP核设计与使用,分别介绍单个IP核、子系统IP核和RTL IP核。
(6)AXI总线介绍和AXI IP核设计。
(7)XDC管脚与时序约束文件的设计与使用。
(8)时序分析技术,前仿真、后仿真和原理图时序定位。
(9)时序优化技术,插入寄存器、并行结构、逻辑展开、寄存器平衡、路径重组、Fanout限制、IP核的引入。
(10)裸机地址映射与库函数、初始化、中断程序和主程序编写,以实现用户对硬件的控制。
2、ZYNQ-7000 裸机开发实例(工具Vitis、Vivado和SDK)
(1)三种I/O接口方式MIO、EMIO和AXI GPIO流水灯例程。从流水灯例程中学会使用MIO、EMIO和AXI GPIO,Vivado的设计,IP核的使用,Vitis软件创建硬件平台与应用平台,BSP生成,库函数使用和应用程序编写。
(3) FIFO例程。FIFO原理、IP核例化与测试、开发板调试,学会testbench与逻辑分析仪ILA的使用。
(4)DMA原理、分类、IP核的例化、SDK的读写调用、开发板调试。
(5)任意信号发生器的设计与验证。自制IP核的设计、验证与使用,掌握testbench、逻辑分析仪ILA和虚拟输入输出VIO等FPGA调试工具。
(6)基于LwIP协议千兆以太网的设计与验证。学会ZYMQ7 IP核的配置和网络通信的程序设计,在开发板上使用网络调试助手进行设计验证。
3、ZYNQ-7000软件系统设计
(1)定制Linux工具Petalinx软件原理和开发流程介绍。
(2)工程文件参数配置、本地sstate-cache和根文件系统配置介绍。
(3)网络连接、镜像源和域名服务器的配置。
(4)定制模块module、层layer、应用app和软件包package的方法。
(5)开机自启动程序配置方法。
(6)设备树的概念和设置
(7)开发板具备编译功能的设计方法,不必使用交叉编译。
(8)硬件设计的升级方法。
(9)启动串口输出内容介绍与故障诊断。
(10)镜像文件BOOT、image.ub和root文件介绍。
(11)SD启动盘的制作和烧写。
4、Petalinux定制Linux系统与驱动程序开发实例
(1)GPIO驱动与应用程序编写,Petalinux制作Linux系统。介绍字符驱动的概念与编程方法。介绍文件描述符、打开设备文件、读文件、写文件与释放设备文件,设备的初始化函数,设备号的静态与动态申请,设备结构体的初始化与注册,设备节点的创建等概念与编程,用Petalinux工具生成系统和驱动程序,并在开发板制作的Linux系统上用C语言编程实现GPIO流水灯的控制。亦介绍了GPIO另外一种简单的控制方法SysFs编程与实现。
(2)DMA驱动与应用程序编写,Petalinux制作Linux系统。介绍DMA基本概念,系统描述符、设备树配置、自启动模块与脚本的编写、GCC编译功能的添加、BSP作用与输入输出、本地化配置sstate-cache、网络参数配置、硬件引入与升级、SD卡镜像制作、DMA驱动程序和应用程序编写与解读,并对这些内容进行实操,最后在开发板上用全流程自己制作的SD卡镜像进行验证。
5、新技术PYNQ 和ZYNQ MPSoC介绍
本节将为学员展示Xilinx的新产品、新技术,为学员展望未来FPGA的发展之路。
(1)PYNQ技术介绍。使用高级语言Python来开发FPGA, 通过Python编程就可以调用FPGA模块,不需要懂Verilog/VHDL硬件编程就可以享受FPGA可并行计算、接口可方便扩展和可灵活配置带来的诸多好处。
(2)演示通过PYNQ在ZYNQ 7000开发板上实现点灯、图像处理和神经网络诸多功能,展示其通过简易方法来实现复杂功能的强大处理能力。
(3)演示基于Ultrascale+ MPSoC系列的Ultra96或Kria KV260开发板的项目例程,其作为ZYNQ系列的升级产品,展示其在异构加速、图像处理和人工智能方面的强大功能。
练习
答疑