2024年9月北京Xilinx-ZYNQ & Ultra MP SOC设计技术高级研修班(裸芯片应用+PetaLinux)

  • 课程详情

一、课程背景

本课程是基于ZYNQ-7000系列和ZYNQ UltraScale+ MPSoC系列裸机应用与Linux系统制作的内容。它们都是由PS(ARM)和PL(FPGA)两部分协同组成。前者芯片采用28nm工艺,PS部分内含双核Cortex-A9加双核Cortex-R5硬核处理器,后者采用基于16nm 工艺,PS部分内含双核或四核Cortex-A53处理器加双核Cortex-R5处理器,后者拥有更强大算力。可编程逻辑PL部分由用户由HDL语言或BD(IP核组成)设计,并通过“互连”AXI模块连接在一起,这样可以实现用户设计的FPGA逻辑功能。通过串行(使用 ARM 处理器)和并行(使用可编程逻辑)处理相结合的方式,满足各种复杂的嵌入式高性能应用需求,同时可以利用其高度集成的优势大大降低成本、功耗和产品尺寸。

ZYNQ-7000开发可分为三方面:裸机应用、Linux操作系统定制与应用开发。裸机开发是不上系统,由SDK生成驱动,编程C语言来控制FPGA实现各种功能。后面则是利用Xilinx工具Petalinux生成Linux操作平台,再在Linux平台上编程C、Python或Gstreamer来实现各种FPGA功能,方便人机互动。

本课程从项目实用性出发,重点介绍ZYNQ-7000系列的工作原理和应用优势、项目的设计方法与流程、IP核的设计与生成、HLS设计生成IP核、AXI各种总线设计应用、时序分析与优化、调试工具与方法、SDK编程与调试,Petalinux定制内核、字符设备驱动和应用程序编写。以实际项目为主线贯穿知识点,力求学员能够亲自实操掌握这些技术。

最后对Zynq UltraScale+ MPSoC系列芯片设计高级应用进行讲解,包括硬件平台、异构加速、AI和视频应用、Gstreamer等,为学员进一步技术提升开启一扇门。

二、协办单位:

中国高科技产业化研究会智能信息处理分会

三、主办单位:

北京中际赛威文化发展有限公司

北京中际孚歌科技有限公司

四、研修时间:2024年9月20-22日   (三天授课)

五、研修地点:   北京(具体地点及路线图详见第二轮报到通知)

六、培训对象:

课程适合于使用FPGA器件进行裸机开发和嵌入式系统开发的工程技术人员,也适合于相关专业领域的教师和研究生。

七、工具平台

培训课程使用的部分软硬件工具由培训方提供。

硬件平台:基于Xilinx PYNQ Z2、黑金Zedboard、米尔MYC-C7Z015,基于Xilinx ZYNQ® UltraScale+™ ZU5的KV260。

软件平台:虚拟机Ubuntu、Vitis 2022.2 & 2021.2 Vivado & SDK 2018.3、Petalinux。

八、课程内容

本课程以讲解与实验相结合,通过学员听课和实操在较短的时间内掌握复杂的FPGA裸机和Linux系统制作的要领和知识,为今后学员的职业发展提供一份参考工程模版。

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生成,库函数使用和应用程序编写。

(2)串口通讯中断程序实例。学会如何使用Vitis设计C语言串口程序,介绍最常用的中断程序编程方法,并使用Vitis软件生成镜像文件,在开发板上使用串口调试小助手进行中断用户处理程序的设计验证。

(3) FIFO例程。FIFO原理、IP核例化与测试、开发板调试,学会testbench与逻辑分析仪ILA的使用。

(4)DMA原理、分类、IP核的例化、SDK的读写调用、开发板调试。

(5)任意信号发生器的设计与验证。自制IP核的设计、验证与使用,掌握testbench、逻辑分析仪ILA和虚拟输入输出VIO等FPGA调试工具。

(6)HLS IP核设计、AXI4、AXI4-Lite、AXI4-stream、AXI4-video-stream HLS总线互连案例设计讲解并实操,以便掌握HLS和总线互连设计技术。

(7)基于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系列的升级产品,展示其在异构加速、图像处理和人工智能方面的强大功能。

九、主讲专家:

DR.Wang,博士,中兴、华为公司资深研发专家,历任国家轨道交通实验室技术总监、美资Oplink光联通讯公司研发总监、港资英海威光电通信公司技术总监、美资Lumentum公司高级研发经理、中兴通信公司大项目经理、华为公司资深硬件专家,长期在国内外头部企业从事研发和管理工作,实战经验丰富,同时兼任多家大学教授,对于FPGA授课培训有成熟独特的方式体系,深受学员好评。

十、培训费用及注意事宜:

1.培训费:4500元/人 (含培训费、午餐费、资料费、证书费)。

2.付款方式:学员报名后,请直接将款汇到指定账号(见回执表)。

3.以上费用不含食宿,培训期间食宿可统一安排,费用自理。

4.培训会务工作由北京中际孚歌科技有限公司组织,并为学员出具正式发票。

十一、课程咨询:010-64113137