FPGA学习_Xilinx7系列FPGA基本结构

news2024/11/23 9:59:19

文章目录

  • 前言
  • 一、7系列FPGA介绍
    • 1.1、芯片编号
  • 二、基本组成单元
    • 2.1、可编程逻辑块CLB(Configable Logic Block)
    • 2.2、可编程输入输出单元(IOB)
    • 2.3、嵌入式块RAM(Block RAM)
    • 2.4、底层内嵌功能单元
    • 2.5、内嵌专用硬核
    • 2.6、布线资源


前言

一、7系列FPGA介绍

参考:https://xilinx.eetrend.com/content/2019/100042384.html
xilinx7系列FPGA主要包括:Spartan®-7、Artix®-7、Kintex®-7、Virtex®-7。其性能/密度/价格也随着系列的不同而提升。
Spartan7系列拥有最低的价格、最低的功耗、最小的尺寸以及最低的设计难度,一些低端应用中极为合适。
Artix7系列相对Spartan7系列则增加了串行收发器和DSP功能,其逻辑容量也更大,适合逻辑一些稍微复杂的中低端应用。
Kintex7系列是在所有系列中拥有最佳的性价比,无论是硬核数量还是逻辑容量,都能满足中低端、以及部分高端应用需求。
Virtex7系列则是7系列中的大佬,只在高端应用中使用,在中低端应用就如同高射炮打蚊子,大材小用
四者对比:
Virtex系列的器件不仅代表着Xilinx的最高水准,往往也是整个FPGA业界最好的器件。这个系列的器件一般应用于高速联网(10G~100G)、便携雷达和ASIC原型验证等领域,这些领域的特点是对资源数量和性能要求高,但是对功耗和成本不怎么敏感。
Kintex系列器件相对于Virtex系列器件在成本和功耗上做出了一定程度的让步,在成本、性能和功耗之间达成了一个相对比较好的平衡,但是成本依旧比较高。Kintex器件一般应用于3G/4G无线通信、显示和Video IO Over等领域。
Artix系列器件在尽可能不降低性能和资源数量的情况下大幅降低了器件成本,国内医疗设备和军工行业用这个系列器件用的比较多。
Spartan系列器件的性能和资源数量都远不如前面三个系列,但是胜在价格便宜,所以这个系列的器件在消费电子、汽车电子和工业领域的应用相对比较广泛。值得一提的是,Spartan系列器件的性能要比友商Altera的Cyclone系列(跟Spartan对标)高出不少,比如说,Spartan6是支持DDR3的,但是在其之后很晚才面试的Cyclone10全系类都不支持DDR3。

1.1、芯片编号

在这里插入图片描述
从上图中可以看出,除Spartan系列器件的厂商编号是由十个字段组成之外,其余三个系列的厂商编号都由9个字段组成。
四个系列器件的左数第一段编码都是"XC",这俩字符表示该器件是Xilinx生产的商业级器件,另外还有军品级和宇航级,不过这俩等级国内不太可能通过正规渠道购买;
左数第二个字段代表该器件属于Xilinx的第几代器件,7系列的这个字段都是7;
左数第三个字段代表该器件属于哪个族,S代表Spartan、A代表Artix、K代表Kintex、V代表Virtex;
左数第四个字段,实际器件上印的是一位或多位阿拉伯数字,这个数字乘以1000就是该器件大致的资源数量,只是大致,并不准确;
左数第五个字段用于表示该器件的速度等级,-3最高,-1最低,带L的表示该器件是低功耗器件(低功耗器件的供电电压比普通器件更低)。这个参数是厂商对芯片测试筛选后印到芯片上的,是一个经验值。该值越大,表示Block RAM和高速IO等资源的最大时钟越高,因此在进行设计时需要慎重考虑该数值。
接下来,Spartan器件的第六到九四个字段和其余三个族的器件的第六到八个字段是该器件的封装信息,这几个字段里最后一个字段的数字代表该器件的引脚总数(跟用户引脚数有区别)
最后一个字段表示该器件的温度等级,国内比较常见的是C和I;C代表商业级(Commercial),可以在0℃到85℃下正常运行;I代表工业级(Industrial),可以在-40℃到100℃下正常运行。

二、基本组成单元

图片源自https://xilinx.eetrend.com/blog/2020/100047069.html
在这里插入图片描述

2.1、可编程逻辑块CLB(Configable Logic Block)

一个CLB由俩个SLICE构成,SLICE可分为SLICEL(L:logic,只能在 LUT 中实现逻辑功能)SLICEM(M:memory,能够在 LUT 中实现逻辑、移位寄存器和存储器功能,可以被综合为分布式RAM),因此CLB可分为CLBLL和CLBLM俩类。具有存储器功能的 SLICEM在 DSP Slice 的列附近最为普遍,为设计人员提供接近所需位置的系数存储。 Xilinx 设计工具全面了解资源的相对布局,并以最有效的方式智能、自动地将设计映射到资源,同时遵守用户指定的任何约束

在这里插入图片描述
在这里插入图片描述
SLICE主要由4个6输入查找表(LUT6)和8个寄存器(Register,也就是D触发器)组成,此外还有进位链CARRY4(用来实现最基本的加、减法运算的)和MUX选择器

  • 查找表完成纯组合逻辑功能。
  • 寄存器可配置为带同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。
  • FPGA一般依赖寄存器完成同步时序逻辑设计。学习底层配置单元的LUT和Register比率的重要意义在于器件选型和规模估算。
    FPGA中组合逻辑全部使用查找表LUT实现,此外,查找表也可用来作为分布式存储使用。

2.2、可编程输入输出单元(IOB)

  • 可编程输入/输出单元是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。FPGA内部的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适应不同的电气标准与I/O物理特性,可以调整匹配阻抗特性,可以改变上、下拉电阻,可以调整驱动电流的大小。
  • 外部输入信号可以通过IOB模块的存储单元输入到FPGA的内部,也可以直接输入FPGA内部。当外部输入信号经过IOB模块的存储单元输入到FPGA内部时,其保持时间(Hold Time)的要求可以降低,通常默认为0。
  • 为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。

2.3、嵌入式块RAM(Block RAM)

目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。CAM,即为内容地址存储器。写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。简单的说,RAM是一种写地址,读数据的存储单元;CAM与RAM恰恰相反。除了块RAM,Xilinx的FPGA还可以灵活地将LUT配置成RAM、ROM、FIFO等存储结构(即DRAM,分布式RAM)。尽管BRAM的功能更多,但是对于一些小规模的数据存储,分布式RAM可能获得比BRAM更好的性能

2.4、底层内嵌功能单元

底层嵌入功能单元是指通用程度较高的嵌入式功能模块。如锁相环(Phase Locked Loop,PLL)、DSP(Digital Signal Processing)和CPU等。

2.5、内嵌专用硬核

与“底层嵌入单元”是有区别的,这里指的硬核主要是那些通用性相对较弱,不是所有FPGA器件都包含的硬核。
内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(Hard Core),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。
Xilinx公司的高端产品不仅集成了ARM,还内嵌了DSP Core模块,并提出MPSoC、RFSoC等概念。

2.6、布线资源

布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别:

  • 全局性的专用布线资源:用以完成芯片内部全局时钟和全局复位/置位的布线;
  • 长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线;
  • 短线资源:用来完成基本逻辑单元间的逻辑互连与布线;
  • 其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。
    由于在设计过程中,往往由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条件选择可用的布线资源连通所用的底层单元模块,所以常常忽略布线资源。其实布线资源的优化与使用和实现结果有直接关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1533033.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

变配电站配电监控解决方案--变电站综合自动化系统

变电站综合自动化系统 Acrel-1000变电站综合自动化监控系统是我司根据电力系统自动化及无人值守的要求,总结国内外的研究和生产的先进经验专门研制出的新一代电力监控系统。本系统具有保护、遥测、遥信、遥脉、遥调、遥控功能,可实现无人或少人值守功能…

基于SpringBoot的街道办管理系统

摘 要 随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的街道办管理系统。当前的信息管理存在工作…

NodeJS 集群模块: 为App创建集群实例

NodeJS 集群模块: 为App创建集群实例 目录 NodeJS 集群模块: 为App创建集群实例Node.js 集群介绍:终极扩展策略使用集群模块开始扩展 Node.js扩展 Node.js 的两种集群策略使用集群受益的 Node.js 应用程序示例没有集群的 Node.js:不可伸缩的原则集群操作:一个扩展的 Node.js…

Redis的分片机制

Redis的分片机制 Redis是一个开源的内存数据结构存储系统,它支持键值对的存储方式。Redis的分片机制允许将数据在多个节点上进行分布式存储和处理,从而提高系统的性能和可扩展性。 Redis的分片机制是通过一致性哈希算法实现的。一致性哈希算法将所有的ke…

vue2 脚手架

安装 文档:https://cli.vuejs.org/zh/ 第一步:全局安装(仅第一次执行) npm install -g vue/cli 或 yarn global add vue/cli 备注:如果出现下载缓慢:请配置npm 淘宝镜像: npm config set regis…

EFcore的实体类配置

1 约定配置 约定大于配置,框架默认了许多实体类配置的规则,在约定规则不满足要求时,可以显示地定义规则 1 数据库表明在不指定的情况下,默认使用的是数据库上下文类【DBContext】中DbSet 的属性名; 2 数据库表列的名字…

大数据开发--02.环境准备

一.准备三台linux虚拟机 1.分别取名node1,node2,node3 2.配置静态ip 这里以node1为例,配置静态ip地址,其他node2.node3一样 配置完成之后别忘记 systemctl restart network 3.在各自的/etc/hosts文件中编辑三个Ip地址 三台都要配置, 4.然…

使用Dockerfile打包java项目生成镜像部署到Linux

1、Dockerfile 介绍 如果说容器就是“小板房”,镜像就是“样板间”。那么,要造出这个“样板间”,就必然要有一个“施工图纸”,由它来规定如何建造地基、铺设水电、开窗搭门等动作。这个“施工图纸”就是“Dockerfile”。 比起容…

【MySql实战--日志系统:一条SQL更新语句是如何执行的?】

前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎…

Apache Superset

前言 最近在准备一个小的项目,需要对 Hive 的数据进行展示,所以想到了把 Hive 的数据导出到 MySQL 然后用 Superset 进行展示。 Superset 1.1 Superset概述 Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接…

基于WTR096-28SS芯片方案的宠物喂食器实现智能化喂食功能

一、简介 本方案宠物喂食器采用了WTR096-28SS芯片方案来实现智能化的喂食功能。该方案结合了先进的技术和设计理念,提供了便捷、智能和个性化的宠物喂食解决方案。 该宠物喂食器具备定时、定量喂食功能,可以根据主人设定的时间和食物量,自动…

AI大模型与ChatGPT:开启智慧科研新篇章丨ChatGPT在地学、GIS、气象、农业、生态、环境科学等领域应用

目录 专题一 开启大模型 专题二 基于ChatGPT大模型提问框架 专题三 基于ChatGPT大模型的论文助手 专题四 基于ChatGPT大模型的数据清洗 专题五 基于ChatGPT大模型的统计分析 专题六 基于ChatGPT的经典统计模型 专题七 基于ChatGPT大模型的机器学习 专题八 ChatGPT的二次…

stm32f103c8t6学习笔记(学习B站up江科大自化协)-ADC

ADC简介 ADC,英文全称是Analog to Digital Convert,意为模拟数字转换器,简称模数转换器,或者叫AD转换器,STM32主要是数字电路,数字电路只有高低电平,没有几V电压的概念,如果想读取电…

AI大模型额外学习一:斯坦福AI西部世界小镇笔记(包括部署和源码分析)

文章目录 一、简单介绍1)项目代码介绍2)重新播放模拟3)适当修改分叉模拟 二、部署斯坦福小镇Demo1)准备工作2)解决遇到的bug3)启动服务器和前端 三、源码剖析1)主题顺序 github链接 一、简单介…

排序算法:快速排序(非递归)

文章目录 一、先建立一个栈二、代码编写 !](https://img-blog.csdnimg.cn/direct/870dd101173d4522862e4459b32237a3.png) 先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01;^ _ ^<3 ❤️ ❤️ ❤️ 码字不易&#xff0c;大家的支持就是我坚持下去的动力…

鸿蒙开发之导航栏tabs(类似Android tablayout)

当页面信息较多时&#xff0c;为了让用户能够聚焦于当前显示的内容&#xff0c;需要对页面内容进行分类&#xff0c;提高页面空间利用率。Tabs组件可以在一个页面内快速实现视图内容的切换&#xff0c;一方面提升查找信息的效率&#xff0c;另一方面精简用户单次获取到的信息量…

ES的集群节点发现故障排除指南(1)

本文是ES官方文档关于集群节点发现与互联互通的问题排查指南内容。 英文原文&#xff08;官网&#xff09; 集群节点发现是首要任务 集群互连&#xff0c;重中之重&#xff01; 在大多数情况下&#xff0c;发现和选举过程会迅速完成&#xff0c;并且主节点会长时间保持当选状…

3个Tips,用“AI”开启新生活

相信最近&#xff0c;很多朋友们都回归到了忙碌的生活节奏中。生活模式的切换&#xff0c;或多或少会带来身体或情绪状况的起伏。新技术正在为人们生活的方方面面带来便利。3个小Tips或许能让你也从新技术中获益&#xff0c;从身到心&#xff0c;用“AI”开启新生活。 关”A…

【研究僧总结】回顾第1095个创作日

目录 前言一. 机缘二. 日常三. 展望 前言 感觉刚过1024不久&#xff0c;现在又来个1095创作日 一. 机缘 研究僧一直在找平台做笔记&#xff0c;方便之后的回顾总结&#xff0c;也让各位网友见证你我的成长&#xff0c;相互学习 止不住的写文止不住的成长&#xff0c;大家共同…

流畅的 Python 第二版(GPT 重译)(十二)

第五部分&#xff1a;元编程 第二十二章&#xff1a;动态属性和属性 属性的关键重要性在于&#xff0c;它们的存在使得将公共数据属性作为类的公共接口的一部分完全安全且确实可取。 Martelli、Ravenscroft 和 Holden&#xff0c;“为什么属性很重要” 在 Python 中&#xff0…