实用C语言FPGA编程,c语言 fpga
学通信工程要学哪种编程语言,没时间学太多只想学一两种,有哪些推荐?
作为一名从事嵌入式软件开发的工程人员,和您交流下我的理解。
通信工程学习的东西很多很杂,而且很多学校对于这个专业开设的课程会略有差异,通信原理,数字信号处理等,汇编,单片机原理,VHDL,C语言等课程都会有安排,课程很多,但并不是所有学习的课程以后都必须用得到,那么就需要重点学习对以后工作有很大益处的课程。
通信专业学习的课程很多,根据其重点学习的课程不一样,职业规范也可以不一样,可以从事单片机软件开发,单片机硬件开发,fpga开发等。各个专业侧重的基础知识是不一样,编程语言也有差异。
推荐编程语言呢?
第一门编程语言C语言,c语言的应用场景很多,我们常见的单片机软件开发,就使用C语言编程的,在规范特定的开发环境中,编程语法逻辑,编译无误后下载到硬件当中,完成相关设计除此之外,linux驱动编程,linux应用编程,包括一部分FPGA开发等岗位都会使用C语言。
(图片来源网络,侵删)
- 第二门编程语言Verilog。前面提到的FPGA开发,很多人都不知道是什么,FPGA是硬件可编程逻辑芯片,因为可以硬件并行高速运行,并且可编程,所以通信领域常用到这类芯片,比如4G/5G信号编解码相关的开发。Verilog和VHDL语言,都是从事FPGA开发的语言,但目前主流开发还时使用Verilog,同时随着半导体技术的进步,FPGA目前自带SOC的型号越来越多,C语言也是目前FPGA开发的常用编程语言, 如果你想以后从事FPGA的开发,就必须学会FPGA和C语言.
概述
FPGA,linux,单片机的职业发展各有不同,但基本上C语言都要学习,因为你是通信工程专业,我建议Verilog和FPGA好好学习,对于后续的职业发展有很大的帮助。
我是科技电小二,一名嵌入式开发工程师,如果您觉得这篇文章对您有所帮助,那么点个赞,并加个关注吧。
我是通信工程的,学校开设课程主要是c++和汇编语言,都是很基本的语言,现在都不怎么火了,建议在学校里做好职业规划,我就是没在学校做好职业规划吃了大亏,做好职业规划,就知道自己应该学习哪门语言了,通信工程专业是偏硬件的,如今硬件开发工作机会相对软件开发少,但是待遇会高些,但学习难度也很大,建议转软件开发
一、偏底层的硬件:
C和Verilog都要学,
仅仅是C语言玩mcu肯定是不行,当然玩到操作系统级别的另当别论,
仅仅是Verilog玩FPGA肯定也不行,当然玩到芯片设计和系统级的另当别论,
普通人,还是两者都学,况且语法都差不多,甚至还要学画印制板(至少会原理图)和用C++写上位机程序。
二、偏算法的硬件:
C++和matlab肯定是要学的,特别是matlab研究算法离不开,然后再根据情况,偏硬就加一门verilog,偏软在SQL、java、C#中选一门。
三、纯软件
不是很[_a***_],但数据库SQL肯定是必须的,JAVA或C#肯定是必须的,至少得会一样,Python这么火的,肯定是得占一样,即然纯软,那三门软件应该是必须的吧!其他的语言虽然也很牛,但总感觉是歪门邪道
没有学习单片机可以直接开始学习fpga吗?
可以
其实这两个是没有太大关联的,单片机属于将电路固化在内核中,而fpga则是半定制电路,可以由你自己来决定,内部电路结构,如果可以的话,甚至可以用fpga来实现单片机的功能。
二者在编程思想上不太相同,fpga属于并行,单片机属于顺序执行,编程语言也不同。如果说非要有关联的话,可能对***电路操作有相同之处。
所以,没学过单片机,完全可以直接学习fpga,不过fpga学习比较困难,希望你能持之以恒!
关注我,随时为您解答!
可以的
单片机和fpga是都是需要编程实现特定功能的,到但是两种芯片的开发不一致,单片机是用软件编程语言来实现特定功能,而fpga是***用硬件编程语言来实现逻辑功能,因此没有太大相关性,可以分开学。
如果熟悉单片机的编程,比如c语言,那么对于掌握fpga的开发语言verilog也有很大帮助。
关于FPGA初学者问题?
很多不了解FPGA不知道从何下手,很多人不知道FPGA知识也只是停留在编程语言,没硬件平台实践,就算语言学会了,平台也有了,又不知道该做什么。
本人总结了FPGA新手应该重点掌握以下几点:
一、FPGA编程语言
FPGA编程语言主要有verilog、VHDL、systemverilog。其中systemverilog是对verilog的扩展。对于FPGA初学者来说掌握其中一种编程语言即可,本人推荐verilog,原因语法简单,类似C语言,有C基础的朋友可以很快上手。
二、熟练掌握FPGA常用的开发工具
1、FPGA常用的开发工具
主要包括:xilinx 的ISE,vivado,altera的quartus,仿真工具modelsim等
2、verilog参考书
推荐数字电路,verilog语法参考手册,Verilong HDL入门(第3版),夏宇闻的Verilog数字系统设计教程(第2版),verilog高级数字设计等。
进一步来说,说到底,FPGA只是个工具而已,能达到什么样的高度,那又是另外一回事。举一个可能不太恰当的类比——如果把FPGA学习当成是英文的学习的话,你把所有单词、语法都掌握了,但是你想看懂英文法律原著那就得有法律的知识背景,你想要看懂英文经济类原著那就得有经济的知识背景。你是先把法律或者经济的背景知识都掌握了再学习英文,还是先把英文都掌握透了再学习法律或者经济知识,哪种方式都能最终达到效果,只是所花时间、精力可能会因人而异而已。而我们的培训,就相当时教你英文而已,你要是有法律或者经济类的知识最好,你要是没有也并不太影响对英文的掌握。
首先个人认为必须懂数字电路。然后掌握描述语言,以verilog为例,veriloghdl数字集成电路设计原理与应用,以及夏宇闻老师的verilog数字系统设计都不错。对于fpga,无论xilinx或者altera,市面上有很多初级教程,都可以使用。关键是要吸取精华。电路和并行的思想一定是始终伴随的。
如果你有c语言的基础,那会比较方便学verilog这样的硬件编程语言;另外,数字电路基础也必须熟悉,要知道与或非等等基础逻辑单元。verilog语言描述主要包括组合逻辑和时序逻辑,组合逻辑指与或非那样的门电路构成的逻辑电路,具备一定功能,不需要时钟参与,其输入和输出几乎同步;时序逻辑,一般我们用always语句块,这就需要在时钟的边沿触发语句块中的逻辑,所以我们常常说时钟是数字电路的心脏。我觉得工程类学习要在具体的任务下进行,比如你可以给自己定个小目标,写一段任意时钟分频模块。代码的编译和fpga的实现,需要借助软件如quartus modelsim 或者 vivado,将编译后的代码载入fpga开发板,就能实现功能啦。软件的编写代码思路实现了硬件电路,这是很神奇的。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/13918.html