FPGA知识汇集-FPGA配置模式和配置设计

news2024/12/26 19:59:46

所有现代FPGA的配置分为两类:基于SRAM的和基于非易失性的。其中,前者使用外部存储器来配置FPGA内的SRAM;后者只配置一次。

Lattice和Actel的FPGA使用称为反熔丝的非易失性配置技术,其主要优点是系统设计更加简单、不需要外部存储器和配置控制器、功耗低、成本低和FPGA配置时间更快。最大的缺点在于配置是固定的。

大多数现代FPGA都是基于SRAM,包括Xilinx Spartan和Virtex系列。每个FPGA上电后或在后续的FPGA配置期间,从外部非易失性存储器中读取比特流,由配置控制器处理,并加载到内部配置SRAM中。SRAM保持了配置逻辑、IO、嵌入式存储器、布线、时钟、收发器和其他FPGA原语等所有的设计信息。

图1是Xilinx Virtex-6 的配置结构。

配置是由FPGA内部的配置控制器执行。比特流存储在外部非易失性存储器(如Flash)中。外部存储器通过使用SelectMAP接口连接到配置控制器,这是Xilinx特有的。额外的胶合逻辑可能需要架起SelectMAP和外部存储器接口之间的桥梁。此外,比特流可以通过JTAG或ICAP加载到配置控制器中。比特流可以选择加密,以提高安全性。内部电池备份RAM( BBR)和eFuse保存用于比特流解密的加密密钥。

FPGA配置存储器也称为配置存储器单元,它的每一位与比特流中的对应位一起初始化。每个存储器单元的输出连接到可配置的功能块上,如LUT、寄存器、BRAM、IO、布线等。下图是配置存储器单元连接到多路复用器,以设置FPGA架构中元件之间的特定布线路径。在FPGA配置阶段,逻辑状态被置位为1或0。

Xilinx的FPGA配置模式

多种FPGA配置模式可满足不同的使用模式。图3是Xilinx FPGA配置模式的分类。

配置模式分为两类:主动( master)模式和被动(slave)模式。在主动配置模式下,FPGA控制配置过程。在被动模式下,由外部设备(如单片机、CPLD或其他FPGA)控制FPGA的配置过程。此外,还有两个特殊的配置模式,即使用JTAG和内部配置访问端口(ICAP)。有4种数据宽度支持不同的外部存储器: 32位、16位、8位、1位(串行)。下面是配置模式的简要介绍。

JTAG

JTAG接口主要在调试期间使用。为了与Xilinx ChipScope 和iMPACT软件应用程序接口,特殊的适配器连接到专用FPGA引脚上。

ICAP

专用的ICAP原语用于与用户逻辑的接口,在FPGA架构内进行配置。

主动串行模式

在主动串行模式中,FPGA控制Xilinx Platform Flash,以提供配置数据。Xilinx Platform Flash是一种特殊的非易失性存储器,旨在通过使用SelectMAP接口直接与Xilinx FPGA接口。

主动SPI Flash模式

在主动SPI Flash 模式中,FPGA控制串行SPI闪存,以提供配置数据。

主动SelectMAP模式

在主动SelectMAP模式中,FPGA控制Xilinx Plaform Flash,以提供8位或16位的配置数据。

主动BPI模式

在主动BPI模式中,FPGA控制并行NOR Flash, 以提供8位或16位的配置数据。

被动串行和SelectMAP模式

在被动串行模式下,外部设备(如单片机、CPLD或其他FPGA)控制FPGA的配置过程。

设计FPGA配置方案

对于特定设计来说,有一些设计考虑用于选择最合适的 FPGA配置方案。主要的选择标准是:

选择是否通过外部设备(被动模式)或由FPGA本身(主动模式)控制配置过程。从系统复杂性角度来看,主动模式最简单,但未必适合所有设计。被动模式接口作为简单的串行接口,直接连接到处理器的IO引脚,读取比特流数据进入配置控制器。

●选择外部非易失性存储器的类型和大小,用于存储一个或多个FPGA比特流。尽管与FPGA的成本相比,外部存储器的成本相对较低,但仍然是不可忽略的。设计者可以在SPI Flash、并行NOR Flash、或Xilinx Platform Flash 之间进行选择。在某些设计中,FPGA可以使用连接到被动模式下的FPGA配置控制器直接配置。

●数据宽度的选择---串行、 8位、16位或32位----影响配置速度和FPGA中用于设计的I0数目。

●现场升级配置比特流可以是一个重要的需求。配置方案必须解决当比特流正在编程进入非易失性存储器时发生损坏的情况。

●Xilinx FPGA提供了一个选项,用来加密在更高设计安全要求情况下的比特流。解密密钥可以存储在内部的BBR或者eFuse中。BBR存储器是易失性的,需要外部电池。使用BBR与使用非易失性eFuse相比,重新编程相对容易。

●配置模式的选择如图所示,以Spartan-6为例,配置模式选择如下图所示:

●不同配置模式的硬件设计如下图所示:

计算配置时间

在许多应用中,FPGA配置时间很关键,要准确估计配置方案选择过程中的时间是很重要的。配置时间取决于比特流大小、时钟频率和配置接口的数据宽度,按下列公式定义:

配置时间=比特流大小x时钟频率x数据宽度

表1提供了配置接口在不同数据宽度下,对于使用50 MHz时钟的最小和最大Xlinx Virtex-6 FPGA的预期配置时间。

Xilinx配置相关的原语

表2提供了Xilinx Virtex-6 FPGA支持的与配置相关的原语列表。

参考文献

[1] Configuration for Xilinx Virtex-6 FPGAhttp://www.xilinx.com/products/design_resources/config_ sol/v6/config_v6.htm

更多有趣的话题请看链接:

FPGA知识汇集-FPGA项目开发包含那些任务?

FPGA知识汇集--FPGA结构(1)

FPGA的应用

FPGA知识汇集-在命令行模式下使用Xilinx工具

FPGA知识汇集-ISE的这些有用的工具您知道吗?

FPGA知识汇集-FPGA设计开发需要熟悉哪些EDA工具呢?

FPGA知识汇集-值得收藏的FPGA代码命名规范?

FPGA 知识汇集--Linux下ISE的环境变量设置

FPGA知识汇集-值得收藏的Verilog代码风格1

FPGA知识汇集-值得收藏的Verilog代码风格2

FPGA知识汇集-编写可综合代码(RTL)需要注意的规则总结

FPGA知识汇集-Verilog和VHDL的混合使用

FPGA知识汇集-关于Xilinx 工具报告

FPGA知识汇集-例化与推译

硬件仿真加速器与原型验证平台

FPGA知识汇集-ASIC向FPGA的移植

FPGA知识汇集-时钟系统的移植

FPGA知识汇集-FPGA的低功耗设计方法总结

FPGA知识汇集-了解FPGA比特流结构

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

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

相关文章

Kotlin之泛型的高级特性

Kotlin泛型中的基本用法和Java中的泛型用法是大致相同的,因此也比较好理解。然而实际上,Kotlin在泛型方面还提供了不少特有的功能,接下来将进行介绍。 一、对泛型进行实化 泛型实化这个功能对于绝大多数Java程序员来讲是非常陌生的&#xf…

对云台、IMU、鲁棒性和硬件时间同步的理解

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> slam是一门集硬件和软件的多科学技术,涉及到很多技术术语、概念以及数学公式等等。下面我将结合网上资料以及个人理解进行介绍。 什么叫云台…

navicat导入sql数据库文件的简单操作步骤

目录 前言必读 一、概念 二、操作步骤 (一)新建连接 (二)新建数据库 (三)数据库导入sql文件 前言必读 读者手册(必读)_云边的快乐猫的博客-CSDN博客 一、概念 在很多项目当…

LeetCode 309. 最佳买卖股票时机含冷冻期

309. 最佳买卖股票时机含冷冻期 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 卖出股票后&#x…

第二个岳云鹏,跨年晚会含泪主持,成为一道最靓丽的风景

中国人自古讲究:百善孝入先,尤其是对于娱乐圈的明星来说,孝心和爱心更是他们成功的根本。 在这方面,德云社的小岳岳走在了前列,他用自己的孝心和爱心感动了粉丝,也收获了无数的鲜花和掌声。小岳岳的爱心体现…

2022年终总结 2023展望

一、回首2022 总结2022,同时也给新的一年设定目标,明年来还愿。 2022对我来说意义非凡,最重要莫过于考上了理想的研究生学校。 1~2月 考研初试刚结束,很长时间没敲过代码,而且本科期间刷的算法题不多,感觉…

02 USART

串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信。 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片…

RabbitMQ——高级特性

1、RabbitMQ高级特性 1.1、消息的可靠性投递 在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。 RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。 ⚫ confirm 确认模式 ⚫ return 退回模式 rabbitmq 整个消息投递的路径…

【回答问题】ChatGPT上线了!推荐30个以上比较好的命名实体识别模型

【回答问题】ChatGPT上线了!推荐30个以上比较好的命名实体识别模型以及github源码? 推荐30个以上比较好的命名实体识别模型 命名实体识别模型是指识别文本中提到的特定的人名、地名、机构名等命名实体的模型。推荐的命名实体识别模型有: …

数据仓库搭建——本地数仓搭建详细流程

1 准备 1.1 本地虚拟机器准备 使用本地搭建三台机器,搭建数仓,模拟实际平台数据仓库的搭建。具体的搭建框架如下 安装软件角色主机1主机2主机3HadoopNameNode√SecondaryNameNode√DataNode√√√NodeManager√√√ResourceManager√√Zookeeperzk se…

educoder数据结构与算法 栈 第1关:实现一个顺序存储的栈

本文已收录于专栏 🌲《educoder数据结构与算法_大耳朵宋宋的博客-CSDN博客》🌲 目录 任务描述 相关知识 编程要求 测试说明 AC_Code 任务描述 本关任务是实现 step1/SeqStack.cpp 中的SS_IsFull、SS_IsEmpty、SS_Length、SS_Push和SS_Pop五个操作…

巨星大衣哥参加元旦跨年晚会,一首老歌赢得现场一片掌声

刚刚结束的跨年晚会,各地都展现出了极大热情,这是后疫情时代的第一次跨年,自由了的国人自然兴奋异常。从南国到北疆、从湖南到山东,人们都沉浸在喜悦当中,期盼祖国风调雨顺,期盼来年都能身体安康。 远在山东…

【回答问题】ChatGPT上线了!推荐30个以上比较好的中文bert系列的模型/压缩模型

推荐30个以上比较好的中文bert系列的模型 以下是一些中文 BERT 系列的模型: BERT-Base, Chinese: 中文 BERT 基础版 BERT-Large, Chinese: 中文 BERT 大型版 BERT-WWM, Chinese: 中文 BERT 加入了 whole word masking 的版本 BERT-WWM-Ext, Chinese: 中文 BERT 加入了 whole …

大数据NiFi(五):NiFi分布式安装

文章目录 NiFi分布式安装 一、​​​​​​​为什么需要NiFi集群 二、使用内嵌的zookeepe

字符串常量

文章目录1.内存分布(1) 代码区(2) 全局区(3) 栈区(stack)(4) 堆区(heap)2.字符串常量的存储字符数组与字符指针3.字符串常量内存释放问题4.字符串常量生命周期5.字符串常量定义6.字符…

Object类

文章目录面试题:和equals()的区别回顾:和equals重写后的调用重写equals方法的原则答案toString()方法面试题:和equals()的区别 回顾:和equals :运算符 1、可以使用在基本数据变量和引用数据变量中 2、如果比较的是基…

Model Animation动画页签

1、Animation动画页签 当我们选中包含动画剪辑的的模型时,该页签将显示动画设置相关的内容 动画剪辑是Unity动画的最小构成元素,代表一个单独的动作 当美术同学做好动画导出时建议将模型和动画文件分别导出 导出包含网格信息不包含动作信息模型导出不…

【大数据】CentOS7环境下安装MySQL数据库

文章目录1.安装mysql1.1 删除CentOS系统自带数据库1.2 开始安装mysql1.3 启动mysql服务,并设置密码1.4 授权所有外部用户连接MySQL(了解)2.客户端操作mysql常见查询操作解决汉字乱码问题创建操作1.安装mysql CentOS7自带的是Mariadb&#xf…

Prometheus学习和整理

是基于时序数据库的开源监控告警系统,非常适合对K8S集群的监控,它通过HTTP协议周期性的抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控, 特点: 支持多维数据模型:由度量名和键值对组成的时间序列数据 内置时间序列数据库TSDB 支持PromQL查…

AI修复照片

一、前言 最近闲来无事,翻了翻以前的老照片,看着多年前的老照片,感慨万千,仿佛又回到了以前的青春岁月。 只可惜青春易逝,无法重来。意气风发,头角峥嵘的画面只能永远地留存在相片之中了。只叹当时没有多拍…