光电工程师社区
标题:
FPGA就业培训班级
[打印本页]
作者:
zxopen88
时间:
2014-6-10 10:18
标题:
FPGA就业培训班级
本帖最后由 zxopen88 于 2014-7-23 10:08 编辑
FPGA就业培训班级
邀请函
课程简介:
近几年可编程的门阵列(FPGA)技术发展迅速,其高度的灵活性,使其在通信、数据处理、网络、仪器、工业控制、军事和航空航天等领域得到越来越广泛的应用。在数字IC设计领域,前端验证工作一般都是用FPGA完成的,因此FPGA工程师也是IC设计公司迫切需要的人才。 FPGA/IC逻辑设计开发已经成为当前最有发展前途的行业之一,特别是熟悉硬件构架的FPGA系统工程师。
业内人士认为,目前FPGA/IC设计行业至少有20-30万的人才缺口,仅北京市场FPGA硬件开发人员的需求就已经超过了3万人,而且还在持续增加。这主要有两方面的原因:一是目前高校的专业设置很少涉及FPGA和IC设计的课程,即使有也是偏重于理论,因此企业很难招聘到实战型人才;二是FPGA和IC设计需要硬件环境和大量的实践来积累经验。如果没有适当的指导,需要走很多弯路。
培养目标:
系统掌握FPGA开发技术,能够独立胜任FPGA系统硬件设计,逻辑设计,FPGA组合系统设计等方面的工作。
就业方向:
消费类电子、工业控制、军工企事业、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等行业。
开课时间: 2014//09/20
学时:
1、◆课时:100天
课程大纲:
模块一 FPGA设计流程
FPGA设计流程课程主要介绍FPGA工艺结构、特点及FPGA芯片选型策略、原则;
掌握FPGA设计从RTL设计、功能仿真、综合等,直到在FPGA开发板上进行下载验证的设计流程;使学员掌握FPGA设计流程,对FPGA设计有一个宏观认识。
模块二 Verilog HDL 基础知识
Verilog HDL 基础知识课程主要让学员掌握Verilog HDL的基本语法,能够进行较简单的RTL设计,同时,建立HDL中逻辑运算符及RTL设计与电路实体的对应关系,深刻理解存储器工作原理及其设计方法,及三态端口控制、双向控制等,为后面的高级编程打好基础。
模块三 FPGA开发环境
FPGA开发环境主要学习FPGA开发工具的使用:Modelsim、Debussy仿真调试工具、Synplify pro综合工具及FPGA开发系统Quartus的使用方法及技巧,且在Quartus中集成调用Modelsim、Synplify等工具的方法; 完成RTL设计的基础上,完整进行FPGA设计所有流程,掌握FPGA开发板下载、调试的方法和技巧。
第二阶段 FPGA设计高级工程师
模块一 FPGA设计原则与技巧
FPGA设计原则与技巧课程主要讲授FPGA设计的一些原则(面积与速度平衡互换原则、硬件可实现原则及同步设计原则、低功耗设计原则等)及操作技巧(乒乓操作、串并转换、流水线操作及数据同步等),使学员能够将这些原则及技巧应用到实际工程开发中; 本章将讲述加法器、乘法器、乘累加器、减法器及除法器在工程应用中的设计方法,在此基础上让学员完成常系数FIR滤波器设计;还要求学员掌握使用基于IP核的设计方法和流程。
模块二 Verilog高级编码
Verilog高级编码课程主要讲授Verilog HDL流水线设计、同步状态机设计及系统函数、任务调用等高级编码知识,通过序列检测器、EEPROM读写器及RISC CPU等由易至难的实验安排; 强化RTL设计与电路实体的对应关系,及针对FPGA器件的代码优化,使学员逐步掌握独立完成复杂逻辑设计的能力。 这部分实验不仅仅是照抄教材的代码,而是通过训练使学生从项目的角度考虑问题,自行设计完成,可大幅提升学员自我思考的能力。
模块三 系统时序分析及处理系统时序分析及处理
课程旨在让学员充分理解时序分析理论,能够解决在项目开发中所遇到的时序问题;且能够对跨时钟设计做出合理处理;能够精通时序分析工具的使用,使其能够设计出满足时序要求的逻辑电路。
模块四 FPGA设计常用IP模块使用
FPGA设计常用IP模块使用课程主要内容为FPGA设计中常用IP模块的使用(单/双口RAM、DPRAM、FIFO、ROM及串行收发器等)的讲授,使学员在充分理解其结构及工作原理、时序的基础上,能够在实际工程开发中精通其使用。
模块五 新型FPGA设计工具使用
新型FPGA设计工具使用课程主要讲授FPGA基于MATLAB、Simulink、DSP Builder等新型设计、验证工具的设计方法及技巧,使学员能够利用这些新型开发工具更好地完成FPGA设计。
第三阶段 FPGA设计系统应用工程师
模块一 基于FPGA的通信接口设计及外围接口设计
FPGA设计应用最为广泛的领域之一为接口互联,基于FPGA的通信接口设计及外围接口设计课程主要让学员掌握外设通信接口的设计方法:在教员演示下完成一种通信接口的设计; 在教员指导下,独立完成其它通信接口设计,包括协议分析、完成设计文档、RTL设计、FPGA芯片选型等流程。
模块二 基于FPGA的图像视频处理
FPGA设计应用最为广泛的领域之一为图像与视频处理,基于FPGA的图像视频处理内容有:图像和视频处理基础知识,使学员能够实现色彩空间变换、VGA控制器、JPEG 编码基础、2D-DCT变换、视频处理体系及图像FIR滤波器设计与实现;视频降噪算法设计与实现,基于FPGA的常用视频处理算法体系结构、边缘检测算法等。
模块三 SOPC设计流程
SoPC系统设计与应用课程使学员熟练掌握参数化库LPM模块的使用; 精通FPGA中锁相环模块及SignalTap的使用;精通SoPCBuilder的使用,能够用NiosII软件集成开发环境IDE建立用户程序; 掌握在NiosII系统中融入自己所设计IP的技术。
模块四 FPGA项目案例毕业设计
FPGA项目案例毕业设计将设计并实现一个真实和完整FPGA项目的开发流程,涉及方向为通信、数据采集、软件无线电、图像与视频处理等方面。要求学员将前面所学知识融入运用到实际项目开发中,培养学员的团队开发和协同工作能力,强化学员完成标准设计文档能力,为以后的工作打下坚实基础。通过真实产品的项目案例培训,使学员更有竞争力,跨入高薪名企!
FPGA就业班级课程链接:http://www.zxopen.com/FPGA_Train.html
公司邮箱:
zxopen04@126.com
垂询电话:18910910708(支老师)QQ : 2793725733
公司地址:北京市顺义区后沙峪安富街8号中景江山赋1号商业楼330
作者:
zxopen88
时间:
2014-6-12 13:46
为什么进入现代,中国人却远离了发明?
为什么近代科学没有产生在中国?
作者:
zxopen88
时间:
2014-7-23 10:09
嵌入式开发的门槛相对较高,对程序员的要求一般都是对底层感兴趣,学习能力、动手能力要强,对问题能够从全局和细节去把握,有很强的系统分析和设计能力。从工程师起步,一般有几个发展方向,一个是成为技术方面的核心,领域内的专家;另一个是从项目中锻炼起来,成为项目主管或是管理型人才;再有就是利用自己的技术及行业经验去创业。
硬件和软件的发展方向是不同的。说说软件需要学习的知识。
虽然说搞嵌入式软件更多时候是在实际的工作中学习的,但一些重要的基础知识不可或缺。
1. 计算机组成/微机原理
主要是为了了解微型计算机的硬件工作原理,明白CPU、总线、I/O、存储器等一些关键结构是怎么工作的,虽然是很枯燥的知识,但是对熟悉外围设备硬件工作方式,及操作系统,软件架构的设计及优化相当关键。
2. 操作系统
嵌入式产品应用比较广泛的是Linux和WinCE。但操作系统的内部设计原理都是殊途同归。首先要去学习的是操作系统原理,去了解进程通信、内存管理、文件系统等几个重要的部分,因为这些在软件开发尤其是内核驱动开发时会用到。接下来可以去熟悉至少一种主流的操作系统,Linux是一个很好的选择,去了解它的内核架构,设备驱动架构,如何去编译,裁剪,编写应用程序,以及如何使用在具体的嵌入式产品上。
3. 数字电路
学习这方面的知识主要是了解一些基本的电路知识,如门电路、逻辑电路、存储器、寄存器,为了更好的理解嵌入式芯片,存储器,外围设备等硬件的设计,但往往在软件开发中未必能用的到。因为大部分硬件都提供了很完整的软件接口。
4. 编程语言:C语言和汇编
对于C语言本身的基础来说,无非是把结构化,函数,数组,指针弄熟,但是嵌入式开发对C语言应用的要求会更高。要对内存分配,文件访问,寄存器访问,预处理指令,中断处理程序等等相当熟悉,这些都是在使用中要注意的细节问题。C语言对程序的优化也很重要,而这些往往是需要从全局去考虑。汇编一般是和处理器的指令集相关的,可以更好的去理解处理器的工作原理,往往是用在一些需要效率的地方,如系统的初始化。
5. 数据结构和算法
数据结构在嵌入式开发中也很重要,比如说操作系统里的很多实现都用到了具体的算法。基本的数据结构需要掌握,如各种链表,树,图等等;而算法的学习需要数学知识作为铺垫,用计算机语言去实现。对于软件从业人员来说,算法终究是一个工具,在实际应用时再深入挖掘也可。
6. 软件工程/软件测试/项目管理基础
这些是软件开发人员的必备知识。
7. 开发平台
嵌入式的开发平台不局限于一种操作系统,因此要熟悉各种操作系统下的命令、编辑器及开发工具,这一点往往被很多人忽视。举个例子,Linux下的程序员开发环境往往是按自己的习惯搭建,熟练掌握一种编辑器如Vim/Emacs可以大幅度提高工作效率。磨刀不误砍柴工。
嵌入式领域的方向是很多的,它所应用到的行业范围也很广。因此除了这些基础的知识以外,在具体的应用中可能还需要一些其它的知识,这些知识的每一种都可以研究的很深,举几个例子。
1. 内核,驱动及中间件
内核开发和驱动本身就是一个方向,驱动和硬件接口相关,而内核的修改和移植更是需要对OS有很深的理解。至于中间件,一般是基于OS或存在于OS和应用程序之间的库,最典型的就是基于Linux的Android。
2. 通信协议
通信协议有很多种,经常用到的有网络通信协议,无线通信协议,串口/USB通信协议等等。
3. 音视频技术
牵涉到音频视频处理,压缩,编解码等等。
4. 信息安全
如加密技术,身份认证,数字证书等等。
5. 行业知识
和具体行业或领域相关的知识,如通讯、工控、电子等等。
这里有一个不错的学习步骤:
1. 基础知识中,计算机组成、操作系统、编程语言和数据结构是必需的。
2. 找一种CPU体系,了解其核心架构,学习指令集,比如说ARM。
3. 找一种OS,如Linux,或是传统RTOS,如Nucleus、eCos,读源码和文档,理解OS内部实现,包括进程,任务,消息机制,内存管理,设备驱动,中断等核心内容。
4. 找一块成熟的开发板,板级资料要齐全,熟悉嵌入式软件开发流程。
5. 在项目过程中深入学习其它的技术。
总之,这些知识的学习不是一蹴而就的,过程会很漫长,也没有什么特别的技巧。需要去看大量的技术文档和源码,而这些文档大部分又都是英文的。在工作和做具体项目的过程中会学习的比较快,理论结合实践才是王道。
心动不如行动,2014嵌入式时代已经来临 你准备好了吗?
年薪5-15万更多学习嵌入,式单片机, ARM ,Linux, fpga, pcb ,数电模电, C语言, JAVA.,DSP 学习请咨询高薪热线支老师(至新科技)18910910708; QQ2793725733
欢迎光临 光电工程师社区 (http://bbs.oecr.com/)
Powered by Discuz! X3.2