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

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

3天内不再提示

辉煌的FPGA帝国起源是什么?

FPGA之家 来源:数字积木 作者:Fanxin Meng 2021-03-12 14:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1984年,Xilinx公司的创始人之一,密西根大学毕业生,RossFreeman第一次提出了可编程逻辑器件(PLD)的概念,让芯片成为一个空白的画布,可由工程师通过编程在上面任意“涂鸦”。

Freeman也因为这项发明进入2009美国发明家名人堂。遗憾的是英年早逝的他没能看到他所缔造的FPGA帝国是多么的辉煌。

清华大学微电子研究所所长,中国半导体行业协会副理事长魏少军先生曾用印一本书来区别芯片的设计、制造、封测过程:设计相当于作家写了一本书,制造相当于印刷,封装相当于装订。那么FPGA是什么?如果是一个专业从事FPGA工作的老攻城狮可能会告诉你,”Field Programmable Gate Array“,然后再补上一句”It can be anything you want“。网上也有很多通俗易懂的类比。例如把FPGA的开发看作是数字积木搭建,东南大学汤勇明老师就写过一本《搭建你的数字积木——数字电路与逻辑设计》

一个个IP就像是一块块积木,通过调用IP"搭建"特定功能的电路,这个比喻来说明FPGA的开发再合适不过了。

也有人将FPGA比作是空白的大脑,大脑里面存在成千上万的神经元细胞,但是神经元之间并没有连接起来,也就还没有大脑强大的功能,但是当工程师用Verilog或者vhdl来对FPGA进行布局布线之后,神经元就连接到了一起,大脑也就有了一些功能,给大脑输入羊肉泡馍的画面,会流口水之类的反应。这个比喻来形容FPGA的设计原理再合适不过了。

另外,还有人将FPGA中的一些组成部分和生物化学有机体类比。FPGA中最基本的单元——可编程逻辑单元(CLB),可以类比为有机体中的蛋白质分子,生物化学的角度上,蛋白质可以合成更高更复杂的器官,例如心,肝,胃,胳膊腿等,那么同样CLB作为电子有机体中的蛋白质分子,当然就可以合成一个电子有机体(类比人)的各个模块(器官),有的器官复杂,需要很多蛋白质分子分层次合成,那么同样,有的电子系统的模块的也极其复杂,需要CLB分层次合成。

那么蛋白质分子在合成各种不同的器官的时候,靠什么做指导嘞?人体内部有着极其庞大复杂的DNA序列,这个DNA序列记录着人体的所有信息。在受精卵生成胚胎阶段,其中的某一段序列指导胚胎的这一坨(也就是这一堆蛋白质分子)成为未来的手,另一端序列指导胚胎的另一堆蛋白质分子成为未来的胳膊。那么同样,在FPGA中也会有等价于生物化学有机体中的DNA,就是bit_stream。bit_stream和DNA完全类似,就是一段序列,指导着若干CLB合成某一个执行具体功能的模块。

在有机体中还有脂肪的存在,脂肪的一大作用就是存储能量,在FPGA中负责存储的是BRAM,不同的是脂肪储存的是能量,BRAM储存的是数据。

FPGA中还有一个很重要的东西叫做DSP,即数字信号处理器,在人的大脑里面有一片脑回沟区域专门负责数学运算,两者可以做一个类比。

生物体中还有一个十分重要的器官叫心脏,而FPGA中有一个东西叫时钟,心脏控制脉搏,时钟则负责整个系统的工作频率。有了心脏,人类才得以正常活动,有了时钟,系统才得以有条不紊的运行。

在FPGA的设计当中编写的RTL代码,通过软件工具可以生成人类看不懂的bit_stream,也就是说工程师每天的工作都是在编写FPGA的DNA,在生物学领域,我相信大多数的科学家毕生都在做着解读‘人类天书’DNA的工作吧。这样一一类比下来感觉FPGA的开发就像是在造人一样,顿时感觉代码都不枯燥了。

首款 FPGA,即赛灵思 XC2064,只包含 64 个逻辑模块,每个模块含有两个 3 输入查找表 (LUT) 和一个寄存器。按照现在的计算,该器件有 64 个逻辑单元——不足 1000 个逻辑门。尽管容量很小,XC2064 晶片的尺寸却非常大,比当时的微处理器还要大;而且采用 2.5 微米工艺技术勉强能制造出这种器件。但随着IC制造工艺的发展,FPGA也迅速发展,资源爆炸式增长,ZYNQ系列的Z-7100的逻辑单元已经到了444k。

与FPGA同为PLD的还有CPLD,CPLD(Complex Programmable Logic Device),复杂可编程逻辑器件。CPLD由可编程逻辑的功能围绕一个可编程互连矩阵构成,由固定长度的金属线实现逻辑单元之间的互连,并增加了I/O控制模块的数量和功能。

CPLD的基本结构可看成由可编程逻辑阵列(LAB),可编程I/O控制模块和可编程内部连线(PIA)等三部分组成。

可编程逻辑阵列(LAB):由若干个可编程逻辑宏单元(Logic Macro Cell,LMC)组成,LMC主要包括与阵列、或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。

FPGA由可编程逻辑块(CLB),输入/输出模块(IOB)及可编程互连资源(PIR)等三种可编程电路和一个SRAM结构的配置存储单元组成。CLB是实现逻辑功能的基本单元,他们通常规则排列成一个阵列,散布于整个芯片中。可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部引脚的接口,它通常排列在芯片的四周。可编程互连资源(PIR)包括各种长度的连线线段和一些可编程链接开关,他们将各个CLB之间或CLB与IOB之间以及IOB之间连接起来,构成特定功能的电路。

CLB主要由逻辑函数发生器,触发器,数据选择器等电路组成。逻辑函数发生器主要由查找表(Look Up Table)构成。

查找表LUT实质上是一个RAM,当用户描述了一个逻辑电路后,软件会计算所有可能的结果,并写入RAM。每一个信号进行逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,输出结果。这样也大大加快了FPGA的运算速度。

FPGA和CPLD的区别主要有以下几点:

810290f0-82f4-11eb-8b86-12bb97331649.jpg

(1) FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失,因此,需要在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适用于数据的保密。

(2)FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路,则需要几个CLB结合起来实现。CPLD的与或阵列结构,更适用于实现大规模组合功能,但触发器资源相对较少。

(3)FPGA是细颗粒度结构,CPLD是粗粒度结构。FPGA内部有丰富连线资源,CLB分块较小,芯片利用率高。CPLD宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间的主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此,CPLD利用率较FPGA器件低。

(4)FPGA为非连续式布线,CPLD为连续式布线。FPGA器件每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,即时序延迟不可预测。CPLD每次布线路径一样,消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路,CPLD的延时小,且时序延迟可预测。CPLD比FPGA可工作在更高的频率。

所以FPGA是什么?

Itcan beanything you want!

原文标题:FPGA扫盲文

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    1656

    文章

    22298

    浏览量

    630480
  • 赛灵思
    +关注

    关注

    33

    文章

    1797

    浏览量

    133160

原文标题:FPGA扫盲文

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MarketsandMarkets FPGA行业报告,2026~2030 FPGA市场洞察

    2025年10月,全球知名市场研究与商业洞察权威咨询机构 MarketsandMarkets 发布 Field-Programmable Gate Array (FPGA) MarketSize
    的头像 发表于 11-20 13:20 155次阅读
    MarketsandMarkets <b class='flag-5'>FPGA</b>行业报告,2026~2030 <b class='flag-5'>FPGA</b>市场洞察

    汇编语言的起源

    一、汇编语言是什么? 我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。 这些指令都是二进制的,称为操作码(opcode),比如加法指令就是00000011。编译器的作用,就是将高级语言写好的程序,翻译成一条条操作码。 对于人类来说,二进制程序是不可读的,根本看不出来机器干了什么。为了解决可读性的问题,以及偶尔的编辑需求,就诞生了汇编语言。 「汇编语言是二进制指令的文本形式」,与指令是一一对应的关系。比如,加法指令00000011写成汇编语言就是 ADD。只要还原成二进制,汇编语言就可以被 CPU 直接执行,所以它是最底层的低级语言。 二、源起 最早的时候,编写程序就是手写二进制指令,然后通过各种开关输入计算机,比如要做加法了,就按一下加法开关。后来,发明了纸带打孔机,通过在纸带上打孔,将二进制指令自动输入计算机。 为了解决二进制指令的可读性问题,工程师将那些指令写成了八进制。二进制转八进制是轻而易举的,但是八进制的可读性也不行。 很自然地,最后还是用文字表达,加法指令写成 ADD。内存地址也不再直接引用,而是用标签表示。 这样的话,就多出一个步骤,要把这些文字指令翻译成二进制,这个步骤就称为 assembling,完成这个步骤的程序就叫做 assembler。它处理的文本,自然就叫做 aseembly code。标准化以后,称为 assembly language,缩写为 asm,中文译为汇编语言。 **每一种 CPU 的机器指令都是不一样的,因此对应的汇编语言也不一样。
    发表于 11-20 07:19

    FPGA技术为什么越来越牛,这是有原因的

    最近几年,FPGA这个概念越来越多地出现。例如,比特币挖矿,就有使用基于FPGA的矿机。还有,之前微软表示,将在数据中心里,使用FPGA“代替”CPU,等等。其实,对于专业人士来说,FPGA
    的头像 发表于 08-22 11:39 3847次阅读
    <b class='flag-5'>FPGA</b>技术为什么越来越牛,这是有原因的

    洲明科技与华辉煌签订100万台AI智能硬件供货框架协议

    经过双方长时间的深度联合研发、测试及小批量订单生产后,洲明集团旗下全资AI子公司——洲明数字文化科技有限公司与广东华辉煌光电科技有限公司(简称“华辉煌”),于近日正式签订AI智能灯具联合开发及供货
    的头像 发表于 08-19 09:58 1119次阅读

    Altera Agilex™ 3 FPGA和SoC FPGA

    Altera Agilex™ 3 FPGA和SoC FPGA Altera/Intel Agilex™ 3 FPGA和SoC FPGA使创新者能够将成本优化的设计提升到更高的性能水平。
    的头像 发表于 08-06 11:41 3690次阅读
    Altera Agilex™ 3 <b class='flag-5'>FPGA</b>和SoC <b class='flag-5'>FPGA</b>

    FPGA与高速ADC接口简介

    本文介绍FPGA与高速ADC接口方式和标准以及JESD204与FPGA高速串行接口。
    的头像 发表于 06-12 14:18 2733次阅读
    <b class='flag-5'>FPGA</b>与高速ADC接口简介

    FPGA调试方式之VIO/ILA的使用

    在Vivado中,VIO(Virtual Input/Output)是一种用于调试和测试FPGA设计的IP核,它允许设计者通过JTAG接口实时读取和写入FPGA内部的寄存器,从而检查设计的运行状态并修改其行为。VIO IP核提供了一个简单易用的接口,使得用户可以轻松地与
    的头像 发表于 06-09 09:32 3173次阅读
    <b class='flag-5'>FPGA</b>调试方式之VIO/ILA的使用

    智多晶FPGA设计工具HqFpga接入DeepSeek大模型

    在 AI 赋能工程设计的时代浪潮中,智多晶率先迈出关键一步——智多晶正式宣布旗下 FPGA 设计工具 HqFpga 接入 DeepSeek 大模型,并推出 FPGA 设计专属 AI 助手——晶小助!这是
    的头像 发表于 06-06 17:06 1150次阅读

    FPGA芯片的概念和结构

    FPGA(Field Programmable Gate Array,现场可编程门阵列),是一种可在出厂后由用户根据实际需求进行编程配置的集成电路。与专用集成电路(如ASIC)不同,FPGA在硬件层面具备高度的可重构性,能够灵活实现各类数字逻辑电路和复杂系统方案。
    的头像 发表于 05-12 09:30 2436次阅读

    ‌廿载电磁铸辉煌,而今破浪再启航 | 赛盛集团20周年庆典 技术直播圆满落幕!

    2025年4月26日,赛盛集团迎来成立20周年的高光时刻。以“廿载电磁铸辉煌,而今破浪再启航”为主题,一场融合技术分享、未来展望与温情庆典的直播盛会盛大开启!线上线下同步联动,集团全员、行业伙伴
    的头像 发表于 04-30 18:22 681次阅读
    ‌廿载电磁铸<b class='flag-5'>辉煌</b>,而今破浪再启航 | 赛盛集团20周年庆典 技术直播圆满落幕!

    国产FPGA往事

    首先,这篇文章的后半部分,会有一个广告:我去年和紫光同创原厂的技术专家写了一本书——《国产FPGA权威开发指南》,我想送一些书给到熟悉的、曾经熟悉的、或者还未熟悉的FPGA开发者同行,请各位开发者
    的头像 发表于 04-14 09:53 562次阅读
    国产<b class='flag-5'>FPGA</b>往事

    fpga和cpu的区别 芯片是gpu还是CPU

    一、FPGA与CPU的区别 FPGA(Field-Programmable Gate Array,现场可编程门阵列)和CPU(Central Processing Unit,中央处理器)是两种不同类
    的头像 发表于 02-01 14:57 3051次阅读

    FPGA在AI方面有哪些应用

    随着人工智能技术的飞速发展,对计算性能的需求也日益增长。FPGA(现场可编程门阵列)作为一种高性能、低功耗、可灵活编程的硬件平台,正逐渐在 AI 领域崭露头角,展现出独特的优势,为 AI 应用的落地
    的头像 发表于 01-06 17:37 2128次阅读

    模拟IC设计中Spectre和HSPICE仿真工具的起源、差别和优劣势

    本文详细介绍了在模拟集成电路的设计与仿真领域中Spectre和HSPICE两款仿真工具的起源、差别和优劣势。 在模拟集成电路的设计与仿真领域,Spectre和HSPICE是两款具有广泛应用的仿真工具
    的头像 发表于 01-03 13:43 3100次阅读

    大多数FPGA的程序存储器(FLASH)为什么都放在外面呢?FPGA的主要应用

    FPGA的主要应用:  FPGA由于其较高的价格和成本,决定了FPGA不能像单片机那样被广泛的使用,FPGA的针对于高端处理市场(类如:手机处理器,平板,工业控制系统)或许你会有些疑问
    的头像 发表于 12-24 11:04 1858次阅读
    大多数<b class='flag-5'>FPGA</b>的程序存储器(FLASH)为什么都放在外面呢?<b class='flag-5'>FPGA</b>的主要应用