美文网首页
FPGA和ASIC(32讲)

FPGA和ASIC(32讲)

作者: 牛牛_735d | 来源:发表于2020-01-07 07:22 被阅读0次

    FPG

    CPU其实是一些简单的门电路搭建而成、从最简单的门电路、搭建成半加器、全加器, 然后再搭建完整功能的ALU. 这些功能有完成各种实际计算功能的组合逻辑电路、也有用来控制数据访问、创建出寄存器和内存的时序逻辑电路, 一个4核 i7的CPU、大约有20亿个晶体管.

    思考:

    如何保证连接20亿晶体管时不出错 ?若每验证一次bug就重新生成一块芯片、代价过高.

    现场可编程门阵列(Filed-Programmable Gate array)解决了这个问题.
    P: Programmable, 可通过编程来控制的硬件
    G: Gate, 代码芯片里的门电路, 各种编程功能的实现、依赖的就是一个个的门电路
    A: Array, 阵列, 是说在一块`FPGA`上、布满了大量的门电路
    F: 一块`FPGA`的板子、可以多次进行编程、不像`PAL`(Programming Array Logic, 可编程阵列逻辑)这样古老的硬件设备、只能编程一次.
    

    思考:

    如何对硬件进行编程呢 ?

    CPU其实是通过晶体管、来实现各种组合逻辑或者时序逻辑、如何去`编程`这些线路呢 ?
    一、用存储功能实现组合逻辑
    在实现CPU时、需要完成各种各样的电路逻辑、在FPGA里、这些基本的电路逻辑、不是采用布线连接的方式进行的、
    而是预先根据软件里设计的逻辑电路、算出对应的真值表、然后直接存到`LUT(Look-Up Table, 查找表)`的电路中
    (其实就是一块存储空间、存储了输入特定信号时、对应输出是0还是1)
    如图(Look-Up Table)示:
    这个查表的方法、其实就是FPGA通过LUT来实现各种组合逻辑的方法
    
    二、对于需要实现的时序逻辑电路、可以在FPGA里直接放上`D触发器`、作为`寄存器`. 
    和CPU里的触发器本质相同、会把多个LUT的电路和寄存器组合在一起(称为`逻辑簇`). 
    在FPGA里、组合了多个LUT和寄存器的设备叫 `CLB`(Configurable Logic Block, 可配置逻辑块)
    通过配置CLB实现的功能类似全加器、是基础电路上的组合、可提供更复杂的功能、更复杂的芯片可以从CLB组合搭建、不用从基本门电路
    
    三、FPGA是通过可编程逻辑布线来连接各个不同的CLB、最终实现我们想要的功能芯片. 
    可类比为铁路网、整个铁路系统已经铺好、单设计了很多岔道、通过控制岔道来确定不同列车的线路. 
    在可编程逻辑布线里、编程做的、就是拨动像岔道一样的各个电路开关、最终实现CLB之间的连接、完成我们想要的功能
    
    Look-Up Table.png image.png

    ASIC

    虽然在手机或者录音笔上塞上一个Intel的CPU可以实现拍照、录音等功能、但, 显然比较浪费、于是: 考虑为专门用途的场景、设计单独芯片, 称为:
    ASIC(Application-Specifed Integrated Circuit) -> 专用集成电路, 电路比较精简、制造成本也比CPU低、功耗也较小

    思考:

    可以FPGA实现ASIC的事情吗?

    可以、而且成本和功耗上要优于做通用计算的CPU和GPU、
    
    那: 为什么不直接使用FPGA替代ASIC呢 ?
    硬件上的浪费. 每一个门电路都是一个小小浪费、一个LUT电路设计出来、既可以实现`与`门、
    又可以实现`或`门、用到的晶体管是比单一功能要多的、单品FPGA的生成制造成本也较高
    FPGA的优点是: 无硬件研发成本、ASIC的电路设计、需要仿真、验证、还要经过六篇、变成一个印刷的电路板、最终变成芯片、
    从研发到上式、最低花费也要几万美元、高的话、可能在几千万到数亿美元、还要失败的可能,
    若设计的芯片最终只制造几千片、那还是FPGA的成本较低
    
    实际上: 到底采用FPGA这样的可编程通用硬件、还是ASIC这样的专用芯片, 核心决定因素还是成本(不止是单个芯片的制造成本、还包括总体拥有成本)
    

    FPGA 本质上是一个可以通过编程来控制硬件电路的芯片、通过LUT这样的存储设备来代替硬连线的电路、有了可编程逻辑门、然后把LUT和寄存器放在一起、变成一个更复杂的电路CLB, 单号通过可编程布线中的开关、设计成芯片、FPGA常用来进行芯片的设计和验证、也可直接当成专用芯片、替代CPU或者GPU
    相比FPGA, ASIC设计出来的芯片针对特殊场景、研发成本高、制造成本和能耗较低、针对大量需求、适合ASIC

    相关文章

      网友评论

          本文标题:FPGA和ASIC(32讲)

          本文链接:https://www.haomeiwen.com/subject/afshactx.html