文档章节

FPGA的基本结构

e
 edu118nn
发布于 2016/04/07 15:33
字数 1059
阅读 28
收藏 0
点赞 1
评论 0

一、FPGA的基本结构

    FPGA6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。

    每个单元简介如下:

    1.可编程输入/输出单元(I/O单元)

      目前大多数FPGAI/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电器标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。

    2.基本可编程逻辑单元

      FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。

     学习底层配置单元的LUTRegister比率的一个重要意义在于器件选型和规模估算。由于FPGA内部除了基本可编程逻辑单元外,还有嵌入式的RAMPLL或者是DLL,专用的Hard IP Core等,这些模块也能等效出一定规模的系统门,所以简单科学的方法是用器件的RegisterLUT的数量衡量。

    3.嵌入式块RAM

    目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAMCAMFIFO等存储结构。

    CAM,即为内容地址存储器。写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,RAM是一种写地址,读数据的存储单元;CAMRAM恰恰相反。

    除了块RAMXilinxLatticeFPGA还可以灵活地将LUT配置成RAMROMFIFO等存储结构。

    4.丰富的布线资源

    布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分:

    1)全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线;

    2)长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线(这里不懂什么是“第二全局时钟信号”);

    3)短线资源:用来完成基本逻辑单元间的逻辑互连与布线;

    4)其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。

    由于在设计过程中,往往由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条件选择可用的布线资源连通所用的底层单元模块,所以常常忽略布线资源。其实布线资源的优化与使用和实现结果有直接关系。

    5.底层嵌入功能单元(书上举了很多例子,不过这些东东要看具体哪个厂商的哪种型号的芯片上嵌有什么资源决定)

    6.内嵌专用硬核

    与“底层嵌入单元”是有区别的,这里指的硬核主要是那些通用性相对较弱,不是所有FPGA器件都包含硬核。

更多详情请登录WWW.edu118.com

技术咨询:老师2532176025 QQ13397813997

★这里是【深圳信盈达嵌入式实训学院】,单片机培训、嵌入式ARM培训、linux培训、PCB培训、FPGA培训,汇编C语言培训、Android培训、数电模电培训cortex-m3培训!

© 著作权归作者所有

共有 人打赏支持
e
粉丝 1
博文 7
码字总数 8161
作品 0
南宁
PLD/FPGA结构与原理,其实很简单

更多精彩内容,请微信搜索“FPGAer俱乐部”关注我们。 一.基于乘积项(Product-Term)的PLD结构 采用这种结构的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工艺),Xilinx的XC9500系列(...

fpgaerclub ⋅ 04/09 ⋅ 0

哪种芯片架构将成为人工智能时代的开路先锋

  【IT168 评论】如果用刀来比喻芯片,通用处理器好比一把瑞士军刀,人工智能时代好比要拿刀来切肉,瑞士军刀可以拿来用,但它并非是为切肉设计的,所以效果并非最好。因此,需要专门打造一...

it168网站 ⋅ 2017/12/29 ⋅ 0

深入理解CPU和异构计算芯片GPU/FPGA/ASIC

转自,http://www.cnblogs.com/qcloud1001/p/6617764.html 随着互联网用户的快速增长,数据体量的急剧膨胀,数据中心对计算的需求也在迅猛上涨。诸如深度学习在线预测、直播中的视频转码、图...

lewif ⋅ 05/25 ⋅ 0

深度 | 如何评价微软在数据中心使用 FPGA ?

  AI 科技评论按:本文作者李博杰,本文整理自知乎问题《如何评价微软在数据中心使用 FPGA 代替传统 CPU 的做法?》下的回答,AI 科技评论授权转载。   问题「用 FPGA 代替 CPU」中,这个...

AI科技评论 ⋅ 01/02 ⋅ 0

FPGA算法映射思考

将图像处理的算法转换为FPGA系统设计的过程称为算法映射,CPU并行算法的实现与FPGA并行算法的实现是有一定区别的。 1.算法系统结构 图像处理算法主要有两种设计结构:流水线结构和并行阵列结...

CoderDock ⋅ 01/07 ⋅ 0

如何在集群中高效地部署和使用 AI 芯片? | 分享总结

雷锋网(公众号:雷锋网)AI研习社按:人工智能技术发展迅猛的背后不仅得益于庞大的数据量,更需要强大的硬件支持。面对层出不穷的 AI 应用,已经很难采用一种通用的硬件进行高效的数据计算和处...

杨文 ⋅ 04/18 ⋅ 0

学界 | 商汤联合提出基于FPGA的快速Winograd算法:实现FPGA之上最优的CNN表现与能耗

此前,商汤科技联合北京大学等提出一种基于 FPGA 的快速 Winograd 算法,可以大幅降低算法复杂度,改善 FPGA 上的 CNN 性能。论文中的实验使用当前最优的多种 CNN 架构,从而实现了 FPGA 加速...

机器之心 ⋅ 02/06 ⋅ 0

Xilinx RocketIO模块的介绍

摘要: 在高速电路系统设计中,差分串行通信方式正在取代并行总线方式,以满足系统对高带宽数据通信的需求。RocketIO是Virtex2 Pro以上系列FPGA中集成的专用高速串行数据收发模块,可用于实现...

mshgocn ⋅ 04/18 ⋅ 0

英特尔FPGA新品集成HBM2 内存表现更亮眼

  【IT168 资讯】昨日,英特尔最新发布了一款FPGA产品Intel Stratix 10 MX FPGA。作为Stratix 10产品线的一部分,它拥有一个高性能(来自Altera)FPGA板载。更值得我们关注的是,它具有高带宽...

it168网站 ⋅ 2017/12/19 ⋅ 0

Efinix给FPGA设计打开的脑洞

最近,FPGA初创公司Efinix宣布获得了一笔 950 万美元的新一轮融资,领投方是Xilinx。这也让这家公司的“ Quantum™ programmable architecture ”进入我们的视野。 目前Efinix提供的技术细节...

唐杉 ⋅ 2017/10/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 42分钟前 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部