官方论坛
官方淘宝
官方博客
微信公众号
点击联系吴工 点击联系周老师

FPGA入门基础学什么?

发布时间:2019-12-18   作者:武哥 浏览量:

导读:如果想快速学习,那么可以进入明德扬官网进行免费课程系列学习,这样可以让你的开发板尽快动起来,早点拿起开发板用起来,掌握的也快,但是后期没有系统理论支持,以及企业级实操项目训练,麻烦就比较大,只能自己摸索,花大量的时间。这样你需要找专业的FPGA培训机构来做系统的学习还有实操项目,FPGA学习最关键的就是项目的实操。理论学的再好要谈实战,否则你自学的再好还是个菜鸟,因为没办法应对实际工作中遇到的各种问题的。

一、FPGA学习重点是什么?

1、 看代码,建模型(fpga逻辑模型)

只有在脑海中建立了一个个逻辑模型,理解FPGA内部逻辑结构实现的基础,才能明白为什么写Verilog和写C整体思路是不一样的,才能理解顺序执行语言和并行执行语言的设计方法上的差异。在看到一段简单程序的时候应该想到是什么样的功能电路。

2、 用数学思维来简化设计逻辑(FPGA设计技巧)

学习FPGA不仅逻辑思维很重要,好的数学思维也能让你的设计化繁为简,所以啊,那些看见高数就头疼的童鞋需要重视一下这门课哦。举个简单的例子,比如有两个32bit的数据X[31;0]与Y[31;0]相乘。当然,无论Altera还是Xilinx都有现成的乘法器IP核可以调用,这也是最简单的方法,但是两个32bit的乘法器将耗费大量的资源。那么有没有节省资源,又不太复杂的方式来实现呢?我们可以稍做修改:

将X[31;0]拆成两部分X1[15;0]和X2[15;0],令X1[15;0]=X[31;16],X2[15;0]=X[15;0],则X1左移16位后与X2相加可以得到X;同样将Y[31;0]拆成两部分Y1[15;0]和Y2[15;0],令Y1[15;0]=Y[31;16],Y2[15;0]=Y[15;0],则Y1左移16位后与Y2相加可以得到Y,则X与Y的相乘可以转化为X1和X2分别与Y1和Y2相乘,这样一个32bit*32bit的乘法运算转换成了四个16bit*16bit的乘法运算和三个32bit的加法运算。转换后的占用资源将会减少很多,有兴趣的童鞋,不妨综合一下看看,看看两者差多少。

3、 时钟与触发器的关系(fpga时序应用

“时钟是时序电路的控制者”这句话太经典了,可以说是FPGA设计的圣言。FPGA的设计主要是以时序电路为主,因为组合逻辑电路再怎么复杂也变不出太多花样,理解起来也不没太多困难。但是时序电路就不同了,它的所有动作都是在时钟一拍一拍的节奏下转变触发,可以说时钟就是整个电路的控制者,控制不好,电路功能就会混乱。

打个比方,时钟就相当于人体的心脏,它每一次的跳动就是触发一个CLK,向身体的各个器官供血,维持着机体的正常运作,每一个器官体统正常工作少不了组织细胞的构成,那么触发器就可以比作基本单元组织细胞。

时序逻辑电路的时钟是控制时序逻辑电路状态转换的“发动机”,没有它时序逻辑电路就不能正常工作。因为时序逻辑电路主要是利用触发器存储电路的状态,而触发器状态变换需要时钟的上升或下降沿,由此可见时钟在时序电路中的核心作用。

最后简单说一下体会吧,归结起来就是多实践、多思考、多问。实践出真知,看100遍别人的方案不如自己去实践一下。实践的动力一方面来自兴趣,一方面来自压力。有需求会容易形成压力,也就是说最好能在实际的项目开发中锻炼,而不是为了学习而学习。


从哪里开始学起呢?---至简设计法



明德扬科教的教学以潘文明先生的《至简设计法》为中心,其核心就是一个“简”字

除了在设计思路、过程、结果等方面实现了至简化,学习方法也是最简单,完全适合于0基础的学员。正常情况下,完全没有基础的学员通过30天的学习,就能独立完成FPGA项目的学习。

   拓展阅读