【FPGA】编程方式

FPGA编程方式

  • 1 什么是PLD?
  • 2 什么是颗粒度?
  • 3 可编程逻辑器件的编程方式有哪些?
    • 3.1 SRAM 编程技术
    • 3.2 Flash/EEPROM 编程技术
    • 3.3 反熔丝编程技术
    • 3.4 编程技术比较
  • 参考资料

1 什么是PLD?

可编程逻辑器件 英文全称为:programmable logic device 即 PLD。在修改和升级PLD时,不需要额外地改变PCB,只在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性并降低了成本,因此获得了广大硬件工程师的青睐,形成了巨大的PLD产业规模。
目前常见的PLD产品有编程只读存储器(Programmable Read Only Memory,PROM),现场可编程逻辑阵列(Field Programmable Logic Array,FPLA),可编程阵列逻辑(Programmable Array Logic,PAL),通用阵列逻辑(Generic Array Logic,GAL),可擦除的可编程逻辑器件(Erasable Programmable Logic Array,EPLA),复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)和现场可编程门阵列(Field Programmable Gate Array,FPGA)等类型。PLD器件从规模上又可以细分为简单PLD(SPLD)、复杂PLD(CPLD)及FPGA。
PLD器件类别

图1 PLD器件类别

2 什么是颗粒度?

FPGA中的颗粒度是指可编程逻辑器件按照基本单元颗粒度的大小分类。‌

可编程逻辑器件根据基本单元颗粒度可以分为三类:

  • ‌小颗粒度‌:这种类型的可编程逻辑器件以单个逻辑门为基础,例如“门海(sea of gates)”架构,其中每个基本单元是一个逻辑门。
  • 中等颗粒度‌:FPGA属于这一类别,其基本单元不是单个逻辑门,而是由多个逻辑门组成的更大规模逻辑块。
  • ‌大颗粒度‌:CPLD(Complex PLD)属于这一类别,它由多个小规模的SPLD(Simple PLD)作为基本逻辑块,通过开关连接而成,形成中规模(大规模)PLD。这种结构避免了单纯扩大AND-OR阵列规模导致的资源浪费,因为CPLD的逻辑部分和开关部分的延迟时间比较固定,设计较为容易。

3 可编程逻辑器件的编程方式有哪些?

按照编程工艺可以分为4类:

  • 【非易失】熔丝(Fuse)和反熔丝(Antifuse)编程器件
  • 【非易失】可擦除的可编程只读存储器(UEPROM)编程器件
  • 【非易失】电信号可擦除的可编程只读存储器(E2 PROM)编程器件(如CPLD)
  • 【易失】SRAM编程器件(如FPGA)。

3.1 SRAM 编程技术

SRAM使用标砖CMOS工艺设计加工。通过传输管控制存储信息的读写。当传输管导通时,SRAM单元内存储的信息可由数据端读取或改写;当传输管截止时,存储的信息被首尾相连的两个反相器锁定,由Q和Q′端输出。理论上,SARM单元可被配置无数次。
图1 5管 SRAM单元结构

图2 5管 SRAM单元结构

基于SRAM单元的可编程技术存在一系列需要解决的问题:

  1. 断电后,SRAM存储的信息将全部丢失,所以通常使用外部非易失性存储器来存储相关配置信息,如Flash或E2 PROM等。
  2. 上电复位后,配置信息需从外部存储器写入器件,配置信息有可能被窃取
  3. SRAM单元用来控制传输管的导通或截止,对FPGA内的信号传输路径进行编程,传输管并不是一种理想开关元件,对信号传输会带来相当大的阻性和容性负载,降低信号完整性

3.2 Flash/EEPROM 编程技术

与SRAM相比,Flash结合了非易失性和可重复编程的特点,上电后无须配置。用Flash结构替代FPGA中的5管或6 管SRAM存储单元,可大大减少晶体管数量,降低静态功耗,整个器件的静态电流可低至微安量级;而基于SRAM存储结构的主流商用FPGA产品,静态电流普遍在毫安量级。但是,基于Flash结构的FPGA具也有其自身局限性,表现在:

  1. Flash存储单元擦写寿命是有限的,如Actel公司的PorASIC3系列产品,只能编程500次左右,这个次数对于大多数FPGA开发应用来说是远远不够的。
  2. Flash结构需要特殊的半导体工艺,无法在第一时间应用最新工艺技术,器件规模和密度也远低于基于SARM可编程技术的FPGA。目前基于Flash结构的最大规模的商用FPGA器件只有约300万系统门容量,而最新基于SRAM存储单元的产品容量可达数千万系统门。
  3. 同SRAM技术一样,Flash技术也具有传输管带来的信号完整性问题

3.3 反熔丝编程技术

反熔丝结构在编程之前通常是开路的,通过编程使反熔丝结构局部小区域内具有相当高的电流密度,瞬间产生巨大的热功耗,将薄绝缘层介质熔化形成永久性通路。采用反熔丝结构的FPGA具有非易失性,面积小,信号传输路径具有较小寄生电阻和电容可上电后直接使用信息安全性高等优点。
但是,反熔丝技术的局限性非常明显,具体表现在以下几个方面:

  1. 无法重复编程,不适用新产品开发。
  2. 一次性编程不利于器件可靠性检测,编程后器件一次成功率低于另外两种技术。
  3. 在不同工艺下,反熔丝材料的电性能具有相当大的差异,在最新工艺节点下实现反熔丝结构非常困难。
    采用反熔丝结构的FPGA在工艺上往往要落后于最新的工艺节点,规模和密度也低于采用SRAM可编程技术的FPGA。

3.4 编程技术比较

使用反熔丝技术和Flash技术可以获得最佳的面积和速度性能;使用EPROM和E2 PROM技术也可以获得较好的面积,但是性能较差;使用SRAM技术需要占用最大的芯片面积。
在这里插入图片描述

图3 5种编程技术比较

参考资料

《Xilinx FPGA高级设计及应用》汤琦、蒋军敏著

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

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

相关文章

SpringBoot 数据库表结构文档生成

官方地址&#xff1a;https://github.com/pingfangushi/screw screw 螺丝钉&#xff0c;支持以下数据库 MySQL MariaDB TIDB Oracle SqlServer PostgreSQL Cache DB&#xff08;2016&#xff09; 生产文档支持 html word markdown 开始 添加依赖 <!-- 螺丝钉 --><…

c语言面试字符串复制

1&#xff0c;下面这个函数的打印是什么&#xff1a; #include<stdio.h> #include<string.h>int main() {char str0[5], str1[] "welcome";strcpy(str0, str1);printf("str0:%s\r\n",str0);printf("str1:%s\r\n",str1); } larkla…

nginx实现https安全访问的详细配置过程

文章目录 前言什么是 HTTP&#xff1f;什么是 HTTPS&#xff1f;HTTP 和 HTTPS 的区别为什么 HTTPS 被称为安全的&#xff1f;配置过程配置自签名证书 前言 首先我们来简单了解一下什么是http和https以及他们的区别所在. 什么是 HTTP&#xff1f; HTTP&#xff0c;全称为“超…

notepad++的json查看

json文件查看 因为接触到3dtile模型&#xff0c;所以经常需要和json打交道&#xff0c;但是很多模型是下面这种情况&#xff0c;不好阅读&#xff0c;所以可以使用notepad的插件查看 正常打开是这样的 加载notepad插件 搜索json下载安装就可以了 如果网络抽象&#xff0c;下载…

Hive企业级调优[3]—— Explain 查看执行计划

Explain 查看执行计划 Explain 执行计划概述 EXPLAIN 命令呈现的执行计划由一系列 Stage 组成。这些 Stage 之间存在依赖关系&#xff0c;每一个 Stage 可能对应一个 MapReduce Job 或者一个文件系统的操作等。如果某 Stage 对应了一个 MapReduce Job&#xff0c;则该 Job 在 …

Apache James配置连接达梦数据库

项目场景&#xff1a; Apache James配置连接达梦数据库&#xff0c;其他配置中不存在的数据库也可参考此方案。 配置步骤 1、把需要的jar包导入到James 把DmJdbcDriver18.jar复制到下面lib目录下 james-2.3.2\lib 2、 修改连接配置 james-2.3.2\apps\james\SAR-INF\confi…

C# 技巧在 foreach 循环中巧妙获取索引

目录 前言 使用 LINQ 和扩展方法 直接在 LINQ 查询中使用 使用 LINQ 的 Select() 与 Enumerable.Range() 总结 最后 前言 在C#中foreach 循环是处理集合的常见方式&#xff0c;因其简洁性和易读性而广受青睐。 但是在某些情况下&#xff0c;我们需要同时获取集合中元素的…

[深度学习]神经网络

1 人工神经网络 全连接神经网络 2 激活函数 隐藏层激活函数由人决定输出层激活函数由解决的任务决定: 二分类:sigmoid多分类:softmax回归:不加激活(恒等激活identify)2.1 sigmoid激活函数 x为加权和小于-6或者大于6,梯度接近于0,会出现梯度消失的问题即使取值 [-6,6] ,…

头戴式蓝牙耳机性价比高的有哪些?四款高能性价比机型对比推荐

在当今科技日新月异的时代&#xff0c;头戴式蓝牙耳机已经成为了我们日常生活中不可或缺的一部分&#xff0c;无论是通勤路上、健身房内还是家中休闲时&#xff0c;一副优质的头戴式蓝牙耳机都能为我们带来沉浸式的听觉体验&#xff0c;那么头戴式蓝牙耳机性价比高的有哪些&…

模版结构体没有可用成员(C3203)

没有typedef模版结构体而导致。 并且_tables[index]无法访问HashData内部的成员。

Windows系统使用PHPStudy搭建Cloudreve私有云盘公网环境远程访问

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了&#xff0c;各互联网大厂也纷纷加入战局&#…

Vue(13)——router-link

router-link vue-router提供了一个全局组件router-link(取代a标签) 能跳转&#xff0c;配置to属性指定路径&#xff08;必须&#xff09;。本质还是a标签。默认会提供高亮类名&#xff0c;可以直接设置高亮样式 右键检查&#xff0c;发现多了两个类&#xff1a; 可以直接写样式…

【Python】探索 Errbot:多功能聊天机器人框架

不是旅行治愈了你&#xff0c;是你在路上放过了自己。 在当今的数字化时代&#xff0c;聊天机器人已成为企业与客户互动、提升工作效率和增加乐趣的重要工具。Errbot是一个高度可扩展的聊天机器人框架&#xff0c;它允许开发者使用Python轻松创建和定制机器人。本文将介绍Errb…

大型语言模型 (LLM) 劫持攻击不断升级,导致每天损失超过 100,000 美元

Sysdig 威胁研究团队 (TRT) 报告称&#xff0c;LLMjacking&#xff08;大型语言模型劫持&#xff09;事件急剧增加&#xff0c;攻击者通过窃取的云凭证非法访问大型语言模型 (LLM)。 这一趋势反映了 LLM 访问黑市的不断增长&#xff0c;攻击者的动机包括个人使用和规避禁令和制…

【webpack4系列】编写可维护的webpack构建配置(四)

文章目录 构建配置包设计功能模块设计和目录结构设计功能模块设计目录结构设计 使用ESLint规范构建脚本冒烟测试介绍和实际运用冒烟测试 (smoke testing)冒烟测试执行判断构建是否成功判断基本功能是否正常 单元测试和测试覆盖率测试框架编写单元测试用例单元测试接入测试覆盖率…

Ubuntu截图工具flameshot

最近在使用香橙派做一些东西&#xff0c;有些内容需要截图记录&#xff0c;这里记录一下截图工具的安装和使用过程&#xff0c;方便以后查阅。 Ubuntu截图工具flameshot flameshot 简介flameshot 安装flameshot 相关命令 flameshot 简介 linux系统里面最好用的截屏工具支持图形…

基于python+django+vue的旅游网站系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于协同过滤pythondjangovue…

计算机四级-计算机网络

一、基础知识 1.对计算机网络发展具有重要影响的广域网是&#xff1a;ARPANET 随机争用型的介质访问控制方法起源于&#xff1a;ALOHANET 2.计算机网络发展阶段&#xff1a; A&#xff09;第一阶段的主要成果是计算机技术与通信技术的结合 B&#xff09;第二阶段的主要成果…

【例题】lanqiao4425 咖啡馆订单系统

样例输入 3 2 2 1 3 1 2样例输出 3 2样例说明 输入的数组为&#xff1a;【3&#xff0c;1&#xff0c;2】 增量序列为&#xff1a;【2&#xff0c;1】 当增量 h2&#xff1a;对于每一个索引 i&#xff0c;我们会将数组元素 arr[i] 与 arr[i−h] 进行比较&#xff0c;并进行可…

电线电缆制造5G智能工厂物联数字孪生平台,推进制造业数字化转型

电线电缆制造行业作为关键的基础设施建设领域&#xff0c;正积极拥抱新技术&#xff0c;推动生产方式的深刻变革。电线电缆制造5G智能工厂物联数字孪生平台的兴起&#xff0c;不仅为行业注入了新的活力&#xff0c;更为制造业的数字化转型树立了新的标杆。 电线电缆制造5G智能…