0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

玩转FPGA必备的基础知识

FPGA设计论坛 来源:FPGA设计论坛 2024-11-28 10:24 次阅读

FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门。那么我们要玩转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,一定要有硬件设计思想。在软件编程的时候,比如1秒钟能实现5次乘法运算,那系统要求1秒钟实现50次乘法运算怎么 办,我们会尽可能的优化代码,让代码更简洁更高效,或者提高系统主频,让系统跑的更快。但是在FPGA里面我们不是这种思维方式。在FPGA里实现一个乘 法器不够用,那我就实现两个实现三个去满足系统要求;我可以进行流水线设计;串行运行方式不够快了,我可以先串并转换,再并行的做处理……只要FPGA的 资源够用,我可以充分利用资源去满足系统要求。因为在我手里的就是一堆硬件资源,我要做的是把他们组合成一个好用的电路。评价硬件描述语言写的好坏的标准 和其他软件编程语言的标准是完全不同的。因此一定要摒弃软件编程的一些固有思路,学会用硬件的方式去解决问题。时刻提醒自己正在设计的是一个电路,而不是 一行行空洞的代码。这是很多做软件编程的人很难跨过的坎。FPGA学了很久还在纠结到底是用if_else语句好呢还是用case语句好?而不能透过这些 语句表面看到他们所具体代表的电路。只有建立了硬件设计思想,才有更深入学习FPGA的可能。

FPGA入门简单精通难。要想入门,买一块开发板跟着例程走一遍,很多人都能在很短的时间内熟悉开发软件的操作方法并且点亮开发板上的LED或者再实现个跑马灯什么的。但是再往后进步往往就进展很慢。上面提到的这四条是玩转FPGA的基础,只有打好了坚实的基础后面才能一马平川。希望每个学习FPGA的人最后都能成为大牛,设计出自己的完美电路。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1627

    文章

    21679

    浏览量

    602187
  • 数字电路
    +关注

    关注

    193

    文章

    1602

    浏览量

    80523
  • HDL语言
    +关注

    关注

    0

    文章

    47

    浏览量

    8912

原文标题:新手的FPGA学习必备的四个基础知识详解

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电子工程师必备基础知识手册

    本帖最后由 gk320830 于 2015-3-7 17:27 编辑 电子工程师必备基础知识手册
    发表于 08-15 22:59

    FPGA基础知识,初学者必备

    FPGA基础知识,初学者必备
    发表于 11-27 15:03

    数控电源必备基础知识--软件测试的艺术

    数控电源必备基础知识--软件测试的艺术资料来自网络资源
    发表于 05-04 22:57

    【资料】HarmonyOS开发必备基础知识

    HarmonyOS开发必备基础知识回复帖子查看资料下载链接:[hide][/hide]
    发表于 08-12 11:47

    电工必备基础知识

    电工必备基础知识1、左零右火。2、三相五线制用颜色黄、绿、红、淡蓝色分别表示U、V、W、N 保护接地线双颜色(PE)。3、变压器在运行中,变压器各相电流不应超过额定电流;最大不平衡电流不得超过
    发表于 09-02 08:32

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

    FPGA 已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门。网络上各种开发板、培训班更是多如牛毛,仿佛在告诉你不懂FPGA你就OUT啦。那么我们要玩转
    发表于 01-12 05:06 4.4w次阅读

    硬件工程师必备要了解哪些基础知识

    硬件工程师必备基础知识 目的:基于实际经验与实际项目详细理解并掌握成为合格的硬件工程师的最基本知识
    发表于 10-30 08:00 0次下载

    Arduino入门必备基础知识(基础认证考前总结)

    Arduino入门必备基础知识(基础认证考前总结)
    发表于 11-15 20:51 16次下载
    Arduino入门<b class='flag-5'>必备</b><b class='flag-5'>基础知识</b>(基础认证考前总结)

    12张图读懂模电、数电必备的电路基础知识(入门必备)

    12张图读懂模电、数电必备的电路基础知识(入门必备)
    发表于 02-10 11:12 201次下载
    12张图读懂模电、数电<b class='flag-5'>必备</b>的电路<b class='flag-5'>基础知识</b>(入门<b class='flag-5'>必备</b>)

    如何学习FPGAFPGA学习必备基础知识

    FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门。网络上各种开发板、培训班更是多如牛毛,仿佛在告诉你不懂FPGA你就OUT啦。那么我们要玩转
    的头像 发表于 10-27 17:43 774次阅读

    基于FPGA的加速基础知识

    电子发烧友网站提供《基于FPGA的加速基础知识.pdf》资料免费下载
    发表于 09-18 10:12 0次下载
    基于<b class='flag-5'>FPGA</b>的加速<b class='flag-5'>基础知识</b>

    电子工程师必备基础知识

    电子发烧友网站提供《电子工程师必备基础知识.pdf》资料免费下载
    发表于 11-20 11:29 36次下载
    电子工程师<b class='flag-5'>必备</b><b class='flag-5'>基础知识</b>

    经典设计经验笔记,电子工程师必备基础知识

    电子发烧友网站提供《经典设计经验笔记,电子工程师必备基础知识.pdf》资料免费下载
    发表于 11-21 11:13 15次下载
    经典设计经验笔记,电子工程师<b class='flag-5'>必备</b><b class='flag-5'>基础知识</b>

    FPGA基础知识介绍

    电子发烧友网站提供《FPGA基础知识介绍.pdf》资料免费下载
    发表于 02-23 09:45 30次下载

    FPGA基础知识及设计和执行FPGA应用所需的工具

    本文将首先介绍FPGA基础知识,包括FPGA的工作原理以及为什么要使用FPGA等,然后讨论设计和执行FPGA应用所需的工具。
    的头像 发表于 11-11 11:29 341次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>基础知识</b>及设计和执行<b class='flag-5'>FPGA</b>应用所需的工具