0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA的基本结构、数据存储及配置方式

FPGA研究院 来源:CSDN 作者:原来如此呀 2022-11-29 10:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

FPGA 的基本结构

FPGA 可编程的特性决定了其实现数字逻辑的结构不能像专用 ASIC 那样通过固定的逻辑门电路来完成,而只能采用一种可以重复配置的结构来实现, 而查找表(LUT)可以很好地满足这一要求,目前主流的 FPGA 芯片仍是基于 SRAM 工艺的查找表结构。

FPGA 芯片参数指标:包含可编程逻辑模块的数量、固定功能逻辑模块(如乘法器)的数目及存储器资源(如嵌入式 RAM)的大小。

在最底层的可配置逻辑模块(如片上的逻辑单元) 上,存在着基本的两种部件:触发器和查找表( LUT) , 而触发器和查找表的组合方式不同,是各个 FPGA 家族之间区别的重要依据, 并且查找表本身的结构也可能各不相同( 有 4 输入或 6 输入或其他)。

查找表( Look-Up-Table)简称为 LUT, 其本质上就是一个 RAM。目前 FPGA 内部中多使用 4输入的 LUT,每一个 LUT 可以看成一个有 4 位地址线的 RAM。

当用户在 EDA 工具上通过原理图或 硬件描述语言设计了一个逻辑电路以后, FPGA 开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM 中。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查找表操作, 通过地址找到对应的 RAM 中的结果, 最后将其输出。以实现数字逻辑 Y=A&B&C 的功能为例。如果是在专用 ASIC 中,为了实现该逻辑,逻辑门都已经事先确定好, Y 的输出值为两个逻辑与运算后的结果,其基本的实现结构如下图所示:

5848f3dc-6f76-11ed-8abf-dac502259ad0.png

对Y=A&B&C 的 利用FPGA 实现基本结构 :

585e2de2-6f76-11ed-8abf-dac502259ad0.png

更为复杂的 FPGA 架构

随着技术的发展和工艺节点的进步, FPGA 的容量和性能在不断提高的同时, 其功耗却不断的优化减少。2006 年以前四输入查找表一直被广泛使用, 在一些高端器件可能会用上六输入、八输入或更多输入端口的查找表。而一个多输入的查找表又可以分解成较小输入的查找表, 即能够分裂成许多更小的功能。例如一个八输入的查找表可以分解成两个四输入的查找表或分解成一个三输入加一个五输入的查找表。在实际的高端器件中,这种可编程构造可以描述相当于百万级(有时甚至千万级)的原始逻辑门。

在 FPGA 内部,利用 FPGA 的可编程性在芯片内部构造实现了一个计数器逻辑,有着“软内核”与“硬内核”之分。

软内核(软功能):在构造计数器逻辑过程中使用到的功能便可以被称为软功能。

硬内核(硬功能):功能若是直接利用芯片实现的,则是利用了芯片内部的硬功能。

软内核与硬内核之间优势互补,软内核的优势在于可以在利用芯片资源的基础上利用编程设计让其完成需要实现的任何功能(注意是数字功能,不包括模拟功能)。而**硬内核由于是实现固定功能的器件,因此其优势在于资源利用率高且功耗较低, 占用硅片的面积也较小, 并具有较高的性能。最重要的区别**在于:与软内核相比硬内核可用于实现模拟功能, 例如锁相环的倍频功能,这个功能需要在模拟电路下实现,所以这一部分是在 FPGA 内部用硬件来实现的 。

带嵌入式处理器的 FPGA

利用 FPGA 的可编程构造实现的事情之一即为使用其中的一部分数字逻辑资源制作一个或多个软处理器内核, 当然, 也可以实现不同规模的处理器。

58740612-6f76-11ed-8abf-dac502259ad0.png

这个芯片是一种新的SoC(System on Chip,系统级芯片) FPGA,完全以硬内核方式实现的双路 ARM Cortex-A9 微控制器子系统(运行时钟高达 1GHz,包含浮点引擎,片上缓存,计数器,定时器等)以及种类广泛的硬内核接口功能( SPI, I2CCAN等),还有一个硬内核的动态内存控制器,所有这些组件都利用大量传统的可编程构造和大量的通用输入输出( GPIO)引脚进行了性能增强。

数据存储以及配置方式

在 FPGA 内部存在着存储单元片内 RAM 块,数据是存放在 RAM 中并由其来设置工作状态的,若想要 FPGA 进行工作,就需要对片内 RAM 进行编程。而如果外部有大量数据交互时,就要通过增加外设来对数据进行暂时性的存储,如 SDRAM 存储器或者 DDR3 存储器,暂存在外设中的数据最终也是要通过 FPGA 内部的 RAM 进行存储与处理。当在 EDA 工具上将程序设计完成之后,便需要将软件上的程序烧录进 FPGA 内部。通过不同的配置模式, FPGA 便会有不同的编程方式。

常用的几种配置模式:

并行模式:通过并行 PROM(Programmable read-only memory,可编程只读存储器)、 Flash (Macromedia Flash。多媒体软件平台)配置 FPGA;

主从模式:使用一片 PROM 配置多片 FPGA;

串行模式:串行 PROM 配置 FPGA;

外设模式:将 FPGA 作为微处理器的外设,由微处理器对其编程。

目前, 主流的 FPGA 都是基于 SRAM (Static Random-Access Memory,静态随机存取存储器)工艺的, 在大部分的 FPGA 开发板上,使用的都是串行配置模式。由于 SRAM 掉电就会丢失内部数据,因此往往都会外接一个能够掉电保存数据的片外存储器以保存程序。这样一来, 上电时 FPGA 便将外部存储器中的数据读入片内 RAM 以完成配置, 对 FPGA 编程完成后便进入工作状态;掉电后 FPGA 内部 SRAM 中存储的数据丢失,逻辑清零。以这种方式配置 FPGA 不仅能反复使用,还无需重复的手动配置。完成一次主动配置之后每次上电便会自动的实现 FPGA 的内部编程。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22553

    浏览量

    640500
  • 芯片
    +关注

    关注

    463

    文章

    54601

    浏览量

    470679
  • soc
    soc
    +关注

    关注

    40

    文章

    4654

    浏览量

    230517

原文标题:干货丨FPGA基础知识

文章出处:【微信号:FPGA研究院,微信公众号:FPGA研究院】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Atmel AT17LVxxxA FPGA配置EEPROM:特性、应用与技术解析

    Atmel AT17LVxxxA FPGA配置EEPROM:特性、应用与技术解析 在FPGA(现场可编程门阵列)的应用中,配置存储器是至关重
    的头像 发表于 03-29 17:05 1037次阅读

    探索Atmel AT17LV系列FPGA配置EEPROM:特性、应用与设计要点

    探索Atmel AT17LV系列FPGA配置EEPROM:特性、应用与设计要点 在FPGA(Field Programmable Gate Array,现场可编程门阵列)的应用领域中,配置
    的头像 发表于 03-24 17:40 627次阅读

    Atmel AT17LV系列FPGA配置EEPROM的全面解析

    Atmel AT17LV系列FPGA配置EEPROM的全面解析 在FPGA设计领域,配置存储器的选择至关重要。Atmel的AT17LV系列
    的头像 发表于 02-27 16:15 446次阅读

    静力水准仪的数据存储与导出方式解析

    结构物安全监测中,有效的数据管理是评估项目状态和预警风险的关键。静力水准仪作为高精度沉降监测设备,提供了灵活多样的数据存储与导出方案,以满足不同工程场景的需求。其
    的头像 发表于 01-19 14:26 356次阅读
    静力水准仪的<b class='flag-5'>数据</b><b class='flag-5'>存储</b>与导出<b class='flag-5'>方式</b>解析

    【ALINX 教程】FPGA Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板

    教程目的 本教程介绍如何在  ALINX Artix US+ AXAU25 FPGA  开发板上,通过  Multiboot  实现多个 bitstream 的存储与动态切换,并在配置失败时自动回退
    的头像 发表于 01-05 15:41 1795次阅读
    【ALINX 教程】<b class='flag-5'>FPGA</b> Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板

    如何配置电能质量在线监测装置的数据压缩存储功能?

    现代电能质量在线监测装置普遍支持数据压缩存储,可显著节省存储空间 (2-20 倍) 和传输流量。配置步骤如下: 一、配置前准备 1. 确认装
    的头像 发表于 12-17 10:26 680次阅读
    如何<b class='flag-5'>配置</b>电能质量在线监测装置的<b class='flag-5'>数据</b>压缩<b class='flag-5'>存储</b>功能?

    基于FPGA的高效内存到串行数据传输模块设计

    本文介绍了一个基于FPGA的内存到串行数据传输模块,该模块设计用来高效地处理存储器中的数据并传输至串行接口。项目中自定义的“datamover_mm2s_
    的头像 发表于 11-12 14:31 4600次阅读
    基于<b class='flag-5'>FPGA</b>的高效内存到串行<b class='flag-5'>数据</b>传输模块设计

    不同类型的电能质量在线监测装置数据存储方式有哪些优缺点?

    不同类型的电能质量在线监测装置数据存储方式,核心差异体现在 数据控制权、实时性、运维成本、扩展性 上,主要分为 本地存储、云端
    的头像 发表于 10-30 10:00 492次阅读

    企业如何根据自身需求选择合适的电能质量在线监测装置数据存储方式

    企业选择电能质量在线监测装置的数据存储方式,核心是 **“以数据特征为核心,匹配自身运维能力与安全需求”**—— 先明确数据的 “量、实时性
    的头像 发表于 10-30 09:53 398次阅读

    除了云端,电能质量在线监测装置的数据还可以存储在哪里?

    管理、恶劣环境适配)选择。以下是具体分类及特点解析: 一、装置内置存储:最基础的本地存储方式 装置出厂时通常自带内置存储模块,无需额外配置
    的头像 发表于 10-30 09:48 431次阅读

    如何利用Verilog HDL在FPGA上实现SRAM的读写测试

    、建立读写操作、配置地址计数器、模拟数据流、综合与仿真以及下载到FPGA进行硬件测试。通过实践,掌握SRAM在FPGA中的使用和基本读写方法,加深对
    的头像 发表于 10-22 17:21 4636次阅读
    如何利用Verilog HDL在<b class='flag-5'>FPGA</b>上实现SRAM的读写测试

    一文详解xilinx 7系列FPGA配置技巧

    本文旨在通过讲解不同模式的原理图连接方式,进而配置用到引脚的含义(手册上相关引脚含义有四、五页,通过本文理解基本上能够记住所有引脚含义以及使用场景),熟悉xilinx 7系列配置流程,以及设计原理图时需要注意的一些事项,比如fl
    的头像 发表于 08-30 14:35 1.2w次阅读
    一文详解xilinx 7系列<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>技巧

    CY7C68013A客户配置成slavefifo模式,FPGA发送数据到PC则会丢包或者收到的数据对不上,什么原因?

    我们这边有个客户使用CY7C68013A,客户配置成slavefifo模式,PC端发送数据FPGA数据正常,FPGA发送
    发表于 05-30 08:21

    固定式测斜仪的数据存储和导出方式有哪些?

    在工程安全监测领域,固定式测斜仪凭借其高精度和自动化优势,成为监测结构物位移的重要工具。而数据的高效存储与导出,直接影响监测结果的实时性与可靠性。下面以南京峟思YS-1A型固定测斜仪为例,为大家介绍
    的头像 发表于 05-29 12:52 746次阅读
    固定式测斜仪的<b class='flag-5'>数据</b><b class='flag-5'>存储</b>和导出<b class='flag-5'>方式</b>有哪些?

    求助,关于以编程方式配置DiplayPort MODES UFP_D引脚配置响应的疑问求解

    响应配置文件中存储数据,从而以编程方式强制分配 C 针脚而不是 D 针脚?基本上,告诉连接的笔记本电脑要么设置 2 通道 DP / 2 通道 SS,要么设置 4 通道 DP。 我们
    发表于 05-21 07:28