为什么大量的人会觉得FPGA难学?这些道理你都知道吗?

不熟悉FPGA的内部结构,不了解可编程逻辑器件的基本原理 [本文来自:www.ii77.com]


[原文来自:www.ii77.com]

FPGA为什么是可以编程的?恐怕很多菜鸟不知道,他们也不想知道。因为他们觉得这是无关紧要的。他们潜意识的认为可编程嘛,肯定就是像写软件一样啦。软件编程的思想根深蒂固,看到Verilog或者VHDL就像看到C语言或者其它软件编程语言一样。一条条的读,一条条的分析。如果这些菜鸟们始终拒绝去了解为什么FPGA是可以编程的,不去了解FPGA的内部结构,要想学会FPGA 恐怕是天方夜谭。


虽然现在EDA软件已经非常先进,像写软件那样照猫画虎也能综合出点东西,但也许只有天知道EDA软件最后综合出来的到底是什么。也许点个灯,跑个马还行。这样就是为什么很多菜鸟学了N久以后依然是一个菜鸟的原因。


为什么大量的人会觉得FPGA难学?这些道理你都知道吗?


那么FPGA为什么是可以“编程”的呢?首先来了解一下什么叫“程”。其实 “程”只不过是一堆具有一定含义的01编码而已。

何为编程
 

编程,其实就是编写这些01编码。只不过我们现在有了很多开发工具运算或者是其它操作。所以软件是一条一条的,通常都不是直接编写这些01编码,而是以高级语言的形式来编写,最后由开发工具转换为这种01编码而已。


对于软件编程而言,处理器会有一个专门的译码电路逐条把这些01编码翻译为各种控制信号,然后控制其内部的电路完成一个个的读,因为软件的操作是一步一步完成的。而FPGA的可编程,本质也是依靠这些01编码实现其功能的改变,但不同的是FPGA之所以可以完成不同的功能,不是依靠像软件那样将01编码翻译出来再去控制一个运算电路,FPGA里面没有这些东西。

FPGA内部结构

FPGA内部主要三块:可编程的逻辑单元、可编程的连线和可编程的IO模块。


可编程的逻辑单元是什么?其基本结构某种存储器(SRAM、 FLASH等)制成的4输入或6输入1输出地“真值表”加上一个D触发器构成。任何一个4输入1输出组合逻辑电路,都有一张对应的“真值表”,同样的如果用这么一个存储器制成的4输入1输出地“真值表”,只需要修改其“真值表”内部值就可以等效出任意4输入1输出的组合逻辑。


这些“真值表”内部值是什么?就是那些01编码而已。


如果要实现时序逻辑电路怎么办?这不又D触发器嘛,任何的时序逻辑都可以转换为组合逻辑+D触发器来完成。但这毕竟只实现了4输入1输出的逻辑电路而已,通常逻辑电路的规模那是相当的大哦。

 

那怎么办呢?这个时候就需要用到可编程连线了。在这些连线上有很多用存储器控制的链接点,通过改写对应存储器的值就可以确定哪些线是连上的而哪些线是断开的。这就可以把很多可编程逻辑单元组合起来形成大型的逻辑电路。最后就是可编程的IO,这其实是FPGA作为芯片级使用必须要注意的。


为什么大量的人会觉得FPGA难学?这些道理你都知道吗?


任何芯片都必然有输入引脚和输出引脚。有可编程的IO可以任意的定义某个非专用引脚(FPGA中有专门的非用户可使用的测试、下载用引脚)为输入还是输出,还可以对IO的电平标准进行设置。总归一句话,FPGA之所以可编程是因为可以通过特殊的01代码制作成一张张 “真值表”,并将这些“真值表”组合起来以实现大规模的逻辑功能。

 

不了解FPGA内部结构,就不能明白最终代码如何变到FPGA里面去的。也就无法深入的了解如何能够充分运用FPGA。现在的FPGA,不单单是有前面讲的那三块,还有很多专用的硬件功能单元,如何利用好这些单元实现复杂的逻辑电路设计,是从菜鸟迈向高手的路上必须要克服的障碍。而这一切,还是必须先从了解FPGA内部逻辑及其工作原理做起。

 

错误理解HDL语言,怎么看都看不出硬件结构

 

HDL语言的英语全称是:Hardware Deion Language,注意这个单词Deion,而不是Design。老外为什么要用Deion这个词而不是Design呢?因为HDL确实不是用用来设计硬件的,而仅仅是用来描述硬件的。描述这个词精确地反映了HDL语言的本质,HDL语言不过是已知硬件电路的文本表现形式而已,只是将以后的电路用文本的形式描述出来而已。而在编写语言之前,硬件电路应该已经被设计出来了。语言只不过是将这种设计转化为文字表达形式而已。


但是很多人就不理解了,既然硬件都已经被设计出来了,直接拿去制作部就完了,为什么还要转化为文字表达形式再通过EDA工具这些麻烦的流程呢?


其实这就是很多菜鸟没有了解设计的抽象层次的问题,任何设计包括什么服装、机械、广告设计都有一个抽象层次的问题。就拿广告设计来说吧,最初的设计也许就是一个概念,设计出这个概念也是就是一个点子而已,离最终拍成广告还差得很远。


为什么大量的人会觉得FPGA难学?这些道理你都知道吗?

 

硬件设计也是有不同的抽象层次,每一个层次都需要设计。最高的抽象层次为算法级、然后依次是体系结构级、寄存器传输级、门级、物理版图级。使用HDL的好处在于我们已经设计好了一个寄存器传输级的电路,那么用HDL描述以后转化为文本的形式,剩下的向更低层次的转换就可以让EDA工具去做了,这就大大的降低了工作量。这就是可综合的概念,也就是说在对这一抽象层次上硬件单元进行描述可以被EDA工具理解并转化为底层的门级电路或其他结构的电路。

 

在FPGA设计中,就是在将这以抽象层级的意见描述成HDL语言,就可以通过FPGA开发软件转化为问题1中所述的FPGA内部逻辑功能实现形式。HDL也可以描述更高的抽象层级如算法级或者是体系结构级,但目前受限于EDA软件的发展,EDA软件还无法理解这么高的抽象层次,所以 HDL描述这样抽象层级是无法被转化为较低的抽象层级的,这也就是所谓的不可综合。


所以在阅读或编写HDL语言,尤其是可综合的HDL,不应该看到的是语言本身,而是要看到语言背后所对应的硬件电路结构。如果看到的HDL始终是一条条的代码,那么这种人永远摆脱不了菜鸟的宿命。假如哪一天看到的代码不再是一行行的代码而是一块一块的硬件模块,那么恭喜脱离了菜鸟的级别,进入不那么菜的鸟级别。


FPGA本身不算什么,一切皆在FPGA之外

 

这一点恐怕也是很多学FPGA的菜鸟最难理解的地方。


FPGA是给谁用的?很多学校解释为给学微电子专业或者集成电路设计专业的学生用的,其实这不过是很多学校受资金限制,买不起专业的集成电路设计工具而用FPGA工具替代而已。其实FPGA是给设计电子系统的工程师使用的。这些工程师通常是使用已有的芯片搭配在一起完成一个电子设备,如基站、机顶盒、视频监控设备等。当现有芯片无法满足系统的需求时,就需要用FPGA来快速的定义一个能用的芯片。


为什么大量的人会觉得FPGA难学?这些道理你都知道吗?

 

前面说了,FPGA里面无法就是一些“真值表”、触发器、各种连线以及一些硬件资源,电子系统工程师使用FPGA进行设计时无非就是考虑如何将这些以后资源组合起来实现一定的逻辑功能而已,而不必像IC设计工程师那样一直要关注到最后芯片是不是能够被制造出来。本质上和利用现有芯片组合成不同的电子系统没有区别,只是需要关注更底层的资源而已。


要想把FPGA用起来还是简单的,因为无非就是那些资源,在理解了前面两点再搞个实验板,跑跑实验,做点简单的东西是可以的。而真正要把FPGA用好,那光懂点FPGA知识就远远不够了。因为最终要让FPGA里面的资源如何组合,实现何种功能才能满足系统的需要,那就需要懂得更多更广泛的知识。

为什么大量的人会觉得FPGA难学?这些道理你都知道吗?

热门文章

  1. 2024年“五一”假期消费维权舆情分析报告2024-05-17
  2. 和黄医药:杜志强退任主席及执行董事职务,将担任公司策略顾问2024-05-17
  3. 天邦食品收年报问询函:要求说明生猪养殖业务中产品价格、毛利率大幅变动合理性2024-05-17
  4. 英可瑞收年报问询函:要求说明扣非后净利润连续五年为负值原因2024-05-17
  5. 海底捞海外子公司特海国际美国IPO首日开盘涨超48%2024-05-17
  6. 特种设备安装改造维修许可规则(中华人民共和国特种设备安装改造维修许可证有变更吗)2024-05-17
  7. 高分子材料有哪些(高分子材料有哪些)2024-05-17
  8. 企业战略管理(企业战略管理案例)2024-05-17
  9. 许继电气今日大宗交易成交452.93万股,成交额1.24亿元2024-05-17
  10. 尖峰集团:尖峰药业金西生产基地年产20亿片固体制剂项目已完成FDA现场检查2024-05-17
  11. 盛航股份:公司营运船舶“盛航化6”轮发生安全事故,未造成船员伤亡2024-05-17
  12. 美股开盘:三大指数小幅高开,中资房地产概念股大涨2024-05-17
  13. 房多多盘初涨幅扩大至323.77%,触发熔断2024-05-17
  14. 牂牁(牂牁郡)2024-05-17
  15. 深交所:终止昆仑新材创业板IPO审核2024-05-17
  16. 深交所:终止东实股份主板IPO审核2024-05-17
  17. 布鲁可集团在港交所递交上市申请2024-05-17
  18. 全国蹦床冠军赛朱雪莹、王梓赛夺冠2024-05-17
  19. 姜妍主演的电视剧杨贵妃(姜妍饰演的作品)2024-05-17
  20. 校园“食”光|新昌县南瑞实验学校第十一周食谱2024-05-17
自媒体 微信号:ii77 扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1 无人驾驶竞赛愈演愈烈 英伟达靠两大平台独占鳌头

    8月26日消息,据TheStreet报道,在美国密歇根州诺维(Novi)举行的2018年无人驾驶汽车大会(Autonomous Vehicle 2018),英伟达是首批出席的公司之一,也再次确认了它在无人驾驶领域的领导者地位

  2. 2 主动学习和积极运用互联网思维做好新时代文联工作

    中国文联信息化建设工作领导小组工作会议暨“互联网+协会”工作推进会现场 中国文联信息化建设工作领导小组工作会议 暨“互联网+协会”工作推进会在京召开 主动学习和积极运用

  3. 3 弹琴、cosplay、打羽毛球……现在的机器人都是戏精

    本文经AI新媒体量子位(公众号ID:qbitai )授权转载,转载请联系出处 郭一璞 发自 亦庄   这届世界机器人大会(WRC)来了不少机器人。 从工业机器人到服务机器人,除了主论坛之

  4. 4 被“不限量”套餐拖累的运营商,还能稳坐C位吗?

    在提速降费后时代, 若流量“不限量”还只是一个吸引用户的噱头,那么在得到用户欢迎的同时,也必然会引来用户的质疑和口诛笔伐。 运营商的尴尬反应了行业怎样的困局? 如何

  5. 5 日本也要禁购华为、中兴5G设备?!

    日本右翼媒体《产经新闻》本月26日引述消息人士的话报道称,日本政府计划禁止中国两家通信公司华为和中兴参与建设信息系统的投标活动,原因是基于“安全保障”考虑,美国和澳

  6. 6 格力做芯片,为何引“众怒”?

    今年5月,董明珠在接受央视采访时表示: “哪怕投资500亿,格力也要把芯片研究成功!”。 自此之后,“格力要做芯片”的话题一直备受关注,各方评论也是褒贬不一。在争论数月

  7. 7 如何以程序员的方式抗洪?

    天灾面前,无论是谁都无法阻止,但作为工程师,我们是否可以用技术利器来预防,以减少灾害带来的损失? 近日,受台风“温比亚”的影响,我国山东多地连降暴雨,降雨量之大,

  8. 8 中国移动5G部署策略:最大限度降低建设费用和租金

    在“ 2018 5G网络创新研讨会 ”上,谈及5G无线网部署策略,中国移动通信集团设计院有限公司高级工程师尧文彬表示,要统筹兼顾、因地制宜部署好5G网络。 第一,坚持5G无线网与4G/

  9. 9 年底以运营商为主体的5G试验大批开展 首批18个试点城市

    在上周举行的“中国国际智能产业博览会”上,中国信息通信研究院副院长王志勤表示:2018年国内5G测试进入了第三阶段的关键时期,重点是验证系统组网,预计今年年底就会以运营

  10. 10 中央财政9.3亿元投向联影、迈瑞、先健、大博、阜外、安贞等械企、医院、大学牵头承担的84个项目

    点击上方“ 中国医疗科技网 ”关注我们,随时掌握国内医疗政策、市场概况、企业动态等信息。 8月24日,中国生物技术发展中心发布《关于国家重点研发计划“数字诊疗装备研发”

本文内容来自网友供稿,如有信息侵犯了您的权益,请联系反馈核实

Copyright 2024.爱妻自媒体,让大家了解更多图文资讯!