关于FPGA学习的一些误区

时间:2025-09-17  作者:Diven  阅读:0

FPGA为什么是可以编程的?恐怕很多菜鸟不知道,也不想知道。因为觉得这是无关紧要的。潜意识的认为可编程嘛,肯定就是像写软件一样啦。软件编程的思想根深蒂固,看到Verilog或者VHDL就像看到C语言或者其软件编程语言一样。一条条的读,一条条的分析。

关于FPGA学习的一些误区

如果这些菜鸟们始终拒绝去了解为什么FPGA是可以编程的,不去了解FPGA的内部结构,要想学会FPGA恐怕是天方夜谭。虽然现在EDA软件已经非常先进,像写软件那样照猫画虎也能综合出点东西,但也许只有天知道EDA软件最后综合出来的到底是什么。也许点个灯,跑个马还行。这样就是为什么很多菜鸟学了N久以后依然是一个菜鸟的原因。那么FPGA为什么是可以“编程”的呢?首先来了解一下什么叫“程”。

编程,其实就是编写这些01编码。只不过我们现在有了很多开发工具,通常都不是直接编写这些01编码,而是以高级语言的形式来编写,最后由开发工具转换为这种01编码而已。对于软件编程而言,处理器会有一个专门的译码电路逐条把这些01编码翻译为各种控制信号,然后控制其内部的电路完成一个个的运算或者是其操作。

所以软件是一条一条的读,因为软件的操作是一步一步完成的。而FPGA的可编程,本质也是依靠这些01编码实现其功能的改变,但不同的是FPGA之所以可以完成不同的功能,不是依靠像软件那样将01编码翻译出来再去控制一个运算电路,FPGA里面没有这些东西。

FPGA内部主要三块:可编程的逻辑单元、可编程的连线和可编程的IO模块。可编程的逻辑单元是什么?其基本结构某种存储器(SRAM、FLASH等)制成的4输入或6输入1输出地“真值表”加上一个D触发器构成。任何一个4输入1输出组合逻辑电路,都有一张对应的“真值表”,同样的如果用这么一个存储器制成的4输入1输出地“真值表”,只需要修改其“真值表”内部值就可以等效出任意4输入1输出的组合逻辑。这些“真值表”内部值是什么?就是那些01编码而已。
       如果要实现时序逻辑电路怎么办?这不又D触发器嘛,任何的时序逻辑都可以转换为组合逻辑+D触发器来完成。但这毕竟只实现了4输入1输出的逻辑电路而已,通常逻辑电路的规模那是相当的大哦。那怎么办呢?这个时候就需要用到可编程连线了。

HDL语言的英语全称是:Hardware Deion Language,注意这个单词Deion,而不是Design。老外为什么要用Deion这个词而不是Design呢?因为HDL确实不是用用来设计硬件的,而仅仅是用来描述硬件的。

描述这个词精确地反映了HDL语言的本质,HDL语言不过是已知硬件电路的文本表现形式而已,只是将以后的电路用文本的形式描述出来而已。而在编写语言之前,硬件电路应该已经被设计出来了。语言只不过是将这种设计转化为文字表达形式而已。
       但是很多人就不理解了,既然硬件都已经被设计出来了,直接拿去制作部就完了,为什么还要转化为文字表达形式再通过EDA工具这些麻烦的流程呢?

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

FPGA是给谁用的?很多学校解释为给学微电子专业或者集成电路设计专业的学生用的,其实这不过是很多学校受资金限制,卖不起专业的集成电路设计工具而用FPGA工具替代而已。其实FPGA是给设计电子系统的工程师使用的。

这些工程师通常是使用已有的芯片搭配在一起完成一个电子设备,如基站、机顶盒、视频监控设备等。当现有芯片无法满足系统的需求时,就需要用FPGA来快速的定义一个能用的芯片。前面说了,FPGA里面无法就是一些“真值表”、触发器、各种连线以及一些硬件资源,电子系统工程师使用FPGA进行设计时无非就是考虑如何将这些以后资源组合起来实现一定的逻辑功能而已,而不必像IC设计工程师那样一直要关注到最后芯片是不是能够被制造出来。
       本质上和利用现有芯片组合成不同的电子系统没有区别,只是需要关注更底层的资源而已。要想把FPGA用起来还是简单的,因为无非就是那些资源,在理解了前面两点再搞个实验板,跑跑实验,做点简单的东西是可以的。而真正要把FPGA用好,那光懂点FPGA知识就远远不够了。因为最终要让FPGA里面的资源如何组合,实现何种功能才能满足系统的需要,那就需要懂得更多更的知识。

猜您喜欢

现代电子设备中,整流是将交流电(AC)转换为直流电(DC)的重要过程。二极管整流桥作为常见的整流电路,应用于电源供应、充电器和其电子设备中。本文将深入探讨二极管...
2025-04-07 00:00:02

百洁布和钢丝球是家庭清洁中常见的工具,各自有不同的参数和特点。百洁布通常由聚酯纤维和尼龙制成,具有良好的耐磨性和吸水性。其厚度一般在0.5毫米到1毫米之间,适用...
2010-03-02 00:00:00


贴片电阻上的「1001」可不是什么神秘代码,它其实代表着电阻的阻值。这种数字表示法通常用于三位数和四位数的贴片电阻,解读起来也相当简单。对于四位数的「1001」...
2024-11-26 11:29:27


电路保护元件的重要性日益凸显。自恢复保险丝作为智能保护元件,应用于各类电子产品中。本文将重点介绍LIANG MENG 亮盟照明自恢复保险丝的主要参数及品牌优势,...
2023-05-15 21:11:30

吹尘枪是专门用于清洁和维护设备的高效工具,应用于电子、机械、汽车等行业。其主要功能是通过高压气流迅速吹走设备表面的灰尘、杂物和细小颗粒,确保设备的正常运转和延长...
2018-10-27 00:00:00

电极插头是现代电子设备中不可少的重要组成部分,应用于医疗、科研和工业等领域。主要功能是连接电极与仪器,以实现信号的传输和数据的采集。电极插头通常采用高导电性材料...
2012-05-06 00:00:00

电子设备日益小型化、低功耗化的今天,高效稳定的电源管理方案显得尤为重要。低压差线性稳压器芯片 (LDO) 作为一种常见的电源管理芯片,凭借其低功耗、低噪声等优势...
2024-06-12 00:00:00

数字调制式电流互感器概念的提出已近半个世纪了,但受元器件的捆绑一贯没有发展起来。近年来ABB公司、德国RITZ公司都有一些不同类型电子式电流互感器和电子式电压互...
2024-02-01 16:19:00