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
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593265
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    130542

原文标题:FPGA扫盲文

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

收藏 人收藏

    评论

    相关推荐

    华阳通用2024合作伙伴大会在惠州康帝国际酒店顺利召开

    3月29日,以“提档提速再超越 共生共赢创未来”为主题的华阳通用2024合作伙伴大会在惠州康帝国际酒店顺利召开。
    的头像 发表于 04-03 10:02 152次阅读

    fpga芯片有哪些

    FPGA芯片的种类非常丰富,以下是一些主要的FPGA芯片及其特点。
    的头像 发表于 03-14 17:35 407次阅读

    关于Type-C接口的起源

    Type-C接口是USB接口的一种连接介面,其起源可以追溯到USB接口的发展历史。 USB接口最初由英特尔、微软、IBM等多家公司联合设计,并于1996年问世。USB接口的目的是实现通用性,使得各种
    的头像 发表于 03-08 18:08 398次阅读

    fpga是什么 fpga用什么编程语言

    FPGA(Field-Programmable Gate Array)是一种可编程逻辑技术,它使用可重构的硬件单元(如门阵列和查找表)来实现电路功能。相比传统的专用集成电路(ASIC),FPGA具有
    的头像 发表于 02-04 15:26 487次阅读

    鸿蒙ArkTS的起源和简介

    能力增强、类型系统增强等方面的语言特性。本期我们结合JS和TS以及相关的开发框架的发展,为大家介绍ArkTS的起源和演进思路。 2、JS JS语言由Mozilla创造,最初主要是为了解决页面中的逻辑
    发表于 01-16 16:23

    印刷电路板的起源和演变

    在电子行业有一个关键的部件叫做PCB(printed circuit board,印刷电板)。这是一个非常基础的部件,导致很多人都很难解释到底什么是PCB。这篇文章将会详细介绍关于PCB的相关知识,让大家了解印刷电路板的起源和演变。
    的头像 发表于 12-13 15:59 481次阅读
    印刷电路板的<b class='flag-5'>起源</b>和演变

    无源互调(PIM)的起源及影响

    无源互调(PIM)的起源及影响  无源互调(Protocol Independent Multicast,PIM)是一种用于在互联网中进行组播传输的网络协议。在互联网技术蓬勃发展的时期,人们意识到
    的头像 发表于 11-28 17:23 367次阅读

    VSync的起源是什么

    VSync的起源 显示屏上一帧画面的显示过程,是像素自上而下逐行扫描的过程,如果在上一帧的扫描还没有结束的情况下,屏幕又开始扫描下一帧的像素,那么就会出现如下图中撕裂(tearing)的情况。 这个
    的头像 发表于 11-21 16:01 391次阅读
    VSync的<b class='flag-5'>起源</b>是什么

    量子计算的起源概览及应用

    年 IBM 通过 IBM 云将其 5 量子位的量子计算机开源之后,才引起年轻研究人员及新兴初创公司的注意。 起源概览
    的头像 发表于 11-09 16:27 287次阅读

    FPGA是什么?FPGA的工作原理和应用

    你是否好奇过FPGA技术是如何影响日常使用的设备的?在当今快节奏的技术领域中,FPGA变得越来越重要。FPGA拥有强大的功能和广泛的应用,驱动着现代科技的进步。
    的头像 发表于 11-02 10:06 1402次阅读

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

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

    fpga ip核是什么 常用fpga芯片的型号

     FPGA IP核(Intellectual Property core)是指在可编程逻辑器件(Field-Programmable Gate Array,FPGA)中使用的可复用的设计模块或功能片段。它们是预先编写好的硬件设计代码,可以在
    的头像 发表于 07-03 17:13 4870次阅读

    系统工程的起源与发展趋势

    摘要:总结了系统工程、体系工程与数字工程等系统科学体系的起源、发展以及相互关系,在分析国内外水下攻防体系发展情况的基础上,针对水下攻防体系在发展过程中面临的体系运行机理复杂与技术基础薄弱等主要
    的头像 发表于 06-19 14:18 1212次阅读
    系统工程的<b class='flag-5'>起源</b>与发展趋势

    软件定义汽车的起源

    我们讨论了软件定义汽车的起源、软件的重要性,并指出了软件早已经存在于汽车之中,并非最近几年才出现的新生事物。而且,我们也认为软件将会决定一个车企的生死,因为无论是传统的基本车辆功能,还是智能座舱
    的头像 发表于 06-14 11:11 718次阅读

    NASA选择蓝色起源团队制造月球着陆器

    NASA(美国国家航空航天局)近日宣布,已选择Jeff Bezos的蓝色起源(Blue Origin)公司为即将到来的Artemis登月任务制造月球着陆器。根据一份新闻稿,作为34亿美元合同的一部分
    发表于 05-25 10:53 259次阅读