一、课程介绍
高级FPGA系统设计需要研究包括设计方法学、算法和数据结构、编程语言和程序、体系结构与硬线逻辑以及设计与实现工具五个关键问题。只有学习掌握好这5个方面的知识,并深刻理解这五个方面的关系,才能做到从总体上把握全系统,设计出满足要求的高性能数字系统。所谓"会当凌绝顶,一览众山小"正是这样一种感觉。
《高级FPGA系统设计》课程主要讲授基于FPGA的数字系统设计关键技术,首先从设计方法学、算法和数据结构、编程语言和程序、体系结构与硬件逻辑以及设计与实现工具5个方面引导学员深入学习理解FPGA数字系统设计的本质问题。然后,重点学习FPGA硬件逻辑设计技术,包括FPGA结构资源、FPGA设计工具、FPGA设计方法和FPGA应用等。
FPGA系统设计实质上是一个同步时序系统的设计,理解掌握时序的概念,并能进行正确完整的时序约束,是实现高性能系统的重要保证。本课程按照"从宏观到微观,从顶层到底层"的系统设计原则,以"时序分析与设计(Timing Analyzing and Design)"为主线,按照从"高性能内部逻辑设计"到"高速外部接口设计"再到"FPGA嵌入式系统"的顺序,深入探讨了"FPGA和FPGA数字系统"、"FPGA设计流程与时序收敛"、"Virtex-4和Virtex-5高级资源"、"FPGA高速I/O接口设计"以及FPGA嵌入式系统开发的高级特性与技术5大主题。课程内容结合了美国相关原版培训课程和培训讲师的科研教学实践,理论丰富,实验合理,具有非常强的系统性和实用性,可以引导学员快速提高FPGA数字系统设计水平,从而能够更快地创建设计,缩短开发时间,降低开发成本。
本课程的先修课程是《初级FPGA系统设计》,《初级FPGA系统设计》包括了FPGA数字系统和FPAG嵌入式系统设计的基本知识。对FPGA嵌入式系统设计感兴趣的学员,除了初级班与本课程外,还可以继续参加《基于FPGA的嵌入式开源Linux开发》课程的学习。
希望深入学习算法与计算结构,以及基于FPGA的高性能DSP系统设计技术的学员,除了参加本课程的学习外,还可以参加《FPGA-DSP系统设计》(初级课程)和《高级FPGA-DSP系统设计》专题课程的学习。
本课程为期四天,课程时间大致安排为:讲课占60%~80%,实验占20%~40%。培训课程使用的所有软硬件工具由培训方提供。根据培训时间和地点的不同,软硬件版本会有所变化。
Xilinx公司技术体系和Altera公司技术体系非常相近。本课程虽然使用Xilinx技术体系作为学习平台,但是使用Altera公司技术体系的用户同样可以获得很大的收获。
二、主办单位:中国高科技产业化研究会信号处理专家委员会
三、研修时间、地点:
2009年05月21-24日(20日报到) 北京(具体路线另行通知)
四、培训对象 课程适合于使用FPGA器件进行科研和产品开发的具有中等水平的工程技术人员,也适合于相关专业领域具有相当水平的教师和研究生。
参加学习的学员应该具有数字电路、嵌入式系统和C语言的基本知识,具备Verilog或VHDL的中等知识,至少具备采用Xilinx\Altera工具和Xilinx\Altera FPGA器件6个月以上设计经验。
五、工具平台 培训课程使用的所有软硬件工具由培训方提供。根据培训时间和地点的不同,软硬件版本会有所变化。培训方可以以优惠的价格向学员提供基于Xilinx XC3S500E的高级开发板一块,以方便学员在学习结束后继续深入研究。
6.1.软件工具:
● Xilinx ISE ● Xilinx EDK ● Xilinx System Generator ● Xilinx ChipScope Pro
● Synplicity Synplify Pro ● ModelSim SE ● Matlab/Simulink
6.2.硬件工具:
6.2.1 高性能PC机(P4 2.4G/1G内存以上配置)
6.2.2 Xilinx XC3S500E:该开发系统是Xilinx公司专门设计用于提供教育培训服务的一款开发板,它的很多创新特性为数字工程类课程以及研究提供了完整的技术支持,如数字系统设计、计算机架构、嵌入式系统、实时操作系统、数字信号处理、图像与视频处理和数字通信等,可以实现片上课程理念,板上主要资源大致如下:
● FPGA ◇ 50万门,XC3S500E-4FG320C
● 存储器
◇ M25P16 16Mbit 串行Flash ◇ TE28F128 128Mbit StrataFlash ◇ DDR SDRAM, 256Mbit
● 接口
◇ Ethernet - SMSC LAN83C185 Ethernet PHY ◇ VGA显示端口
◇ USB用于软件下载、调试、PC通信 ◇ 2路RS232串行口,PS/2键盘、鼠标接口
◇ 2通道串行A/D,4通道串行D/A ◇ 100-pin Hirose FX2 plug connector
● 电源
◇ Linear Technologies电源供电 ◇ TPS75003 三路电源管理IC
● 应用
◇ 可以支持32位RISC处理器, 可以采用Xilinx的MicroBlaze以及嵌入式开发系统以及PicoBlaze
◇ 支持DDR接口的应用 ◇ 支持基于Ethernet网络的应用 ◇ 支持大容量I/O扩展的应用 六、授课大纲 7.1 主题1:FPGA和FPGA数字系统(2个学时) 7.1.1 学习目标: 本节通过对数字信号处理、计算(Computing)、算法和数据结构、编程语言和程序、体系结构和硬件逻辑以及设计方法学的基本概念和它们之间关系的介绍,使学员从更高的层次上去理解FPGA数字系统的设计问题。通过本节,希望学员能够理解现代电子系统的三大基本关系(模拟系统与数字系统的关系/软件与硬件的关系/同步系统与异步系统的关系),理解FPGA的基本结构和技术特点。 7.1.2 学习内容 ? ◇ 数字信号处理 ◇ 计算(Computing)的概念 ?◇ 算法和数据结构 ◇ 编程语言和程序 ◇体系结构与硬件逻辑 ◇ FPGA和FPGA数字系统(FPGA基本结构、FPGA发展趋势、FPGA应用) 7.2 主题2:FPGA设计流程与时序收敛(4个学时) 7.2.1 学习目标: FPGA系统设计实质上是一个同步时序系统的设计,深入理解掌握时序的概念,并能使用时序约束工具对设计进行正确的、完整的约束,是实现高性能系统的重要保证。本节是对FPGA结构资源、设计流程和设计工具的归纳、总结与升华,使学员透过表面现象看到FPGA设计技术的实质,从而为掌握FPGA高级设计技术打下基础。 主要内容如下:深入理解FPGA设计和验证流程;掌握综合(Synthesize)的不同属性对性能改善的影响;通过使用高级实现(Implement)属性增加设计性能;掌握全局时序约束,进一步学习特定路径时序约束,并使用约束编辑器正确设置系统约束;运用静态时序分析工具(Timing Analyzer)和时序收敛流程解决时序问题;深入理解基于FPGA的软硬件协同系统设计环境(ISE、EDK、SysGen)。 7.2.2 学习内容 ? ◇ FPGA基本设计流程分析(包括FPGA基本配置方法) ◇ 全局时序约束(Global Period、Offset In、Offset Out) ◇ 实验:全局时序约束-使用Constraints Editor设置全局约束 ◇ 时序分组与特定路径约束(路径的概念,路径分组方法,MultiCycle Path,False Path) ◇ 实验:特定路径约束-使用静态时序分析工具,查找设计瓶颈,添加特定路径约束,满足性能目标 ◇ 高级综合和实现技术 ◇ 实验:设计综合-使用不同的综合属性,产生不同的综合结果 ◇ 实验:设计实现-使用不同的实现属性,提高设计性能 ◇ 时序收敛流程分析(设计报告,时序收敛流程,静态时序分析) ◇ 基于FPGA的软硬件协同系统设计环境分析(包括EDK和SystemGenerator) 7.3 主题3:Virtex-4和Virtex-5高级资源(3个学时) 7.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接口设计分析打下基础。 7.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资源设计-建立一个针对网络应用的源同步系统设计 7.4 主题4:FPGA高速I/O接口设计(3个学时) 7.4.1学习目标 FPGA片内工作频率可以达到500MHz,并且具有强大的并行处理能力,而芯片间接口速度已经成为高性能系统的瓶颈。高速系统主要有三种时钟结构,即全局时钟系统、源同步时钟系统和自同步时钟系统。全局时钟系统属于经典时钟结构,工作频率一般在200MHz以下,远远不能满足现代数字系统性能要求。现代高性能系统主要使用源同步时钟技术和自同步时钟技术。本节重点学习源同步时钟技术的原理和应用,并有大量实例分析。学员将从理论和实践两个方面深入理解源同步技术在高速接口技术中的应用,学习使用静态时序分析工具分析高速接口的时序问题,学习使用源同步技术和源同步资源解决高速接口的时序问题。 主要内容如下:学习源同步高速I/O接口技术;使用时序分析器查找接口时序失败原因,并修改设计以满足时序要求;分析学习高速多通道串行ADC与FPGA接口设计;分析学习高性能DSP芯片与FPGA接口设计。 7.4.2 学习内容 ◇ 全局时钟系统、源同步时钟系统和自同步时钟系统 ◇ 源同步技术应用(LVDS SDR收发机和LVDS DDR收发机) ◇ 源同步技术应用(DDR存储器物理接口设计) ◇ 高级I/O时序分析(描述系统同步和源同步系统接口时序约束要求,使用静态时序分析工具分析如何实现可靠数据捕获,使用FPGA相关资源修改设计满足接口时序要求) ◇ 实验:系统同步SDR接口时序设计-使用时序分析器查找时序失败原因,修改设计以满足时序要求。 ◇ 实验:源同步DDR接口时序设计-使用时序分析器查找时序失败原因,修改设计以满足时序要求。 7.5 主题5:FPGA嵌入式系统高级特性与技术理论授课(8个学时) 7.5.1学习目标 随着FPGA技术的发展,在FPGA上实现单芯片片上系统在技术上已成为可能。基于FPGA的片上系统开发已成为目前FPGA应用的一个热点。但是基于FPGA的嵌入式系统开发对使用者的知识要求比较高,流程复杂,相关资料不多,这些都成为目前开发FPGA嵌入式系统的瓶颈问题。 这部分内容以FPGA嵌入式系统开发初级班所授的技能为基础,要求学员具备基本的嵌入式系统开发以及C语言知识,主要围绕在嵌入式开发中较为重要的存储器技术、系统加速策略、支持各种操作系统的软件板级支持包技术、启动加载程序(Boot loader)设计以及软硬件联合调试等核心问题展开,使得学员能够理解和利用FPGA嵌入式系统设计中的高级性能来构建复杂的系统。同时该课程虽然限于FPGA平台,但对理解其他类型的嵌入式系统也有一定的帮助。 7.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接口 ◇ 从闪存启动加载 ◇ 闪存写入工具 7.6 主题6:FPGA嵌入式系统高级特性与技术实验部分(4个学时) 7.6.1 学习目标 本节通过精心设计的6个连续的实验逐步展开,配合理论课程循序渐进地让学员依次掌握存储器控制器及文件系统、软硬件联合调试、系统性能调优、总线功能仿真以及从Flash实现启动加载等核心技术,使得学员能够理解这些在嵌入式系统设计中的关键技术并利用这些方法和思路来构建高度复杂的嵌入式系统。 7.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加载该程序,并从外部存储器中执行程序。 七、培训讲师 王老师:毕业于北京理工大学信号与信息处理专业,获工学博士学位。现任天津工业大学-Xilinx信号传输与处理联合实验室主任,副教授,硕士生导师。中国高科技产业化研究会高级会员,中国高科技产业化研究会信号处理专家工作委员会委员,Xilinx大学教育指导委员会副主任委员。中际赛威FPGA技术高级研修课程主讲讲师,Xilinx大学计划主讲讲师。理论功底扎实,实践经验丰富,主持过多项基于FPGA的科研项目,主讲过各层次FPGA技术课程三十多场,深受学员好评。 张老师:博士,毕业于西安交通大学机电工程专业,现任某高校Xilinx大学计划联合实验室负责人,副教授,硕士生导师。中际赛威FPGA技术高级研修课程主讲讲师,Xilinx大学计划主讲讲师。主要研究方向为基于FPGA的嵌入式系统、高性能FPGA计算等。作为项目负责人研制的基于FPGA的低成本高效能可重构计算系统得到了国家科技部的基金支持。主讲过多场培训,深受学员好评。 八、授课方法: 采用理论与上机实践同步的专题讲解,结合交流、讨论、案例分析等互动的方式,学习后向经考核合格的学员颁发证书。并为学员与专家、学员与学员之间建立广阔的交流平台,使学员在学习后也可以与专家共同解决在自己工作实践中碰到的困惑与难题。 九、收费标准:2200元/人,3-5人9.5折优惠,6人以上9折优惠,含资料\午餐\课时费。 附: 如果需要购买Xilinx XUP Spartan3E开发板,另收开发板费用1600元 十、付款方式:学员报名后,请直接将款汇到指定账号(见回执表)。 报名咨询 曲老师;010-64113137转1006 手机 13264377226 |
|
|
文章评论(0条评论)
登录后参与讨论