端海教育集团
北京:(010)51292078 上海:(021)51875830
南京:4008699035 西安:(029)-86699670
成都:4008699035 武汉:027-50767718
广州:4008699035 深圳:4008699035
沈阳:024-31298103 石家庄:4008699035☆
全国统一免费热线:4008699035 微信号:shuhaipeixun或15921673576 QQ:849322415
首页 课程表 在线聊 报名 讲师 品牌 QQ聊 活动 就业
   课程背景    FPGA系统设计初级和中级班

        FPGA系统设计初级班培训课程主要帮助学员尽快掌握 FPGA 的开发流程和设计方法,以工程实践为例,循序渐进的学习FPGA的集成开发环境,开发流程以及硬件电路设计等知识。每次课程都配有相关实战训练,每个实战训练题目都可以在FPGA硬件平台上进行下载验证。通过实战,学员可以更好的理解消化课堂知识,工程实践水平会得到迅速提高。

   课程目标

        培养学员迅速掌握和使用FPGA数字系统开发工具、开发流程,能够独立进行初步的FPGA系统设计。经过培训,学员可以掌握HDL语言的初步开发能力,并且解决FPGA产品开发过程中的常见问题,掌握基于FPGA的设计和调试方法。

   培养对象

        FPGA系统的软件和硬件开发工程师;电子类专业的大学生和研究生;电子产品设计爱好者。

   入学要求

        学员学习本课程应具备下列基础知识:
        ◆电路系统的基本概念。

   班级规模及环境--热线:4008699035 手机:15921673576( 微信同号)
       坚持小班授课,为保证培训效果,增加互动环节,每期人数限3到5人。
   上课时间和地点
上课地点:【深圳分部】:电影大厦(地铁一号线大剧院站)/深圳大学成教院 【上海】:同济大学(沪西)/新城金郡商务楼(11号线白银路站) 【北京分部】:北京中山学院/福鑫大楼 【南京分部】:金港大厦(和燕路) 【武汉分部】:佳源大厦(高新二路) 【成都分部】:领馆区1号(中和大道) 【沈阳分部】:沈阳理工大学/六宅臻品 【郑州分部】:郑州大学/锦华大厦 【广州分部】:广粮大厦 【西安分部】:协同大厦 【石家庄分部】:河北科技大学/瑞景大厦
最近开课时间(周末班/连续班/晚班)
FPGA初级和中级班开课时间:请点击此处咨询在线客服
   实验设备
     ☆资深工程师授课

        
        ☆注重质量
        ☆边讲边练

        ☆合格学员免费推荐工作

        ☆合格学员免费颁发相关工程师等资格证书,提升您的职业资质

        专注高端培训二十载,曙海培训的学员得到企业的广泛认可,学员的能力
        得到大家的认同,受到用人单位的广泛赞誉。

        ★实验设备请点击这儿查看★
   最新优惠
       ◆请点击此处咨询在线客服

   同时报选《FPGA应用设计高级班》,即享受优惠!

   质量保障

        1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
        2、课程完成后,授课老师留给学员手机和Email,保障培训效果,免费提供课后答疑。
        3、培训合格学员可享受免费推荐就业机会。

   师资团队

【赵老师】

FPGA课程金牌讲师,项目经验非常丰富,15年FPGA/DSP系统硬件开发工作经验。熟悉整个EDA设计流程,熟练使用Alter、Xinlinx,ModelSim开发工具,精通Verilog HDL语言和VHDL语言,精通Nios II EDS/SOPC、、IP核、PCI PLX 9054数据采集卡等开发。

【陈老师】

资深FPGA开发工程师,FPGA培训课程金牌讲师,有8年的FPGA和DSP系统硬件开发经验,最近4年来一直从事视频和图像处理领域的高速DSP系统硬、软件和FPGA系统的设计和开发,具有非常丰富的高速系统设计经验,精通TI公司的C6000系列高速DSP和Altera公司的全系列FPGA/CPLD。

        更多师资力量请参见端海师资团队,请点击这儿查看

   课程进度安排
课程大纲(本教学方案有两种语言版本,如果学员想学VHDL语言编程,我们可根据要求调整)

第一阶段

    第一阶段的课程主要帮助学员了解FPGA系统设计的基础知识,掌握FPGA最小系统硬件电路设计方法,学会操作QuartusII软件来完成FPGA的设计和开发。

1.可编程逻辑设计技术简介
2.下一代可编程逻辑设计技术展望
3.可编程逻辑器件硬件上的四大发展趋势
4.EDA软件设计方法及发展趋势
5.FPGA的设计流程
6.FPGA的常用开发工具
7.FPGA的基本结构
8.主流低成本FPGA 芯片
9.FPGA芯片的选型策略详解
10.FPGA .V文件的编程规范
    10.1 单个.v文件的书写规范
    10.2 多个.v文件的书写规范
    10.3 声明部分的编写规范
    10.4 主体部分编写,always、initial、function、task的选择和使用
    10.5 Always语句块编写规范和注意要点
    10.6 Alwasys内部功能的扩充和Always直接的通信和协调
11.FPGA关键电路的设计(最小电路设计):

    11.1 FPGA管脚设计
    11.2 下载配置与调试接口电路设计
    11.3 RS-232串口
    11.4 字符型液晶显示器接口电路设计
    11.5 电源电路设计
    11.6 复位电路设计
    11.7 拨码开关电路设计 
    11.8 i2c总线电路设计
    11.9 时钟电路设计 
    11.10 图形液晶电路设计 
12.FPGA芯片的的结构
    12.1  FPGA的结构、内部逻辑单元及接口
    12.2  主流低成本FPGA的结构、内部逻辑单元及接口
    12.3  FPGA的布线策略

1. 实战一:在Altera的FPGA开发板上运行一个接口实验程序-交通灯的设计实现,如何控制Red,Green,Yellow灯在南北东西各个方向的交替运作。

   训练课题:“交通灯的设计实现”
    实验要点:
    1.1  Quartus II工程创建及属性设置
    1.2  Quartus II源文件设计输入方式
    1.3  Quartus II约束设计
    1.4  Quartus II工程编译
    1.5  Quartus II功能仿真
    1.6  Quartus II时序仿真
    1.7  Quartus II硬件下载

第二阶段

    熟练掌握硬件描述语言(Verilog HDL)是FPGA工程师的基本要求。通过本节课程的学习,学员可以了解目前最流行的Verilog HDL语言的基本语法,掌握Verilog HDL语言中最常用的基本语法。通过本节课程学习,学员可以设计一些简单的FPGA程序,掌握组合逻辑和时序逻辑电路的设计方法。通过实战训练,学员可以对Verilog HDL语言有更深入的理解和认识。

1.Verilog HDL语言简介
2.Verilog HDL语言逻辑系统
3.Verilog HDL操作数和操作符
4.Verilog HDL和VHDL语言的对比
5.Verilog HDL循环语句
6.Verilog HDL程序的基本结构
7.Verilog HDL语言的数据类型和运算符
8.Verilog HDL语言的赋值语句和块语,阻塞和非阻塞赋值语句的区别
9.Verilog HDL语言的条件语句,包括IF语句和CASE语句的典型应用
10.Verilog HDL语言的其他常用语句
11.Verilog HDL语言实现组合逻辑电路
12.Verilog HDL语言实现时序逻辑电路

1. 实战训练二:
   训练课题:“顺序执行状态机设计实验”
    实验要点:
    1.1  Quartus II软件操作
    1.2  组合逻辑电路设计实现
    1.3  IF语句和CASE语句的使用
2. 实战训练三:
   训练课题:“跑马灯设计实现”
    实验要点:
    2.1  Quartus II软件操作
    2.2  时序逻辑电路设计实现
    2.3  分频原理和实现方法
3. 实战训练四:
   训练课题:“7段数码管测试实验-以动态扫描方式在8位数码管“同时”显示0-7”
   实验要点:
    3.1  Quartus II软件操作
    3.2  了解如何按一定的频率轮流向各个数码管的COM端送出低电平,同时送出对应的数据给各段。
    3.3  介绍多个数码管动态显示的方法。

第三阶段

    虽然利用第二阶段课程学到的HDL基本语法可以完成大部分的FPGA功能,但相对复杂的FPGA系统设计中,如果能够合理的应用Verilog HDL的高级语法结构,可以达到事半功倍的效果。通过第三天课程的学习,学员可以掌握任务(TASK),函数(FUNCTION)和有限状态机(FSM)的设计方法,可以更好的掌握FPGA的设计技术。此外,本节课程还介绍了QuartusII软件的两个常用的高级工具-SignalTAP,可以提高FPGA设计和调试的效率。

1. TASK和FUNCTION语句的应用场合
2. Verilog HDL高级语法结构-任务(TASK)
3. Verilog HDL高级语法结构-任务(FUNCTION)
4. 有限状态机(FSM)的设计原理及其代码风格
5. 逻辑综合的原则以及可综合的代码设计风格
6. SignalTap II在线逻辑分析仪使用方法
7. FPGA编程思想梳理和升华
    7.1  状态机的使用技巧(嵌套,相互调用,顺序执行)
    1.2  标志的编程思想
    1.3  并发编程思想(提高代码执行效率的方法,Always协调和通信)
    1.4  分频的技巧

1. 实战训练五:
   训练课题:“典型状态机设计实例”
   实验要点:
    1.1  FSM设计方法
    1.2  状态机的编码(Binary、gray-code、one-hot等)
    1.3  状态机的初始化状态和默认状态(完整状态机设计)
    1.4  状态机的状态定义风格
    1.5  状态机的编写风格
2. 实战训练六:
   训练课题:“拨码开关设计实验”
   实验要点:

    2.1  Quartus II输入方式
    2.2  SignalTap II在线调试
    2.3 了解拨码开关的工作原理及电路设计
3. 实战训练七:
   训练课题:“矩阵键盘设计实验”
   实验要点:
    3.1  Quartus II原理图输入方式
    3.2 了解矩阵键盘的工作原理及电路设计

4. 实战训练八:SignalTap II逻辑分析仪实验
    4.1  SignalTap II逻辑分析仪分析流程
    4.2  SignalTap II逻辑分析仪使用技巧

第四阶段

    随着FPGA芯片的性能和密度不断提高, 基于FPGA的SOPC系统正在逐渐成熟并且在很多领域得到了应用。第四阶段课程主要给学员介绍Altera公司基于NIOSII软核的SoPC系统设计流程和方法。通过硬件开发板上的SoPC系统设计实验,学员能够体会SoPC技术给系统设计带来的灵活性。最后通过FPGA综合设计实验,学员完成对四天学习内容的回顾和总结。

1. 基于FPGA系统组成原理和典型方案
2. Altera公司的解决方案
3. FPGA的编程思想的总结
4. FPGA硬件开发的思路
5. FPGA调试方法

6. SOPC 开发思路和技巧
7. NIOS开发流程和技巧
8. SOPC Build CPU软核的搭建
9. NIOS+SOPC Builder+Quartus的联合使用案例

1. 实战训练九:
   训练课题:“NIOS+SOPC Builder+Quartus的联合使用
   实验要点:

    1.1  SOPC调试方法
    1.2  SOPC软件开发流程
    1.3  NIOS+SOPC Builder+Quartus的联合开发实验


2. 实战训练十:
   训练课题:“SOPC 软核综合设计实验”
   训练内容: 针对一个综合性实验题目,学员独立完成需求分析,结构设计,代码设计,仿真验证和程序下载固化。
   实验要点:
    2.1  复杂软核的构建
    2.2  复杂软核的Nios编程
    2.3  软核组织和裁剪
第五阶段


    1.实战训练十一:
   训练课题:“数码管进位与刷新综合设计实验”

    步骤一、详细一个铺垫性实验,通过它讲解数码管各种进位的方法,与进位代码的编写,其中注意:
a.数码管整体刷新和数码管动态扫描显示的区别和联系,怎样编写代码
b.编程中注意FPGA的精髓:并行运行
c.注意在传递数据的过程中,采用什么方法比较好
步骤二、学员自己编写一个数字时钟程序
a.训练学员举一反三的能力
b.注意一些特殊用法
步骤三、总结学员的出错原因,给出解决方法

    2.实战训练十二:

训练课题:“蜂鸣器怎样演奏音乐,怎样演奏梁祝的曲子”

    步骤一、详细一个铺垫性实验,通过它讲解怎样通过分频来实现音阶和音调,其中注意:
a.状态机的高级用法
b.怎样分频
c.注意在传递数据的过程中,采用什么方法比较好
    步骤二、学员自己编写一个数字时钟程序
a.训练学员举一反三的能力
b.注意一些特殊用法
    步骤三、总结学员的出错原因,给出解决方法

    3.实战训练十三:
训练课题:LCD液晶控制实验

    1. 内容的回顾与难点消化,解疑答惑
    2.编程中举一反三和融汇贯通训练
    3.  FPGA的程序固化方法

    3.实战训练十四:

训练课题:TRAFFIC实验
    1. 内容的回顾与难点消化,解疑答惑
    2.编程中举一反三和融汇贯通训练
    3.  FPGA的程序固化方法

    3.实战训练十五:
训练课题:串口开发实验

    1. 内容的回顾与难点消化,解疑答惑
    2.编程中举一反三和融汇贯通训练
    3.  FPGA的程序固化方法

第六阶段 Modelsim 仿真

1、Testbench 编写

2、Modelsim环境

3、Modelsim仿真流程

4、Modlesim仿真工程和软件使用。

5、Modelsim案例

6、Modelsim仿真实战训练

第七阶段
知识详解:
    1.字符型液晶显示原理
    2.图形液晶显示原理
    3.液晶显示原理详解
    4.I2C协议原理与编程
1. 实战训练十六:
   训练课题:1602字符型液晶显示实验
   训练内容: 通过实验充分理解字符型液晶的显示原理,是怎样通过代码体现的,针对一个综合性实验题目,学员独立完成需求分析,结构设计,代码设计,仿真


2. 实战训练十七:
   训练课题:“128x64图形液晶显示实验”
   训练内容: 通过实验充分理解字图形液晶的显示原理,是怎样通过代码体现的针对一个综合性实验题目,学员独立完成需求分析,结构设计,代码设计,仿真


3. 实战训练十八:
训练课题:“I2C读写EEPROM实验”
   训练内容: 通过实验充分理解I2C协议原理,用I2C协议实现对EEPROM的读写操作,演示是怎样通过代码体现的针对一个综合性实验题目,学员独立完成需求分析,结构设计,代码设计,仿真