欢迎您来到英达维诺、祝您体验愉快! 咨询热线:15013440483

FPGA设计研修班(Xilinx高级班)

第二十五期FPGA设计研修班(Xilinx高级班)
 
 
一、课程介绍
高级FPGA系统设计需要研究包括设计方法学、算法和数据结构、编程语言和程序、体系结构与硬线逻辑以及设计与实现工具五个关键问题。只有学习掌握好这5个方面的知识,并深刻理解这五个方面的关系,才能做到从总体上把握全系统,设计出满足要求的高性能数字系统。
    FPGA系统设计实质上是一个同步时序系统的设计,理解掌握时序的概念,并能进行正确完整的时序约束,是实现高性能系统的重要保证。本课程按照"从宏观到微观,从顶层到底层"的系统设计原则,以"时序分析与设计(Timing Analyzing and Design)"为主线,按照从"高性能内部逻辑设计"到"高速外部接口设计"再到"FPGA嵌入式系统"的顺序,深入探讨了"FPGA和FPGA数字系统"、"FPGA设计流程与时序收敛"、"Virtex-4和Virtex-5高级资源"、"FPGA高速I/O接口设计"以及FPGA嵌入式系统开发的高级特性与技术5大主题。课程内容结合了美国相关原版培训课程和培训讲师的科研教学实践,理论丰富,实验合理,具有非常强的系统性和实用性,可以引导学员快速提高FPGA数字系统设计水平,从而能够更快地创建设计,缩短开发时间,降低开发成本。

二、研修时间、地点:2016年05月21-24日(20日报到)       深圳(具体路线另行通知)
三、培训对象
    课程适合于使用FPGA器件进行科研和产品开发的具有中等水平的工程技术人员,也适合于相关专业领域具有相当水平的教师和研究生。
四、工具平台
    培训课程使用的所有软硬件工具由培训方提供。并可以以优惠的价格向学员提供Spartan3E的高级开发板一块,以方便学员在学习结束后继续深入研究。本次培训使用的硬件平台: Spartan3E的高级开发板
五、授课大纲
  5.1 主题1:FPGA和FPGA数字系统(2个学时)
  5.1.1 学习目标:
    本节通过对数字信号处理、计算(Computing)、算法和数据结构、编程语言和程序、体系结构和硬件逻辑以及设计方法学的基本概念和它们之间关系的介绍,使学员从更高的层次上去理解FPGA数字系统的设计问题。通过本节,希望学员能够理解现代电子系统的三大基本关系(模拟系统与数字系统的关系/软件与硬件的关系/同步系统与异步系统的关系),理解FPGA的基本结构和技术特点。
  5.1.2  学习内容 
  ◇ 数字信号处理          ◇ 计算(Computing)的概念
  ◇ 算法和数据结构        ◇ 编程语言和程序          ◇体系结构与硬件逻辑    
  ◇ FPGA和FPGA数字系统(FPGA基本结构、FPGA发展趋势、FPGA应用)
  5.2 主题2:FPGA设计流程与时序收敛(4个学时)
  5.2.1  学习目标: 
    FPGA系统设计实质上是一个同步时序系统的设计,深入理解掌握时序的概念,并能使用时序约束工具对设计进行正确的、完整的约束,是实现高性能系统的重要保证。本节是对FPGA结构资源、设计流程和设计工具的归纳、总结与升华,使学员透过表面现象看到FPGA设计技术的实质,从而为掌握FPGA高级设计技术打下基础。
主要内容如下:深入理解FPGA设计和验证流程;掌握综合(Synthesize)的不同属性对性能改善的影响;通过使用高级实现(Implement)属性增加设计性能;掌握全局时序约束,进一步学习特定路径时序约束,并使用约束编辑器正确设置系统约束;运用静态时序分析工具(Timing Analyzer)和时序收敛流程解决时序问题;深入理解基于FPGA的软硬件协同系统设计环境(ISE、EDK、SysGen)。
  5.2.2 学习内容 ? 
  ◇ FPGA基本设计流程分析(包括FPGA基本配置方法)
  ◇ 全局时序约束(Global Period、Offset In、Offset Out)
  ◇ 实验:全局时序约束-使用Constraints Editor设置全局约束
  ◇ 时序分组与特定路径约束(路径的概念,路径分组方法,MultiCycle Path,False Path)
  ◇ 实验:特定路径约束-使用静态时序分析工具,查找设计瓶颈,添加特定路径约束,满足性能目标
  ◇ 高级综合和实现技术
  ◇ 实验:设计综合-使用不同的综合属性,产生不同的综合结果
  ◇ 实验:设计实现-使用不同的实现属性,提高设计性能
  ◇ 时序收敛流程分析(设计报告,时序收敛流程,静态时序分析)
  ◇ 基于FPGA的软硬件协同系统设计环境分析(包括EDK和SystemGenerator)
  5.3 主题3:Virtex-4和Virtex-5高级资源(3个学时)
  5.3.1  学习目标 
    学习掌握最新的FPGA设计分析方法和最流行的FPGA设计工具对实现高性能的FPGA数字系统意义重大。本节和上一节重点关注FPGA设计领域的新技术。
    Xilinx Virtex-4和Virtex-5 FPGA芯片是目前最先进的可编程逻辑器件。本节介绍Virtex-4和Virtex-5 FPGA提供的新资源和新设计方法,特别是时钟系统的设计方法和设计技巧。Virtex-4和Virtex-5高性能的源同步资源和技术为解决芯片间高速通信提供了有力保证。本节重点学习基于Virtex-4和Virtex-5的  时钟设计和源同步技术,为高速IO接口设计分析打下基础。
  5.3.2  学习内容 
  ◇ Virtex4资源(DCM、PMCD、ILOGIC、OLOGIC、ISERDES、OSERDES、Block RAM 、FIFO、DSP48等)
  ◇ Virtex-5资源(CLB、ISERDES、OSERDES、DSP48、EMAC、PCIe等)
  ◇ Virtex-4和Virtex-5时钟网络
  ◇ 实验:全局时钟资源设计-使用Clocking Wizard配置DCM和PMCD,产生不同时钟频率,并连接到全局资源
  ◇ Virtex-4和Virtex-5的I/O资源和源同步资源
  ◇ 实验:区域时钟网络设计-使用Virtex-4区域时钟资源设计接口时钟网络
  ◇ 实验:Source-Synchronous I/O资源设计-建立一个针对网络应用的源同步系统设计
  5.4 主题4:FPGA高速I/O接口设计(3个学时)
  5.4.1学习目标 
    FPGA片内工作频率可以达到500MHz,并且具有强大的并行处理能力,而芯片间接口速度已经成为高性能系统的瓶颈。高速系统主要有三种时钟结构,即全局时钟系统、源同步时钟系统和自同步时钟系统。本节重点学习源同步时钟技术的原理和应用,并有大量实例分析。学员将从理论和实践两个方面深入理解源同步技术在高速接口技术中的应用,学习使用静态时序分析工具分析高速接口的时序问题,学习使用源同步技术和源同步资源解决高速接口的时序问题。
    主要内容如下:学习源同步高速I/O接口技术;使用时序分析器查找接口时序失败原因,并修改设计以满足时序要求;分析学习高速多通道串行ADC与FPGA接口设计和高性能DSP芯片与FPGA接口设计。
  5.4.2 学习内容 ? 
  ◇ 全局时钟系统、源同步时钟系统和自同步时钟系统
  ◇ 源同步技术应用(LVDS SDR收发机和LVDS DDR收发机)
  ◇ 源同步技术应用(DDR存储器物理接口设计)
  ◇ 高级I/O时序分析(描述系统同步和源同步系统接口时序约束要求,使用静态时序分析工具分析如何实现可靠数据捕获,使用FPGA相关资源修改设计满足接口时序要求)
  ◇ 实验:系统同步SDR接口时序设计-使用时序分析器查找时序失败原因,修改设计以满足时序要求。
  ◇ 实验:源同步DDR接口时序设计-使用时序分析器查找时序失败原因,修改设计以满足时序要求。
  5.5 主题5:FPGA嵌入式系统高级特性与技术理论授课(8个学时)
  5.5.1学习目标
    随着FPGA技术的发展,在FPGA上实现单芯片片上系统在技术上已成为可能。基于FPGA的片上系统开发已成为目前FPGA应用的一个热点。但是基于FPGA的嵌入式系统开发对使用者的知识要求比较高,流程复杂,相关资料不多,这些都成为目前开发FPGA嵌入式系统的瓶颈问题。
    这部分内容以FPGA嵌入式系统开发初级班所授的技能为基础,要求学员具备基本的嵌入式系统开发以及C语言知识,主要围绕在嵌入式开发中较为重要的存储器技术、系统加速策略、支持各种操作系统的软件板级支持包技术、启动加载程序(Boot loader)设计以及软硬件联合调试等核心问题展开,使得学员能够理解和利用FPGA嵌入式系统设计中的高级性能来构建复杂的系统。
  5.5.2 学习内容 ? 
  ● 基于FPGA的嵌入式系统设计回顾
  ◇ FPGA嵌入式系统概述                   ◇ PowerPC/Microblaze嵌入式系统架构介绍
  ◇ EDK嵌入式开发套件介绍             ◇ Xilinx FPGA嵌入式开发流程概览
  ● 外部存储器控制器以及文件系统
  ◇存储器             ◇ EDK中支持的存储器控制器         ◇文件系统
  ● 使用ChipScope Pro片内逻辑分析仪调试系统
  ◇ 调试方法概述       ◇ 硬件调试           ◇ 软件调试             ◇ 软硬件协同调试
  ● OCM总线              ◇ OCM总线概述        ◇ OCM总线控制器        ◇ OCM外设
  ● 软件性能提升策略     ◇ 利用软件评测工具    ◇ 使用Cache来提升性能  ◇ CacheLink接口
  ● 硬件加速策略
  ◇ FSL加速策略(MicroBlaze)   ◇ APU加速策略(PowerPC)    ◇ 利用制作向导生成FSL外设
  ● CoreConnect总线功能模型仿真
  ◇ 总线功能模型(BFM)仿真      ◇ 总线功能语言(BFL)介绍   ◇ BFM仿真流程
  ● 异常与中断
  ◇ PowerPC/MicroBlaze的异常与中断  ◇ 在系统中引入中断支持特性      ◇ 中断服务程序
  ● 板级支持包(BSPs)    ◇ BSP概述
  ● Standalone BSP  ◇ VxWorks BSP     ◇ Linux BSP      ◇ XMK BSP      ◇ 第三方支持
  ● Boot Loader     ◇ 启动加载概述   ◇ SystemACE接口  ◇ 从闪存启动加载  ◇ 闪存写入工具
  5.6 主题6:FPGA嵌入式系统高级特性与技术实验部分(4个学时)
  5.6.1 学习目标 
    本节通过精心设计的6个连续的实验逐步展开,配合理论课程循序渐进地让学员依次掌握存储器控制器及文件系统、软硬件联合调试、系统性能调优、总线功能仿真以及从Flash实现启动加载等核心技术,使得学员能够理解这些在嵌入式系统设计中的关键技术并利用这些方法和思路来构建高度复杂的嵌入式系统。
  5.6.2学习内容 ? 
  ● 实验1-全面的系统开发:开发一个包含IP 核的完整硬件系统,实现与按钮、开关、LED、LCD和串口的通信。开发与开关、按钮、LCD 和串口通信的应用程序软件。生成并下载比特流到硬件板上。 
  ● 实验2-外部存储器和文件系统:设计包含片上OPB外设总线的DDR控制器IP核,开发应用程序,完成与外部存储器的文件相关的操作。 
  ● 实验3-利用ChipScope Pro分析器进行调试:利用 ChipScope Pro分析器,GDB工具,以及XMD工具,对堆栈相关错误进行硬软件协同调试。 
  ● 实验4-性能调整:剖析在处理器上运行的一段简单代码,利用高速缓存方法以及将算法迭代部分移植到硬件上的方法精心调整,提高设计性能。 
  ● 实验5-BFM(总线功能模型)仿真:创建一个EDK系统,其中包含某个IP核的IBM Core-Connect BFM,仿真该设计,验证IP功能。 
  ● 实验6-从闪存启动:开发一段执行某任务的应用程序,存储在闪存中,使用boot loader加载该程序,并从外部存储器中执行程序。