|
中嵌学院--FPGA (IC前端)Verilog 数字系统设计工程师培训班
[复制链接]
中嵌学院
FPGA (IC前端)Verilog 数字系统设计工程师培训班
招生简章
中嵌学院(中嵌教育)再次以实干精神,以一流的高端技术服务于社会。中嵌学院(中嵌教育)联合北京神州龙芯IC设计公司、重庆EDA平台强势推出《FPGA (IC前端) Verilog 数字系统设计工程师培训班》,聘请国内数字逻辑与Verilog嵌入式系统设计专家 夏宇闻 教授亲临授课。旨在为业界提供数字系统设计的实用型人才。
本课程以项目实战为主,以北京神州龙芯IC设计公司开发的基于龙芯CPU核的SOC高档FPGA验证平台为课程实验平台。
一、 课程目标:
随着超大规模集成电路(VLSI)技术和计算机辅助设计(CAD)技术的发展,越来越多系统设计是基于现场可编程门阵列(FPGA)的。采用FPGA器件可以将原来电路板级产品集成为芯片级产品,从而降低了功耗,提高了系统可靠性。今天FPGA正在以惊人的速度发展着。一个芯片可以包含数百万个门,而且有越来越多的FPGA内可以嵌入各种档次的CPU,出现了SOPC系统,代表着嵌入式系统发展的新方向。芯片设计正由传统的专业芯片机构向个人设计转变,谁能早一步掌握这门技术,就能在人才市场的竞争中立于有利位置。本课程是专门为下列人员而量身定制的:1)想有系统地了解FPGA的逻辑结构,掌握FPGA电路设计流程和方法,学会基于FPGA的IP开发方法的人;2)想掌握基于SOPC系统设计方法的人。3)想掌握如何设计和验证由硬件加速的高性能嵌入式数字系统的人;
二、 招生对象:
具有数字电路基本知识。对电路设计有一定程度的了解,电子工程、计算机、自动控制专业的大学本科毕业生,以及想进入数字设计领域,并对该领域有强烈兴趣的工程师或技术人员,每班次最多只招收20人。
三、 上课形式:
上午:9:00-12:00 理论讲课
下午:14:00-18:00 试验辅导
四、 课时:17天(120课时)
五、 开课程时间:2008年10月16日
六、 上课老师简介:
夏宇闻:北京航空航天大学电子信息工程学院退休教授,目前担任神州龙芯IC设计公司技术顾问。60年代毕业于清华大学自动控制系,计算技术与装置专业。改革开放后首届硕士学位获得者,1986年以教育部公派交流学者身份出国工作。目前主要从事复杂数字逻辑和嵌入式系统的设计研究和教育,有丰富的教学和工程实践经验。曾获得包括国家发明二等奖在内的多项国家级奖励,发表论文多篇。编写和翻译出版的著作包括:《Verilog 数字设计教程》、《Verilog HDL 数字设计与综合》、《SystemVerilog 验证方法学》和《数字逻辑基础与Verilog设计》等。
七、 课程大纲
第一阶段 Verilog数字系统设计基础
第一天 Verilog 基础知识
? 硬件描述语言概况和绪论
? Verilog语言的优点适用的场合
? 软核、固核和硬核与IP的重用与Verilog的关系
? 数字逻辑设计的流程和工具
? 层次管理和设计的仿真和优化
? 测试平台(testbench)的概念
? 一个简单设计的全过程举例
第二天 Verilog 基本语法 ? 模块的基本概念
? RTL模块和Testbench模块的不同点
? 模块的结构、数据类型、常量和变量
? 运算符和表达式
? 赋值语句和过程块语句
? 条件语句、循环语句、过程块语句和生成语句
第三天 Verilog 的简单系统和
测试模块 ? Verilog模型的不同抽象
? Verilog的门级结构的模型
? Verilog的行为模型
? 可综合的组合逻辑的设计和验证
? 基本电路组件:加法器、乘法器、多路器、
? 总线和总线操作、流水线
第四天 数字系统的 Verilog 模型 ? 数据流动的控制逻辑
? 数据在寄存器中的暂时保存
? 数据流动的控制
? Verilog设计中的同步时序逻辑
? 数据接口的同步方法
第五天 时序电路设计要点 ? 同步有限状态机的结构
? 米利状态机和摩尔状态机
? 如何用Verilog 来描述有限状态机
? 可综合状态机的设计指导原则
? 可综合风格的Verilog 模块设计举例
? 状态机的同步复位和异步复位
第六天 复杂数字电路设计实践 ? 深入理解阻塞赋值和非阻塞赋值的不同
? 较复杂时序电路设计实践:RTL设计和testbench的编写。
? I2C接口设计的分析、实现和验证。
? RISC-CPU设计的分析、实现和验证。
第二阶段 基于FPGA的嵌入式系统设计(嵌入式协处理器-FPGA)
第七天 FPGA组织结构和设计流程 ? 与FPGA相关的概念
? FPGA的结构组成
? 基于SRAM的FPGA的结构和实现方式
? 反熔丝编程和基于Flash的FPGA的结构和实现方式
? 掌握逻辑设计流程
? 掌握硬件描述语言Verilog HDL
? 有限状态机的Verilog描述和综合
? 常用测试平台的编写和使用方法
第八天 Quartus 6.0简明教程 ? Quartus 6.0软件的运行及Modelsim的配置
? 用Verilog创建工程并设计输入
? 创建Testbench测试文件并用Modelsim进行RTL仿真和布局布线后的时序仿真。
? 用原理图设计输入
? 对顶层文件仿真
? 下载配置
? 使用布局逻辑块
? 使用FPGA布线工具
第九天 IP核开发 ? 学会使用参数化模块的实例调用
? IP资源复用理念与IP基本概念
? IP 核调用工具和FIFO, DPRAM等应用实例的设计和验证
? 学会使用IP核生成工具
? 学会将自己设计的IP核放入IP库
? IP核设计、入库和使用的实例
第十天 锁相环(LPM)
和SignalTap的使用 ? 利用 Quartus 提供的工具找到参数化锁相环 (PLL)
? 在FPGA芯片中实现 PLL 模块的不同频率和相位时钟的配置
? 学会在实现电路中用 SignalTap II 等逻辑观察和分析工具
? 在复杂数字系统中使用PLL
第十一天 RISC-CPU的开发 ? 回忆Verilog基础中的RISC-CPU的开发
? 改造该RISC-CPU到FPGA上运行
? 中断控制器的概念和设计
? 键盘扫描控制器的概念和设计
? 硬件和软件系统的仿真调式
? 硬件和软件系统在FPGA上的运行调试实验
第十二天 SOPC Builder开发环境 ? SOPC Builder开发流程
? 用SOPCBuilder设计流程实例
? 嵌入式CPU核NiosII的介绍
? 如何用NiosII 最小系统构成系统
? 用最小系统控制LED闪烁的实验
第十三天 NiosII IDE 嵌入式处理器
软/硬件系统软件程序
一体化开发环境 ? Nios II IDE 软件开发流程
? 软/硬件联合开发设计流程实例
? 用NiosII核、自己设计的简单IP核 、现成的IP核、Avalon总线和SRAM等外围器件构成LED阵列控制器,并编写配套软件,
? 在按钮控制下显示多个16x16点阵的汉字。
? 操作系统问题的探讨
第三阶段 嵌入式系统的专用算法硬件设计实践(FPGA)
第十四天 硬件加速器的一般概念 ? 硬件加速器的一般概念
? 什么是算法核心
? 用硬件来实现算法核心的意义
? 硬件加速器的两种基本结构
? 并行结构和流水线结构
? 块处理加速器和数据流处理两种加速器
第十五天 设计实例研究
视频图象的边沿检测 ? 视频图象边沿检测的Sobel卷积算法原理
? 简化算法的计算机软件程序
? 速度的要求和软件算法的瓶颈
? 计算速度对内存带宽的要求
? 根据速度要求设计相应的硬件结构
? 根据硬件结构的Verilog代码设计
第十六天 硬件加速器的验证 ? 验证的一般概念
? 从机总线操作的验证
? 计算时序的验证
? 主机总线操作的验证
? 地址自动产生的验证
? 像素计算的验证
? 验证Sobel加速器的测试平台的设计举例
第十七天 硬件加速器设计总结 ? 并行,即一次执行多个处理步骤,可以使加速器完成一个操作所需的时间减少。
? 加速器通过硬件资源的复制和流水线操作实现了并行,这使得我们必须权衡成本和性能(以及功耗和性能)对设计的重要性,从而做出正确的抉择。
? 可达到的并行程度受制于计算中数据的依赖度。
? 加速器的设计涉及算法分析,确定由硬件完成的算法核心。算法的其它部分可由嵌入式软件完成。
? Amdahl法则量化了由加速算法核心部分所带来的总体速度提升。
? 加速器和高速I/O控制器可以采用直接存储器访问方式(DMA)向存储器写入/读出数据,而不需要处理器干预。在这种控制器里,由地址发生器为DMA方式计算存储器地址。
? 总线仲裁器可在任何时候,裁决由哪个总线主机控制总线,访问哪个总线从机,诸如存储器和I/O控制器中的寄存器。
? 块处理加速器处理储存在存储器中的数据块。许多视频和静止图像的处理应用是面向块处理的。
? 流处理加速器可以处理来自于源设备按照顺序到达的数据块。 数字信号处理(DSP)通常采用面向流处理的加速器。
? 加速器内部包含可由嵌入式软件设置的控制和状态寄存器。
? 采用穷举仿真对加速器进行验证通常是不现实的。可以操作的每个方面进行独立的验证,但完整的验证计划必须包括其它形式的验证。
|
|