FPGA内部资源介绍

FPGA由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。 
    每个单元简介如下: 
    1.可编程输入/输出单元(I/O单元) 
    目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。 
    2.基本可编程逻辑单元 
    FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。 
    学习底层配置单元的LUT和Register比率的一个重要意义在于器件选型和规模估算。由于FPGA内部除了基本可编程逻辑单元外,还有嵌入式的RAM、PLL或者是DLL,专用的Hard IP Core等,这些模块也能等效出一定规模的系统门,所以简单科学的方法是用器件的Register或LUT的数量衡量。 
    3.嵌入式块RAM 
    目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。 
    CAM,即为内容地址存储器。写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,RAM是一种写地址,读数据的存储单元;CAM与RAM恰恰相反。 
    除了块RAM,Xilinx和Lattice的FPGA还可以灵活地将LUT配置成RAM、ROM、FIFO等存储结构。 
    4.丰富的布线资源 
    布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分: 
    1)全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线; 
    2)长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线(这里不懂什么是“第二全局时钟信号”); 
    3)短线资源:用来完成基本逻辑单元间的逻辑互连与布线; 
    4)其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。 
    由于在设计过程中,往往由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条件选择可用的布线资源连通所用的底层单元模块,所以常常忽略布线资源。其实布线资源的优化与使用和实现结果有直接关系。 
    5.底层嵌入功能单元(书上举了很多例子,不过这些东东要看具体哪个厂商的哪种型号的芯片上嵌有什么资源决定) 
    6.内嵌专用硬核 
    与“底层嵌入单元”是有区别的,这里指的硬核主要是那些通用性相对较弱,不是所有FPGA器件都包含硬核
    SRCC和MRCC,GCLK和CCLK区别
MRCC/SECC是区域时钟的BUFIO,MRCC能驱动相同、上下相邻bank/时钟区域的IO,SECC只能驱动相同bank/时钟区域的IO。
GCLK是全局时钟网络的BUFIO。CCLK是配置时钟IO。
DCM
Altera的Cyclone II器件最多有四个PLL,分不在芯片四个角;最主要的是Altera的PLL是模拟锁相环,在电源/地房买你需要做考虑。
Xilinx的Spantan3器件也有四个PLL,分布在四个角。
两者区别:
Altera的PLL可支持较低的输入频率,可Xilinx的DCM支持的最低锁相频率为24/32MHz;但Xilinx的高端器件Virtex-5的DPLL可达到很低的输入频率

原文发布于微信公众号 - 瓜大三哥(xiguazai_tortoise)

原文发表时间:2018-04-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

如何在 Kaggle 中高效搜索数据集?快吃下这枚安利

对于关注数据科学的同学来说,Kaggle 上庞大的数据集是一个极好的资源池,但是这么多的数据,如何进行更精准的搜索?近日,Kaggle 官方博客就刊登了 Rac...

29640
来自专栏数据的力量

google的搜索技巧

17680
来自专栏SDNLAB

P4编程理论与实践——理论篇

由于对SDN充满着兴趣,在学习了一段时间OpenFlow之后,一次偶然的机会接触到了P4。P4可以实现很多新的Idea,但是无奈于国内的实践资料太少了(有些资料...

75190
来自专栏CDA数据分析师

Python告诉你:单词软件火了,但真的有那么多人在背单词吗?

0x00 前言 你想知道背单词软件有大概多少人注册第一天都没有背完嘛? 你想知道背单词软件这么火,这么多人在使用,真的有多少人真的在背诵嘛? 别急,Python...

27370
来自专栏从流域到海域

用JAVA的DEA算法衡量社交媒体页面的流行度

原文作者:Vasilis Vryniotis

30160
来自专栏AI科技评论

开发 | 如何在Kaggle中高效搜索数据集?快吃下这枚安利

AI科技评论按:对于关注数据科学的同学来说,Kaggle上庞大的数据集是一个极好的资源池,但是这么多的数据,如何进行更精准的搜索?近日,Kaggle官方博客就刊...

40090
来自专栏软件

Lumion4.0安装图解

链接:https://pan.baidu.com/s/1ge7PaYv 密码:ast4 lumion4.0.2是一款辅助Quest3D的工具,主要作用是实现3d...

20050
来自专栏WeTest质量开放平台团队的专栏

UPA性能分析工具使用详解

自从WeTest宣布与Unity官方共同推出Unity性能分析工具UPA(Unity Performance Analysis)以来(Hi,我们和Unity合作...

14620
来自专栏人工智能头条

机器学习数据采集入门经验分享

14140
来自专栏云成本管理

云成本管理方法论(二)——云使用管理

本篇文章将基于云成本管理模型对云使用管理中四个管理维度(管理对象、管理时点、判定规则和管理措施)进行更具体的分析。

50250

扫码关注云+社区

领取腾讯云代金券