目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理 和DSP)的硬核(ASIC型)模块。如图1-1所示(注:图1-1只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构),FPGA芯片主 要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件 模块。

每个模块的功能如下:

1. 可编程输入输出单元(IOB)  
       可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求,其示意结构如图1-2所示。 FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大 小,可以改变上、下拉电阻。目前,I/O口的频率也越来越高,一些高端的FPGA通过DDR寄存器技术可以支持高达2Gbps的数据速率。

外部输入信号可以通过IOB模块的存储单元输入到FPGA的内部,也可以直接输入FPGA 内部。当外部输入信号经过IOB模块的存储单元输入到FPGA内部时,其保持时间(Hold Time)的要求可以降低,通常默认为0。   
为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有 一种VCCO,但不同bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。

2. 可配置逻辑块(CLB)   
       CLB是FPGA内的基本逻辑单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些 选型电路(多路复用器等)和触发器组成。 开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多个(一般为4个或2个) 相同的Slice和附加逻辑构成,如图1-3所示。每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。

Slice是Xilinx公司定义的基本逻辑单位,其内部结构如图1-4所示,一个Slice由两个4输入的函数、进位 逻辑、算术逻辑、存储逻辑和函数复用器组成。算术逻辑包括一个异或门(XORG)和一个专用与门(MULTAND),一个异或门可以使一个Slice实现 2bit全加操作,专用与门用于提高乘法器的效率;进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作;4输入函数发生 器用于实现4输入LUT、分布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的两个输入函数为6输入,可以实现6输入LUT或 64比特移位寄存器);进位逻辑包括两条快速进位链,用于提高CLB模块的处理速度

3. 数字时钟管理模块(DCM)   
       业内大多数FPGA均提供数字时钟管理(Xilinx的全部FPGA均具有这种特性)。Xilinx推出最先进的FPGA提供数字时钟管理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。

4. 嵌入式块RAM(BRAM)   
       大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器 (CAM)以及FIFO等常用存储结构。RAM、FIFO是比较普及的概念,在此就不冗述。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入 CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。除了块RAM,还可以将 FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。   
例如:单片块RAM的容量为18k比特,即位宽为18比特、深度为1024,可以根据需要改变其位宽和深度,但要满足两个原则:首先,修改后的容量(位宽 深度)不能大于18k比特;其次,位宽最大不能超过36比特。当然,可以将多片块RAM级联起来形成更大的RAM,此时只受限于芯片内块RAM的数量,而 不再受上面两条原则约束

5. 丰富的布线资源   
       布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的布线资源,根据工艺、长 度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片 Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时 钟、复位等控制信号线。   
在实际中设计者不需要直接选择布线资源,布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有密切、直接的关系。

6. 底层内嵌功能单元   
      内嵌功能模块主要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等软处理核(Soft Core)。现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。  
DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。Xilinx公司生产的芯片上集成了 DLL,Altera公司的芯片集成了PLL,Lattice公司的新型芯片上同时集成了PLL和DLL。PLL 和DLL可以通过IP核生成的工具方便地进行管理和配置。DLL的结构如图1-5所示。

7. 内嵌专用硬核   
       内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(Hard Core),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA 中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。  Xilinx公司的高端产品不仅集成了Power PC系列CPU,还内嵌了DSP Core模块,其相应的系统级设计工具是EDK和Platform Studio,并依此提出了片上系统(System on Chip)的概念。通过PowerPC、Miroblaze、Picoblaze等平台,能够开发标准的DSP处理器及其相关应用,达到SOC的开发目 的。

(1) 软核  
       软核在EDA设计领域指的是综合之前的寄存器传输级(RTL)模型;具体在FPGA设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。 软核只经过功能仿真,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块的预测性较低,在后续设计中存在发 生错误的可能性,有一定的设计风险。软核是IP核应用最广泛的形式。

(2)固核  
      固核在EDA设计领域指的是带有平面规划信息的网表;具体在FPGA设计中可以看做带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提 供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。和软核相比,固核的设计灵活性稍差,但在可靠性上有较 大提高。目前,固核也是IP核的主流形式之一。

(3)硬核  
       硬核在EDA设计领域指经过验证的设计版图;具体在FPGA设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。不能修改的原因有 两个:首先是系统设计对各个模块的时序要求很严格,不允许打乱已有的物理版图;其次是保护知识产权的要求,不允许设计人员对其有任何改动。IP硬核的不许 修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。

  •                     <li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-thumbsup"></use></svg><span class="name">点赞</span><span class="count">9</span></a></li><li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-csdnc-Collection-G"></use></svg><span class="name">收藏</span></a></li><li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;1582594662_002&quot;}"><svg class="icon" aria-hidden="true"><use xlink:href="#icon-csdnc-fenxiang"></use></svg>分享</a></li><!--打赏开始--><!--打赏结束--><li class="tool-item tool-more"><a><svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg></a><ul class="more-box"><li class="item"><a class="article-report">文章举报</a></li></ul></li></ul></div></div><div class="person-messagebox"><div class="left-message"><a href="https://blog.csdn.net/Times_poem"><img src="https://profile.csdnimg.cn/4/2/3/3_times_poem" class="avatar_pic" username="Times_poem"><img src="https://g.csdnimg.cn/static/user-reg-year/2x/4.png" class="user-years"></a></div><div class="middle-message"><div class="title"><span class="tit"><a href="https://blog.csdn.net/Times_poem" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">Times_poem</a></span></div><div class="text"><span>发布了131 篇原创文章</span> · <span>获赞 601</span> · <span>访问量 101万+</span></div></div><div class="right-message"><a href="https://bbs.csdn.net/topics/395531013" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-messageboard">他的留言板</a><a class="btn btn-sm attented bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">已关注</a></div></div></div>
    

FPGA芯片结构(可编程输入输出单元IOB/可配置逻辑块CLB/数字时钟管理模块DCM/ 嵌入式块RAM(BRAM)/丰富的布线资源/ 底层内嵌功能单元/内嵌专用硬核)相关推荐

  1. 小梅哥FPGA:嵌入式块RAM使用之FIFO

    小梅哥FPGA:嵌入式块RAM使用之FIFO 课程目标:学会调用QuartusⅡ软件中提供的FIFO核并通过仿真,了解其接口时序 实现现象:通过QuartusⅡ软件中调用FIFO核,通过仿真来验证其接 ...

  2. FPGA入门嵌入式 块RAM双口RAM使用

    嵌入式 块RAM双口RAM使用 对RAM(随机存储器)进行读和写操作. 使用tool工具生成IP核RAM,8位读地址8位写地址. IP核仿真 `timescale 1ns/1ns `define cl ...

  3. 从底层结构开始学习FPGA(1)----可配置逻辑块CLB(Configurable Logic Block)

    文章目录 系列目录与传送门 一.CLB概述 二.SLICEM与SLICEL 三.查找表LUT 3.1.移位寄存器SRL 3.2.分布式DRAM 四.多路选择器MUX 五.存储单元Storage Ele ...

  4. 典型的FPGA芯片有哪些,看完这篇文章就知道了

    目前市场上FPGA芯片主要来自Xilinx公司和Altera公司,这两家公司占据了FPGA 80%以上的市场份额,其他的FPGA厂家产品主要是针对某些特定的应用,比如,Actel公司主要生产反熔丝结构 ...

  5. 国产EDA与FPGA芯片验证方案

    制约FPGA发展的关键技术-EDA 被誉为"万能芯片"的FPGA,近年来越来越多的受到国内市场的关注.不过,其技术门槛之高,在芯片领域几乎是无出其右的.其中,在制约FPGA发展的众 ...

  6. 7系列FPGA芯片-赛灵思的“雄韬伟略”

    电子发烧友网讯:赛灵思FPGA 7系列芯片正以燎原之势席卷整个行业.在本文,电子发烧友网小编将带领大家一起走近Xilinx的FPGA 7系列芯片,从全新FPGA 7系列芯片的介绍.芯片优点.芯片典型应 ...

  7. FPGA概念、芯片结构、工作原理、开发流程以及xilinx公司主要可编程芯片

    一.FPGA概念 可编程逻辑器件(Programmable Logic Device,PLD) 专用集成电路(Application Specific Integrated Circuit,ASIC) ...

  8. 【FPGA 芯片设计】FPGA 简介 ( FPGA 芯片架构 | FPGA 芯片相对于传统芯片的优点 )

    文章目录 一.FPGA 简介 二.FPGA 架构 三.FPGA 芯片相对于传统芯片的优点 一.FPGA 简介 摩尔定律 : 价格不变 , 在集成电路上 电子元器件的数量 , 18 ~ 24 个月增加一 ...

  9. nios 和arm 是硬核还是软核?

    核(CORE)是一个数字系统的核心,负责整个系统的内存调度,中断管理,算术逻辑运算等,如同整个系统的大脑,是由物理电气实现逻辑功能的关键.尽管复杂,但不可忽略的是,核同其他数字器件一样,也是一个典型的 ...

最新文章

  1. AI 技术发展飞快,高校 AI 教师的知识储备能满足学生旺盛的求知欲吗?
  2. 收藏 | 精选11篇AI领域论文(附代码、数据集链接)
  3. Apache发布Groovy 2.5正式版及3.0预览版
  4. 七牛云音视频新功能:音频支持AAC_HE
  5. 主模式和野蛮模式_网络野蛮行为的含混性和观念
  6. ORACLE客户端jdbc连接测试,Oracle 客户端JDBC连接测试工具
  7. 红帽Openshift:入门–云中的Java EE6
  8. java 安卓调试,Android Studio(二十一):调试你的应用
  9. 计算机应用基础(专)(专22春) (2)
  10. 【LeetCode】【字符串】题号:*12. 整数转罗马数字
  11. 【车牌识别】基于matlab GUI模拟停车位管理系统【含Matlab源码 898期】
  12. 2021年杭州电子科技计算机考研大纲,杭州电子科技大学2021年硕士研究生招生专业目录与自命题科目考试大纲...
  13. glibc静态链接 libc.a(nsswitch.o)(.data+0x64):undefined reference to `_nss_files_getaliasent_r' 错误解决方法
  14. 开关稳压器设计的PCB布局布线
  15. 计算机管理软件禁止玩游戏,电脑有没有禁止玩网络游戏,但可以上网的软件?...
  16. oracle18c静默安装教程,Oracle 18c 通过 RPM 包安装数据库示例
  17. apache-ant-1.7 下载
  18. 根域名服务器作用,域名系统的主要功能是什么?域名系统中的本地域名服务器、根域名服务器、顶级域名 - 问答库...
  19. 系统管理Lesson 14. Performing Database Backups
  20. 局域网自建对讲服务器,Windows 局域网语音对讲

热门文章

  1. 谷歌Chrome浏览器
  2. 矩阵的主元+秩+矩阵等价
  3. 微服务中的服务发现是什么?
  4. 吃鸡神器!免费送一台新款苹果 iPad
  5. laragon 之Nginx
  6. 【公众号】如何将公众号给他人开发
  7. MySQL查询之分组查询
  8. 卖家后台管理项目效果预览
  9. 8个微信实用技巧,你知道多少?
  10. 人力资源外包(HRO)服务市场现状研究分析-