文档库 最新最全的文档下载
当前位置:文档库 › fpga学习历程.

fpga学习历程.

fpga学习历程.
fpga学习历程.

我的FPGA学习历程

回想起自己学FPGA,已经有一段时间了,从开始的茫然,到后来的疯狂看书,设计开发板,调电路,练习各种FPGA实例,到最后能独立完成项目,一路走来,感受颇多,拿出来和大家分享,顺便介绍下自己的一点经验所得,希望对初学者有所帮助。

废话不说了,下面进入正题,学习FPGA我主要经历了这么几个阶段:

①、Verilog语言的学习,熟悉Verilog语言的各种语法。

②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA板子。

③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosII IDE),了解NiosII的基本结构,设计NiosII开发板,编写NiosII C语言程序,调试板子各模块功能。

先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog 两种,在本科时老师一般教VHDL,不过现在

Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。像systemC,systemVerilog 之类的应该还在萌芽阶段,以后可能会有较大发展。鉴于以上原因我选择了Verilog作为我学习的硬件描述语言。

其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。这里推荐几本评价比较好的学习Verilog的书籍:

①、《verilog 数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。但本书对于资源优化方面的编程没有多少涉及到。

②、《设计与验证Verilog HDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。

学习Verilog其实不用看很多书,基本的语法部分大家都一样,关键是要自己会灵活应用,多做练习。

Verilog语言学了一段时间,感觉自己可以编点东西,希望自己编的程序在板子上运行看看结果,下面就介绍我学习的第二个阶段。

刚开始我拿了实验室一块CPLD的开发板做练习,熟悉QuartusII 的各种功能,比如IP的调用,各种约束设置,时序分析,Logiclock设计方法等,不过做到后面发现CPLD的资源不太够(没有内嵌的RAM、不能用SignalTapII,LE太少等),而实验室没有FPGA开发板,所以就萌生了自己做FPGA开发板的意图,刚好Cadence我也学的差不多了,就花了几天时间主要研究了FPGA配置电路的设计,在板子上做了Jtag和AS下载口,在做了几个用户按键和LED,其他的口全部引出作为IO口,电路比较简单,板子焊好后一调就通了(心里那个爽啊...)。我选的FPGA是cycloneII系列的EP2C5,资源比以前的FPGA多了好几倍,还有PLL,内嵌的RAM,可以试试SignalTapII,用内嵌的逻辑分析仪测试引脚波形,对于FPGA的调试,逻辑分析仪是至关重要的。利用这块板子我完成了项目中的几个主要功能:RS232通信,指令译码,配置DDS,AD数据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。这个时候我主要看的数据有这几本感觉比较好:

①、《Altera FPGA/CPLD 设计(基础篇)》:讲解一些基本的FPGA 设计技术,以及QuartusII中各个工具的用法(IP,RTL,SignalProbe,SignalTapII,Timing Closure Floorplan,chip Editor等),对于入门非常好。

②、《Altera FPGA/CPLD 设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。

③、《FPGA设计指南--器件,工具和流程》:这本书看了他的目录忍不住就买了,这本书讲述了FPGA设计的各个方面,虽然每个方面都是点到为止,但能让你有个整体的概念,了解FPGA的所有设计功能,了解FPGA开发的整个流程。

④、在这里也推荐几个学习FPGA比较好的论坛

https://www.wendangku.net/doc/cb3609275.html,/bbs

https://www.wendangku.net/doc/cb3609275.html,/

⑤、其实最好的学习网站莫过于Altera的官方网站https://www.wendangku.net/doc/cb3609275.html,,不过很多人一看到英语就不想看,其实上面的英文很简单,很多时候不敢看是因为对自己没信心或心静不下来看。不过官方网站上资料很多,刚开始可能会觉得资料安排的有点乱,不方便查找,以后有时间我列个

资料的链接目录,整理一下,方便大家查找。

到这里,自己最FPGA的学习有一段时间了,练习了很多实例,自己也编写了不少程序,也有了一些项目经验,算是对FPGA有些了解了。在不断的学习中发现FPGA不仅可以做逻辑设计,算法设计等,还能做嵌入式开发,altera先后开发了Nios,NiosII两款FPGA的嵌入式软核,并有配套的软件,刚开始看到这些我真是心中突然豁然开朗,学习真的是无止境,又一个全新的领域摆在我面前,我决定学习NiosII,要学就要学最好。

刚开始入门是很痛苦的,嵌入式设计需要从硬件到驱动到软件全部熟悉,硬件系统问题还不是很大(以前做过单片机,DSP等MCU),处理器的架构心里还有点数,对于驱动和软件工程,刚开始学习真的很头痛。NiosII应该还算比较新的内容(应该是2004年出的),国内的书籍不算很多,网上这方面的资料也比较零碎,所以我就开始将Altera网站上这方面的资料系统的看一边,这里推荐几本网站上的handbook:

①、Embedded Design Handbook

②、Nios II Processor Reference Handbook

③、Nios II Software Developer's Handbook

④、Quartus II Handbook, Volume 4: SOPC Builder

⑤、Quartus II Handbook, Volume 5: Embedded Peripherals

看完这些handbook,总算基本明白整个架构,软硬件设计方法,驱动的编写等,感觉自己可以编一些嵌入式的程序了,不过虽然前面做的那块ep2c5的板子支持NiosII系统,不过对于嵌入式设计来说还是显得单薄了一点,没有SDRAM,Flash这两个比较基本的模块,Ep2C5内嵌的RAM太小,程序写不大,而且每次总要绞尽脑汁优化程序代码大小,很多时候优化了后函数功能会受到限制,不利于初学者,也不利于调试。所以到这里我有产生了自己做一块Nios开发板的想法(直接买比较贵,自己做便宜,而且还能锻炼自己,一举两得),通过借鉴其他开发板,选择自己开发板上需要包含什么模块,确定各个模块使用什么芯片,阅读各个芯片的datasheet,画出原理图并做出PCB图,这块板子我选的是Ep2c8Q208,比上一块资源又将近多了一倍,板子上还有以下模块:SDRAM,Flash,EPCS4,RS232,USB,VGA,PS2,AD,DA,LCD 等,满足了一般开发板的配置要求。板子回来以后调试了四五天,(flash 工作了,LCD显示了,RS232通了,USB通了,AD,DA工作了,SDRAM 正常了...),真是每天都有惊喜,每个模块都编写了NiosII软件测试程序,

调试硬件的时候对软件的运行也更熟悉了。在这次调试的过程中真的学到了很多,为此专门写了好几页调试笔记,下次拿出来和大家一起分享。现在硬件平台有了,NiosII也了解的差不多了,终于可以自己编写一些规模大一点的程序了。

以后的路还很长,不过也有很多惊喜在等着我们......

FPGA学习发展方向本人整理的。

FPGA的学习流程 把你的专业与FPGA相结合, 如果你数学比较好,就可以去做算法 如果你通信方面比较好,就可以做通信方面的东西, 如果你高频比较好,就可以做射频方面的东西,等等。 FPGA学习、发展方向 目前,在FPGA上有三种类型开发方法和应用方向:a、逻辑类应用b、软核类应用c、DSP 类应用。 逻辑类应用我们接触的最早,也是FPGA最初的应用领域,大的应用上,一些数字IC设计可以在FPGA做前期的功能验证,在通信领域,FPGA做信号的编解码等等,小的应用上我们做的最多的实际是CPLD,完成信号的变换控制等等。 软核应用是前几年才兴起,现在热门的开发应用方法,在原本需要FPGA结合CPU的地方有成本和灵活性优势。FPGA的DSP应用是非常有潜力的,性能优势非常明显。开发方法是用Matlab的simulink中嵌入厂商的开发工具包,算法验证在Matlab simulink工具下完成,在开发工具包的支持下生成HDL模块或者直接生成FPGA下载配置文件,这个方向是FPGA 应用最有挑战能力领域。Mathworks公司不久前也推出了独立于FPGA厂商的Simulink HDL Coder工具,使的Matlab在数字系统设计领域迈出了坚实的一步,把Simulink 模型和Stateflow框图生成位真(Bit-Ture)、周期精确(Cycle-Accurate)、可综合的Verilog和VHDL 代码,为Matlab simulink用户提供了通往FPGA设计实现的直接通道。 培养目标 01、了解FPGA工艺结构,掌握FPGA芯片选型原则与策略; 02、精通FPGA设计相关软件的使用方法及技巧; 03、精通Verilog HDL设计与仿真、针对FPGA器件代码优化规则,建立RTL 设计与电路实体的对应概念; 04、掌握FPGA设计原则及常用IP模块的使用; 05、精通FPGA四种常用操作技巧、静态时序分析技巧; 06、掌握FPGA基于MATLAB/Simulink、DSP Builder等新型设计、验证工具的设计方法及技巧; 07、精通FPGA资源优化设计及低功耗设计; 08、掌握基于FPGA的接口互联系统设计; 09、 FPGA+DSP架构;

FPGA学习心得

回想起自己学FPGA,已经有一段时间了,从开始的茫然,到后来的疯狂看书,设计开发板,调电路,练习各种FPGA实例,到最后能独立完成项目,一路走来,感受颇多,拿出来和大家分享,顺便介绍下自己的一点经验所得,希望对初学者有所帮助。 废话不说了,下面进入正题,学习FPGA我主要经历了这么几个阶段: ①、Verilog语言的学习,熟悉Verilog语言的各种语法。 ②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA 板子。 ③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosII IDE),了解NiosII 的基本结构,设计NiosII开发板,编写NiosII C语言程序,调试板子各模块功能。先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog两种,在本科时老师一般教VHDL,不过现在 Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。像systemC,systemVerilog之类的应该还在萌芽阶段,以后可能会有较大发展。鉴于以上原因我选择了Verilog作为我学习的硬件描述语言。 其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。这里推荐几本评价比较好的学习Verilog的书籍: ①、《verilog 数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。但本书对于资源优化方面的编程没有多少涉及到。 ②、《设计与验证Verilog HDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。 学习Verilog其实不用看很多书,基本的语法部分大家都一样,关键是要自己会灵活应用,多做练习。 Verilog语言学了一段时间,感觉自己可以编点东西,希望自己编的程序在板子上运行看看结果,下面就介绍我学习的第二个阶段。 刚开始我拿了实验室一块CPLD的开发板做练习,熟悉QuartusII的各种功能,比如IP的调用,各种约束设置,时序分析,Logiclock设计方法等,不过做到后面发现CPLD 的资源不太够(没有内嵌的RAM、不能用SignalTapII,LE太少等),而实验室没有FPGA开发板,所以就萌生了自己做FPGA开发板的意图,刚好Cadence我也学的差不多了,就花了几天时间主要研究了FPGA配置电路的设计,在板子上做了Jtag和AS下载口,在做了几个用户按键和LED,其他的口全部引出作为IO口,电路比较简单,板子焊好后一调就通了(心里那个爽啊...)。我选的FPGA是cycloneII系列的EP2C5,资源比以前的FPGA多了好几倍,还有PLL,内嵌的RAM,可以试试SignalTapII,用内嵌的逻辑分析仪测试引脚波形,对于FPGA的调试,逻辑分析仪是至关重要的。利用这块板子我完成了项目中的几个主要功能:RS232通信,指令译码,配置DDS,AD数据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。这个时候我主要看的数据有这几本感觉比较好: ①、《Altera FPGA/CPLD 设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法(IP,RTL,SignalProbe,SignalTapII,Timing Closure Floorplan,chip Editor等),对于入门非常好。 ②、《Altera FPGA/CPLD 设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。

FPGA学习指南

PS:笔者强烈建议诸位注册一个EETOP的账号,每天签到或者发贴、回贴就有积分了,里面的资源非常丰富,各种软件、资料都能找到。 一、入门首先要掌握HDL(HDL=verilog+VHDL)。 第一句话是:还没学数电的先学数电。然后你可以选择verilog或者VHDL,有C语言基础的,建议选择VHDL。因为verilog太像C了,很容易混淆,最后你会发现,你花了大量时间去区分这两种语言,而不是在学习如何使用它。当然,你思维能转得过来,也可以选verilog,毕竟在国内verilog用得比较多。 接下来,首先找本实例抄代码。抄代码的意义在于熟悉语法规则和编译器(这里的编译器是硅编译器又叫综合器,常用的编译器有:Quartus、ISE、Vivado、Design Compiler、Synopsys的VCS、iverilog、Lattice的Diamond、Microsemi/Actel的Libero、Synplify pro),然后再模仿着写,最后不看书也能写出来。编译完代码,就打开RTL图,看一下综合出来是什么样的电路。 HDL是硬件描述语言,突出硬件这一特点,所以要用数电的思维去思考HDL,而不是用C语言或者其它高级语言,如果不能理解这句话的,可以看《什么是硬件以及什么是软件》。在这一阶段,推荐的教材是《Verilog传奇》、《Verilog HDL高级数字设计》或者是《用于逻辑综合的VHDL》。不看书也能写出个三段式状态机就可以进入下一阶段了。 此外,你手上必须准备Verilog或者VHDL的官方文档,《verilog_IEEE官方标准手册-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些语法问题的时候能查一下。 二、独立完成中小规模的数字电路设计。 现在,你可以设计一些数字电路了,像交通灯、电子琴、DDS等等,推荐的教材是《Verilog HDL应用程序设计实例精讲》。在这一阶段,你要做到的是:给你一个指标要求或者时序图,你能用HDL设计电路去实现它。这里你需要一块开发板,可以选Altera的cyclone IV系列,或者Xilinx的Spantan 6。还没掌握HDL之前千万不要买开发板,因为你买回来也没用。这里你没必要每次编译通过就下载代码,咱们用modelsim仿真(此外还有QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通过那就不用下载了,肯定不行的。在这里先掌握简单的testbench就可以了。推荐的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。 三、掌握设计方法和设计原则。 你可能发现你综合出来的电路尽管没错,但有很多警告。这个时候,你得学会同步设计原则、优化电路,是速度优先还是面积优先,时钟树应该怎样设计,怎样同步两个异频时钟 《Altera FPGA/CPLD 等等。推荐的教材是《FPGA权威指南》、《IP核芯志-数字逻辑设计思想》、 设计》第二版的基础篇和高级篇两本。学会加快编译速度(增量式编译、LogicLock),静态时序分析(timequest),嵌入式逻辑分析仪(signaltap)就算是通关了。如果有不懂的地方可以暂时跳过,因为这部分还需要足量的实践,才能有较深刻的理解。 四、学会提高开发效率。 因为Quartus和ISE的编辑器功能太弱,影响了开发效率。所以建议使用Sublime text 编辑器中代码片段的功能,以减少重复性劳动。Modelsim也是常用的仿真工具,学会TCL/TK 以编写适合自己的DO文件,使得仿真变得自动化,推荐的教材是《TCL/TK入门经典》。你可能会手动备份代码,但是专业人士都是用版本控制器的,所以,为了提高工作效率,必须掌握GIT。文件比较器Beyond Compare也是个比较常用的工具。此外,你也可以使用System Verilog来替代testbench,这样效率会更高一些。如果你是做IC验证的,就必须掌

FPGA学习、发展方向---本人整理的。

FPGA的学习流程?把你的专业与FPGA相结合,?如果你数学比较好,就可以去做算法?如果你通信方面比较好,就可以做通信方面的东西, ?如果你高频比较好,就可以做射频方面的东西,等等。 FPGA学习、发展方向 目前,在FPGA上有三种类型开发方法和应用方向:a、逻辑类应用b、软核类应用c、DSP 类应用。?逻辑类应用我们接触的最早,也是FPGA最初的应用领域,大的应用上,一些数字IC设计可以在FPGA做前期的功能验证,在通信领域,FPGA做信号的编解码等等,小的应用上我们做的最多的实际是CPLD,完成信号的变换控制等等。 软核应用是前几年才兴起,现在热门的开发应用方法,在原本需要FPGA结合CPU的地方有 成本和灵活性优势。 FPGA的DSP应用是非常有潜力的,性能优势非常明显。开发方法是用Matlab的simu link中嵌入厂商的开发工具包,算法验证在Matlab simulink工具下完成,在开发工具包的支持下生成HDL模块或者直接生成FPGA下载配置文件,这个方向是FPGA应用最有挑战能力领域。Mathworks公司不久前也推出了独立于FPGA厂商的Simulink HDL Co der工具,使的Matlab在数字系统设计领域迈出了坚实的一步,把Simulink 模型和State flow框图生成位真(Bit-Ture)、周期精确(Cycle-Accurate)、可综合的Verilog和VHDL代码,为Matlabsimulink用户提供了通往FPGA设计实现的直接通道。 培养目标 01、了解FPGA工艺结构,掌握FPGA芯片选型原则与策略; 02、精通FPGA设计相关软件的使用方法及技巧; 03、精通Verilog HDL设计与仿真、针对FPGA器件代码优化规则,建立RTL设计与电路实体的对应概念; 04、掌握FPGA设计原则及常用IP模块的使用; 05、精通FPGA四种常用操作技巧、静态时序分析技巧; 06、掌握FPGA基于MATLAB/Simulink、DSP Builder等新型设计、验证工具的设计方法及技巧; 07、精通FPGA资源优化设计及低功耗设计; 08、掌握基于FPGA的接口互联系统设计; 09、FPGA+DSP架构; 10、掌握基于FPGA的图像视频处理设计;

FPGA个人学习总结1

1.综合方面1)经综合后:普通的数据单端输入都会加一个ibuf缓冲器;数据单端输出有个obuf缓存器;时钟输入口会加bufgp缓冲器;对于4选1的mux,if结构和case结构都只需要一个slice,由muxf5控制两个lut下图为8选一case结构,muxf6控制两个muxf5,以两个slices实现8选1,用if结构实现的结构也是一样的注意一点:使用viewtechnologyschematic,来查看最底层的实现形式,即fpga中的lut、muxf5等使用但有的综合后rtlschematic相同,technoligyschematic不同,而有的又相反(如onebit相加,加括号前后例子),那么我们应该以哪种为最优呢?如下图:图上下分别为加括号前和加括号后rtl:只有根据实际需要来选择,如信号的先后顺序等等 2.lut的名字后_数字,那个数字代表什么意思?luta_b:a代表所有输入数据位宽,即输入数据的个数,切勿将位宽理解为“每个输入端口的数据宽度(因每个输入端口是单bit输入);b代表lut被初始化的状态 3.比较器位宽大小对综合结构的影响当比较的位宽高于一定位数时,综合会采用进位链结构,如下图: 4.在调用dcm核时,clkfx_out为输出引脚,并且locked_out必须勾上,否则波形无法输出,具体步骤参考本文件夹下“dcm核设置” 5.如何判断pcb板上的复位芯片是低复位还是高复位?将复位芯片的输出连接至led等,若正常工作后是亮(前提是led另一端是接地),表示正常工作是高,说明之前是低,即为低复位,不亮则为高复位 6.两种不同下载接口的比较<具体还可参考项23>1每个fpga都有两组下载接口jtag和spi;○2jtag 中tms为模式选择,tck为时钟,tdi和tdo分别为输入输出数据;○3spi中ss(有的为stb)为片选信号,sck为时钟信号,另外两根为数据信号;○4通过jtag下载程序到fpga:编程管脚跳针要拔掉,掉电后程序也会丢失,即下次上○电工作后需要重新下载程序5通过spi 下载程序到fpga:先将编程引脚prog接地,○spi接口断开与fpga通信,而与flash通信,程序下载到外挂flash中,然后将prog跳针拔掉,flash中程序下载到fpga中6外部flash 不单是一个裸存储器,○它还有spi接口,图中的spi接口就是从flash的spi接口中引出来的引脚7spi接口是串行同步通信,串口uart是串行异步通信○ 7.关于示波器当配置芯片相应寄存器后,观察输出的波形频率时,若出现频率跳动,可以检查示波器上的采样电平是否在波形的中间位置 8.关于复位信号与寄存器声明寄存器在声明时最好给个初始值,即加载时的值,例如:reg[1:0]a=2’b00或直接写0;复位信号不要列在敏感列表中,直接使用if (rst),使rst成为控制信号 9.如何看出接口读取数据所用的时钟沿上图可以看出,时钟的下降沿对准数据中心,说明该芯片的此接口是用时钟的下降沿来读取数据的上图可以看出,时钟的上升沿对准数据中心,说明该芯片的此接口是用时钟的上升沿来读取数据的故:如果芯片ab之间有走线延迟的话,那么我们在芯片a要用相反的时钟沿送出数据,经过走线延迟后,芯片b对应接口读取数据的时钟沿正好对准到达芯片b的数据的保持时间,即使最大延迟半个周期,也正好对准数据的中心10.fpga内部寄存器都是高复位,综合时综合工具会自动为复位信号反相,若外部芯片为低复位,则可在fpga设计时,先将复位信号反相,然后使用if(rst)11.当控制信号高于slice的供应时,可将控制信号转化为数据信号,例如:if(a)q<=b;q<=(a&b)|(!a&q);elseq<=q;12.毛刺问题概念:由于延迟的作用,多个信号到达终点的时间有先有后,形成了竞争,由竞争产生的错误输出就是毛刺产生条件:在同一时刻有多个信号输入发生改变出现时间:由于冒险多出现在信号发生电平跳变的时刻,即在输出信号的建立时间内会产生毛刺,而在保持时间内不会出现,13.调用ram在建立ram的ip核时,关于是否选择输出寄存器,根据需要!选择一个寄存器,数据则在采到地址后,延迟一个时钟周期,才会输出14.综合后的寄存器fd为普通的寄存器;fdr为带复位端的寄存器;fdre为带复位端和使能端得寄存器15.寄存器地址注重参数化设计可以先用define定义相关寄存器的地址参数,然后在运用中使用该参数,如下:`definereset_addr4b1101;always@(posedgeclk32mornegedgerst)beginif(!rst)beginspi_en<=8b0010_0000;ctl[7

FPGA学习步骤30页

FPGA学习步骤,我的体会 FPGA在目前应用领域非常,在目前的单板设计里面,几乎都可以看到它的身影。从简单的逻辑组合,到高端的图像、通信协议处理,从单片逻辑到复杂的ASIC原型验证,从小家电到航天器,都可以看到FPGA应用,它的优点在这里无庸赘述。从个人实用角度看,对于学生,掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用fgpa可以让设计变得非常有灵活性。掌握了fpga的设计,单板硬件设计就非常容易(不是系统设计),特别是上大学时如同天书的逻辑时序图,看起来就非常亲切。但fpga的入门却有一定难度,因为它不像软件设计,只要有一台计算机,几乎就可以完成所有的设计。fpga的设计与硬件直接相关,需要实实在在的调试仪器,譬如示波器等。这些硬件设备一般比较昂贵,这就造成一定的入门门槛,新人在入门时遇到一点问题或者困难,由于没有调试设备,无法定位问题,最后可能就会放弃。其实这时如果有人稍微指点一下,这个门槛很 容易就过去。 我用FPGA做设计很多年了,远达不到精通的境界,只是熟悉使用,在这里把我对fpga的学习步骤理解写出来,仅是作为一个参考,不对的地方,欢迎大家讨 论和指正。 1、工欲善其事,必先利其器。

计算机必不可少。目前FPGA应用较多的是Altera 和xilinx这两个公司,可以选择安装quartusII或者ISE 软件。这是必备的软件环境。 硬件环境还需要下载器、目标板。虽然有人说没有下载器和目标板也可学习fpga,但那总是纸上谈兵。这就像谈女朋友,总是嘴上说说,通个电话,连个手都没牵,能说人家是你朋友?虽说搭建硬件环境需要花费,但想想,硬件环境至多几百元钱,你要真的掌握FPGA的设计,起薪比别人都不止高出这么多。这点花费算什么? 2、熟悉verilog语言或者vhdl语言,熟练使用 quartusII或者ISE软件。 VHDL和verilog各有优点,选择一个,建议选择verilog。熟练使用设计软件,知道怎样编译、仿真、下载 等过程。 起步阶段不希望报一些培训班,除非你有钱,或者运气好,碰到一个水平高、又想把自己的经验和别人共享的培训老师,不然的话,培训完后总会感觉自己是一个冤大头。入门阶段可以在利用网络资源完成。 3、设计一个小代码,下载到目标板看看结果 此时可以设计一个最简答的程序,譬如点灯。如

FPGA学习心得体会

篇一:fpga学习心得大报告 《fpga技术基础》学习报告 --课程内容学习心得 姓名: 学号:年级专业: 指导教师: 瞿麟 201010401128 自动化101薛小军摘要从开始学fpga到现在粗略算来的话,已经有3个多月了,就目前而言,我并不确定自己算不算高手们所说的入门了,fpga学习总结。但是不管现在的水平如何,现在就总结一下自己学习它的感受或一些认识吧。 关键词 fpga de2板 quartusii软件 verilog语言 引言 fpga是什么?fpga现状?怎样学习fpga? fpga是现场可编程门阵列的简称,fpga的应用领域最初为通信领域,但目前,随着信息产业和微电子技术的发展,可编程逻辑嵌入式系统设计技术已经成为信息产业最热门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消费类市场、测量测试等多个热门领域。并随着工艺的进步和技术的发展,向更多、更广泛的应用领域扩展。越来越多的设计也开始以asic转向fpga, fpga正以各种电子产品的形式进入了我们日常生活的各个角落。 正文 (1)掌握fpga的编程语言 在学习一门技术之前我们往往从它的编程语言开始,如同学习单片机一样,我们从c语言开始入门,当掌握了c语言之后,开发单片机应用程序也就不是什么难事了。学习fpga也是如此,fpga的编程语言有两种:vhdl和verilog,这两种语言都适合用于fpga的编程。 (2)fpga实验尤为重要 除了学习编程语言以外,更重要的是实践,将自己设计的程序能够在真正的fpga里运行起来,这时我们需要选一块板子进行实验,我们选择使用de2板才进行试验。 初识de2开发板 de2的资源de2的资源非常丰富,包括 1. 核心的fpga芯片-cyclone ii 2c35 f672c6,从名称可以看出,它包含有35千个le,在altera的芯片系列中,不算最多,但也绝对够用。altera下载控制芯片- epcs16以及usb-blaste对jtag的支持。 2.存储用的芯片有: 512-kb sram,8-mbyte sdram,4-mbyte flash memory 3. 经典io配置:拥有4个按钮,18个拨动开关,18个红色发光二极管,9个绿色发光二极管,8个七段数码管,16*2字符液晶显示屏, 4. 超强多媒体:24位cd音质音频芯片wm8731(mic输入+linein+ 标准音频输出),视频解码芯片(支持ntsc/pal制式),带有高速dac视屏输出vga模块。 5.更多标准接口:通用串行总线usb控制模块以及a、b型接口,sd card接口,irda红外模块, 10/100m自适应以太网络适配器,rs-232标准串口, ps/2键盘接口 6.其他:50m,27m晶振各一个,支持外部时钟, 80针带保护电路的外接io 7.此外还有:配套的光盘资料,qutuarsii软件,niosii 6.0ide,例程与说明文档。 关于管脚分配 当我们创建一个fpga用户系统的时候,到最后要做的工作就是下载,在下载之前必须根据芯片的型号分配管脚,这样才能将程序中特定功能的管脚与实际中的fpga片外硬件电路一一对

FPGA学习心得大报告

《FPGA技术基础》学习报告 --课程内容学习心得 姓名:瞿麟 学号: 201010401128 年级专业:自动化101 指导教师:薛小军

摘要 从开始学FPGA到现在粗略算来的话,已经有3个多月了,就目前而言,我并不确定自己算不算高手们所说的入门了,FPGA学习总结。但是不管现在的水平如何,现在就总结一下自己学习它的感受或一些认识吧。 关键词 FPGA DE2板 QuartusII软件 Verilog语言 引言 FPGA是什么?FPGA现状?怎样学习FPGA? FPGA是现场可编程门阵列的简称,FPGA的应用领域最初为通信领域,但目前,随着信息产业和微电子技术的发展,可编程逻辑嵌入式系统设计技术已经成为信息产业最热门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消费类市场、测量测试等多个热门领域。并随着工艺的进步和技术的发展,向更多、更广泛的应用领域扩展。越来越多的设计也开始以ASIC转向FPGA, FPGA正以各种电子产品的形式进入了我们日常生活的各个角落。 正文 (1)掌握FPGA的编程语言 在学习一门技术之前我们往往从它的编程语言开始,如同学习单片机一样,我们从C语言开始入门,当掌握了C语言之后,开发单片机应用程序也就不是什么难事了。学习FPGA也是如此,FPGA的编程语言有两种:VHDL和Verilog,这两种语言都适合用于FPGA的编程。 (2)FPGA实验尤为重要 除了学习编程语言以外,更重要的是实践,将自己设计的程序能够在真正的FPGA里运行起来,这时我们需要选一块板子进行实验,我们选择使用DE2板才进行试验。 初识DE2开发板 DE2的资源

fpga学习心得体会

fpga学习心得体会 篇一:FPGa学习心得大报告 《FPGa技术基础》学习报告 --课程内容学习心得 姓名: 学号:年级专业: 指导教师: 瞿麟20XX10401128自动化101薛小军 摘要从开始学FPGa到现在粗略算来的话,已经有3个多月了,就目前而言,我并不确定自己算不算高手们所说的入门了,FPGa学习总结。但是不管现在的水平如何,现在就总结一下自己学习它的感受或一些认识吧。 关键词 FPGadE2板Quartusii软件Verilog语言 引言 FPGa是什么?FPGa现状?怎样学习FPGa? FPGa是现场可编程门阵列的简称,FPGa的应用领域最初为通信领域,但目前,随着信息产业和微电子技术的发展,可编程逻辑嵌入式系统设计技术已经成为信息产业最热门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消

费类市场、测量测试等多个热门领域。并随着工艺的进步和技术的发展,向更多、更广泛的应用领域扩展。越来越多的设计也开始以aSic 转向FPGa,FPGa正以各种电子产品的形式进入了我们日常生活的各个角落。 正文 (1)掌握FPGa的编程语言 在学习一门技术之前我们往往从它的编程语言开始,如同学习单片机一样,我们从c语言开始入门,当掌握了c语言之后,开发单片机应用程序也就不是什么难事了。学习FPGa也是如此,FPGa的编程语言有两种:VHdL和Verilog,这两种语言都适合用于FPGa的编程。(2)FPGa实验尤为重要 除了学习编程语言以外,更重要的是实践,将自己设计的程序能够在真正的FPGa里运行起来,这时我们需要选一块板子进行实验,我们选择使用dE2板才进行试验。 初识dE2开发板 dE2的资源 dE2的资源非常丰富,包括 1.核心的FPGa芯片-cycloneii2c35F672c6,从名称可以看出,它包含有35千个LE,在altera的芯片系列中,不算最多,但也绝对够用。altera下载控制芯片-EPcS16以及USB-Blaste对Jtag的支持。 2.存储用的芯片有:512-KBSRam,8-mbyteSdRam,4-mbyteFlashmemory

2020年FPGA学习总结

FPGA学习总结 首先,先说一下自己的在学习中所发现自己的不足之处: 1. 不会总结。 2. 学习的良好习惯没养成。 在写FPGA的基本模块时,遇到的问题有许多,譬如,写代码时的警告,特别是一些不能忽视的警告,每次遇到时,总是还要检查一会儿才能改过来,或者有的警告已经出现了几次,但是就是解决不掉。每次在学一个模块时,只要是看懂了,它的一些重点就没有及时的记录在本子上,只有个别的想起来时,才会做笔记。每做完一个模块,没有及时记录下自己从这个模块中学到了什么。上面的不足,都是在写模块的过程中,自己逐渐暴露出来的。我很庆幸自己的一些问题能及时的被发现,虽然年前的学习将暂告一段落,但是,在年后的学习中,我一定会时刻记得自己以前在学习上出现了怎样的不足,避免类似的事情再次发生。像遇到警告时,都要记录下来,通过改正后,要注释,写下警告的原因,定期看一下。每次写模块的时候,都要记下重点知识,即使是自己懂得的,好记性都是比不过烂笔头的。 其次,就谈一下自己在学习FPGA中,截止目前,学到了什么,认识到那些。

FPGA简单的说,就是现场可编程逻辑阵列。它的内部是逻辑单元,它们之间可以用线连接,至于以怎样的形式相连,则可以根据应用者写入的逻辑决定。每次布线都会重新组合逻辑单元,从而可以任意的编写不同的逻辑。当然,前提是定义的逻辑块不超出它可读写的最大值。可能自己说的术语并不专业,又或者是理解或表达的不透彻,但随着学习的加深,一定会有更加透彻的理解吧。学习FPGA ,虽然资料很多,但是看的资料并不是很多,除了看夏宇闻编写的语法书外,看的最多的就是特权同学的,一个年轻的电子工程师,他就是通过自己的努力和坚持不懈有了现在的水平,虽然 __是最好的工程师,但是,他在这条路上的成长历程,却代表着更广大的青年的奋斗轨迹。他的《深入浅出玩转FPGA》这本书,以前只听网友说不错,等到自己开始看后,发现里面的内容确实是值得学习,不仅是学习的层次性,同时里面的方法也是很不错的。通过看书和做模块,自己对FPGA中的几个学习重点或者说菜鸟必须清楚了解的知识,有了一些自己的看法,首先是阻塞与非阻塞赋值的区别,阻塞赋值是只要你给一个寄存器赋值了,它在此语句结束后,其值立马就改变,而非阻塞赋值却不同,赋值后,寄存器存储的值并没有改变,还是上次所赋得值,只有当此过程块结束后,下一次脉冲来时,输出才会改变,确切的说,某些情况下,可以将阻塞赋值理解为移位寄存器。它们的不同之处可以有下图看出:图一:非阻塞赋值

Verilog及FPGA学习经典程序(一)

目录 1.四位全加器 (2) 2.四位计数器 (2) 3.四位全加器仿真程序 (2) 4.四位计数器仿真程序 (3) 5.“与-或-非”门电路 (4) 6.用case 语句描述的4 选1 数据选择器 (4) 7.同步置数、同步清零的计数器 (5) 8.用always 过程语句描述的简单算术逻辑单元 (5) 9.用initial 过程语句对测试变量A、B、C 赋值 (6) 10.用begin-end 串行块产生信号波形 (7) 11.用fork-join 并行块产生信号波形 (7) 12.持续赋值方式定义的2 选1 多路选择器 (8) 13.阻塞赋值方式定义的2 选1 多路选择器 (8) 14.非阻塞赋值 (9) 15.阻塞赋值 (9) 16.模为60 的BCD 码加法计数器 (9) 17.BCD 码—七段数码管显示译码器 (10) 18.用casez 描述的数据选择器 (11) 19.隐含锁存器举例 (12) 20.用for 语句描述的七人投票表决器 (12) 21.用for 语句实现2 个8 位数相乘 (13) 22.用repeat 实现8 位二进制数的乘法 (13) 23.同一循环的不同实现方式 (14) 24.使用了`include 语句的16 位加法器 (15) 25.条件编译举例 (16) 1

1.四位全加器 module adder4(cout,sum,ina,inb,cin); output[3:0] sum; output cout; input[3:0] ina,inb; input cin; assign {cout,sum}=ina+inb+cin; endmodule 2.四位计数器 module count4(out,reset,clk); output[3:0] out; input reset,clk; reg[3:0] out; always @(posedge clk) begin if (reset) out<=0; //同步复位 else out<=out+1; //计数 end endmodule 3.四位全加器仿真程序 `timescale 1ns/1ns `include "adder4.v" module adder_tp; //测试模块的名字 reg[3:0] a,b; //测试输入信号定义为reg型reg cin; wire[3:0] sum; //测试输出信号定义为wire型wire cout; integer i,j; 2

新手的FPGA学习必备的四个基础知识详解

新手的FPGA学习必备的四个基础知识详解 FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA 的大门。网络上各种开发板、培训班更是多如牛毛,仿佛在告诉你不懂FPGA你就OUT 啦。那么我们要玩转FPGA必须具备哪些基础知识呢?下面我们慢慢道来。 (一)要了解什么是FPGA 既然要玩转FPGA,那我们首先最重要的当然是要了解什么FPGA。FPGA (Field-Programmable Gate Array),即现场可编程门阵列。看到编程两个字码农就笑了,不就是编程嘛,那可是我们的强项。且慢,此编程非彼编程。一定要把FPGA的编程和软件编程区分开来。软件的编程,处理器会逐条的把语言翻译成各种控制信号,去控制内部电路完成一个个运算或操作。那么FPGA的编程是怎么实现的呢?无论Altera家还是Xlinix家的FPGA,叫法有什么差异,基本单元都相似,都是由真值表和D触发器构成。改变真值表的值就改变了逻辑功能,再通过和D触发器组合来实现任何时序逻辑。所以我们对FPGA的编程,实际上就是去修改这些真值表和连接关系,使他们组成一张专门的真值表,去实现特定的功能。这和软件编程一步步运行程序有本质的区别。要想玩转FPGA,就必须理解FPGA内部的工作原理,学习如何利用这些单元实现复杂的逻辑设计。(二)正确理解HDL语言 HDL(Hardware DescripTIon Language),硬件描述语言。通过名称我们能看出来,HDL 语言是一种描述语言,这一点和C语言是有本质区别的。正确理解描述的含义,对学好HDL语言很有帮助。HDL语言只是用文本的方式把硬件电路描述出来。我们在阅读HDL 程序的时候,在脑子里应该能反映出一个完整的硬件电路结构。从另一方面说,我们在编写HDL语言之前,就已经对要实现的电路有清晰的概念。所以HDL语言只是一个描述我们头脑中具体电路的工具,玩转FPGA的根本不是语言而是逻辑电路设计。不要再纠结于我应该学习VHDL还是Verilog,那种语言更好学这些问题。如果把学习FPGA的重点放在学习语言上,死记硬背一些语法,那自然是抓错了重点。语言在日常使用中会越用越熟练,不需要花很长的专门时间去学习。当然一本好的参考资料可以随时方便查询会

FPGA学习发展方向本人整理的。

的学习流程FPGA相结合,把你的专业与FPGA 如果你数学比较好,就可以去做算法 如果你通信方面比较好,就可以做通信方面的东西, 如果你高频比较好,就可以做射频方面的东西,等等。 学习、发展方向FPGA 目前,在FPGA上有三种类型开发方法和应用方向:a、逻辑类应用b、软核类应用c、DSP类应用。 逻辑类应用我们接触的最早,也是FPGA最初的应用领域,大的应用上,一些数字IC设计可以在FPGA做前期的功能验证,在通信领域,FPGA做信号的编解码等等,小的应用上我们做的最多的实际是CPLD,完成信号的变换控制等等。 软核应用是前几年才兴起,现在热门的开发应用方法,在原本需要FPGA结合CPU的地方有成本和灵活性优势。FPGA的DSP应用是非常有潜力的,性能优势非常明显。开发方法是用Matlab 的simulink中嵌入厂商的开发工具包,算法验证在Matlab simulink工具下完成,在开发工具包的支持下生成HDL模块或者直接生成FPGA下载配置文件,这个方向是FPGA应用最有挑战能力领域。Mathworks公司不久前也推出了独立于FPGA厂商的Simulink HDL Coder工具,使的Matlab在数字系统设计领域迈出了坚实的一步,把Simulink 模型和Stateflow 框图生成位真(Bit-Ture)、周期精确(Cycle-Accurate)、可综合的Verilog和VHDL设计实现的直接通道。FPGA代码,为Matlab simulink用户提供了通往培养目标 01、了解FPGA工艺结构,掌握FPGA芯片选型原则与策略; 02、精通FPGA设计相关软件的使用方法及技巧; 03、精通Verilog HDL设计与仿真、针对FPGA器件代码优化规则,建立RTL 设计与电路实体的对应概念; 04、掌握FPGA设计原则及常用IP模块的使用; 05、精通FPGA四种常用操作技巧、静态时序分析技巧; 06、掌握FPGA基于MATLAB/Simulink、DSP Builder等新型设计、验证工具的设计方法及技巧; 07、精通FPGA资源优化设计及低功耗设计; 08、掌握基于FPGA的接口互联系统设计; 架构; FPGA+DSP、09. 10、掌握基于FPGA的图像视频处理设计; 11、精通基于FPGA的SoPC设计方法; 课程大纲 第一阶段 第一部分FPGA设计流程 本课程主要介绍FPGA工艺结构、特点及FPGA芯片选型策略、原则;掌握课FPGA设计从RTL设计、功能仿真、综合等,直到在FPGA开发板上进行下程载验证的设计流程;使学员掌握FPGA设计流程,对FPGA设计有一个宏观目认识。标 第二部分Verilog HDL基础知识 本课程主要让学员掌握Verilog HDL的基本语法,能够进行较简单的RTL设课计,同时,建立HDL中逻辑运算符及RTL设计与电路实体的对应关系,深程刻理解存储器工作原理及其设计方法,及三态端口控制、双向控制等,为后目面的高级

FPGA学习方法

1.基础问题 fpga的基础就是数字电路和hdl语言,想学好fpga的人,建议床头都有一本数字电路 的书,不管是那个版本的,这个是基础,多了解也有助于形成硬件设计的思想。 在语言方面,建议初学者学习verilog语言,vhdl语言语法规范严格,调试起来很慢, verilog语言容易上手,而且,一般大型企业都是用verilog语言。 2.eda工具问题 熟悉几个常用的就可以的,开发环境quartusii ,或ise 就可以了,这两个基本是相通 的,会了哪一个,另外的那个也就很easy了。功能仿真建议使用modelsim ,如果你是做芯 片的,就可以学学别的仿真工具,做fpga的,modelsim就足够了。综合工具一般用synplify, 初学先不用太关心这个,用quartus综合就ok了 3.硬件设计思想问题 对于初学者,特别是从软件转过来的,设计的程序既费资源又速度慢,而且很有可能综 合不了,这就要求我们熟悉一些固定模块的写法,可综合的模块很多书上都有,语言介绍上 都有,不要想当然的用软件的思想去写硬件。 4.学习习惯问题 fpga学习要多练习,多仿真,signaltapii是很好的工具,可以看到每个信号的真实值, 建议初学者一定要自己多动手,光看书是没用的。 关于英文文档问题,如果要学会quartus ii的所有功能,只要看它的 handbook就可以了,很详细,对于it行业的人,大部分知识来源都是英文文档,一定 要耐心看,会从中收获很多的。 5.算法问题 做fpga的工程师,最后一般都是专攻算法了,这些基础知识都是顺手捏来的,如果你没 有做好搞理论的准备,学fpga始终只能停留在初级阶段上。 对于初学者,数字信号处理是基础,应该好好理解,往更深的方向,不用什么都学,根 据你以后从事的方向,比如说通信、图像处理,雷达、声纳、导航定位等。篇二:fpga应该 学什么 回答: 甲:怎么不学verilog呢,要比vhdl好学多了.还要学fpga,cpld的软件开发环境,搞一 块简单的开发板是必需的.要想学游泳,要跳到水里去. 乙: 第一步:学习语言,最好是verilog,国内基本上都是用verilog的; 第二步:弄个fpga开发板,不管是altera的还是xilinx的; 第三步:根据开发板,如果是altera的就学习quartusii软件,如果是xilinx的就学 习一下ise了; 第四步:学习仿真软件,modelsim比较方便一些,呵呵; 第五步:根据开发板和上面的软件工具,就可以进行fpga开发和学习了。 丙: 看好actel的fpga,cpld,在性能价格上看上去有竞争力,我看楼上推荐得挺好,虽然我以 前没用过.初学宜用较简易的板子,再加一个下载线就够了.(有的板子将下载线做在一起). 丁: fpga只是一个实现数字电路的方法,内容更为重要,同时也要打好基础。 你是成电的学生,如果读研的主攻方向是信号处理等的话,应该花更多的精力在数字信 号处理适合用fpga来实现的算法上。 语言上,verilog hdl比vhdl更流行,建议学习verilog hdl。由于通信类信号处理的

学习FPGA的重要性

电类专业大学生学好FPGA就业更具竞争力!(2009-03-06 14:40:40)转载标签:就业fpga 开发工程师竞争力应用技术教育 三年来我们跑遍了全国22个城市,每次宣讲会场里场外都站满了人,每个学生都渴望寻找一份好工作的心情由此可见一斑,但通过考试发现懂FPGA和V erilog的学生却寥寥无几。尽管我们每年都对招聘FPGA人才寄予了很大的希望,但每次都失望而归,笔者深深地体会到招聘FPGA开发工程师困难重重。 由此可见在应届毕业生中熟练掌握FPGA的学生属于稀缺资源,以至于企业为培养FPGA开发工程师无不付出沉重的代价,所以对于在校电类专业的学生来说,这就是打造个人差异化竞争力的机会,事实上只要掌握FPGA就能够找到一份薪水更好的工作。我们公司每次在考核员工时往往都会特别关注这些“特殊员工”的情况,一般来说这些员工的工作都会比其它岗位高500元。实际上一个附加值较高的电子产品几乎都离不开FPGA,毫不夸张地说FPGA就是MCU或CPU的伴侣,但是很多人不曾完全意识到掌握FPGA技术的重要性。 难道掌握FPGA真的有这么难吗?事实上并非如此,无论是老师还是学生几乎都步入了一个误区,人们普遍认为从事单片机或嵌入式系统应用技术开发,不是C语言程序设计,就是模拟与数字电路硬件设计,于是千军万马纷纷奔向“独木桥”,却在不经意间忘记了别有一番洞天的FPGA应用技术的广泛前景和迫切的人才需求机会。 到底如何学习FPGA技术呢?其实大家只要细心浏览华中科技大学康华光教授主编的《电子技术基础(数字部分)》(第五版)就知道了,这是一本与时俱进的好教材。本书在第二章最后一节专门介绍了V erilog语言,而且在后续的每一章最后一节介绍了如何使用V erilog语言建模实现与门、或门、非门、与非门、或非门、编码器、译码器、组合逻辑电路与时序逻辑电路等数字电路的设计。笔者通过调查发现,很多大学即便了选用这本书作为教材,但很多任课老师也不给学生教授这部分内容,除了一部分老师不愿意学习新技术之外,关键是没有引起大家的重视和关注,其实只要大家同步学习V erilog并在FPGA上实现各种数字电路,即可快速、扎实地掌握FPGA应用技术。即便老师不讲这部分内容,但我们大多数的学生对这部分内容同样采取不闻不问的态度,完全没有意识到FPGA技术在未来职业生涯中重要地位。 我们虽然不能改变现有的教育体制,但是我们可以改变自己,因为成才是自己的事情,不能完全等待外力的推动,我们一定提前觉醒从进入大学起就要认真规划自己的未来。大学传授的知识点虽然很多,其实只要按部就班地学习将基础打好,事实上你只要掌握和精通其中任何一门技术就可以纵横天下安心立命了,这辈子吃一碗好饭肯定不成问题,当然如果你想成为一位卓越的人才那还远远不够。但可惜的是我们很多的学生什么都学了一点,但却没有一样是精通的,直到毕业时面对用人单位的面试才知道自己什么也不会,其实已经太晚了。人生的机会只有那么几次,上帝不可能每次都照顾你,高考的时候你淘汰了别人,找工作时你又被别人所淘汰,最后留下的精英只是极少数比你更早觉悟的幸运儿,这就是优胜劣汰。笔者常常遇到很多同学苦苦哀求用人单位给他(她)一个可以起飞的平台,其实一个有经验的面试者只要与你谈上几分钟就知道你已经不可救药了,那里还会给你机会呢?因为机会永远属于“明星学生”。其实能够考上大学的学生并不愚蠢,关键是缺乏明白人对他们的启发和加强危机教育,笔者之所以写作这篇文章,希望看到的学生能够早一点醒悟赶快行动起来,为实现人生的价值而刻苦学习。

相关文档