打怪升级之FPGA组成原理(LE部分)

news2024/11/26 3:45:15

FPGA芯片逻辑单元的原理

不论你使用哪一款FPGA芯片,其核心可编程逻辑单元都是从一段内存种按顺序读取执行并执行的过程。具体来说,FOGA芯片内部包括可编程逻辑块(LAB)、可配置输入输出单元(IOE)、时钟管理模块、嵌入式RAM(BRAN,在Cyclone IV中是M9K)、丰富的布线资源、内嵌和底层功能单元和嵌入式专用硬核等。

FPGA通过查找表来等效实现所有可能的门电路。一个查找表可以实现与门、或门、非门、加减法等各种组合逻辑。查找表可以直接由Quartus综合出来,可以实现Verilog里的各种语法。比如下面这段代码:

module top(
    input   A,
    input   B,
    input   C,
    input   D,
    output  dout
    );
    assign dout = A | B | C | D;
 endmodule

就可以实现一个与门结构。我们可以综合出这样的电路,在Quartus中看它对应的RTL视图与Chip planner中的对应:

在这里插入图片描述
打开Chip planner找到上述资源位置:

在这里插入图片描述双击进入资源分配界面:

在这里插入图片描述

这样的查找表就是最基本的结构了。一个查找表LUT的内部会有一个SRAM存储器。针对地址的不同,SRAM的值也会不同,这样就等效的实现了门电路结构。

对FPGA而言,由基本的查找表组成LE,由LE组成LAB,由LAB、MK9(内存)、DSP、I/O共同构成了整个芯片的资源分布:

在这里插入图片描述

上图就是Cyclone IV E芯片的资源分布,其中蓝色代表LAB资源,浅绿代表M9K内存资源,白色代表DSP资源,浅棕色代表I/O资源。

对XILIMX、ALTERA等厂家的FPGA进行编程,实际上就是把需要进行运算的结果计算出来并存储在SRAM中,输入发生相应变化时,将SRAM中的值输出。

对于一个可编程逻辑块(LAB)而言,包含了以下要素:

1.一个逻辑块包含了16个逻辑单元(LE);
2.一个LAB控制信号;
3.一个LE进位链;
4.一个寄存器链;
5.本地互联;

在这里插入图片描述
本地互联在同一个LAB和LE之间传输信号,寄存器链连接把一个LE寄存器的输出传输到LAB中相邻的LE寄存器上。

Cyclone IV 基本组成

Cyclone IV器件的M9K存储器模块都具有9Kbit的嵌入式SRAM存储器。可以把M9K模块配置成单端口、简单双端口RAM以及FIFO缓冲器或者ROM。

Cyclone IV器件的嵌入式乘法器可以在单一模块中实现一个18 X 18 或9 X 9 乘法器。Altera针对乘法器模块提供了一套DSP IP核。包括有限脉冲响应(FIR),快速傅里叶变换(FFT)和数字控制震荡器(NCO)功能。

Cyclone IV器件的I/O支持可编程总线保持、可编程上拉电阻、可编程延迟、可编程驱动能力以及可编程slew-rate控制,从而实现了信号完整性以及热插拔的优化。

Cyclone IV 器件支持符合单端 I/O 标准的校准后片上串行匹配 (Rs OCT) 或者驱动阻抗匹配 (Rs)。 在 Cyclone IV GX 器件中,高速收发器 I/O 位于器件的左侧。器件的顶部,底部及右侧可以实现通用用户 I/O。

Cyclone IV 器件包含了高达 30 个全局时钟 (GCLK) 网络以及高达 8 个 PLL (每个 PLL上均有五个输出端 ),以提供可靠的时钟管理与综合。您可以在用户模式中对Cyclone IV 器件 PLL 进行动态重配置来改变时钟频率或者相位。

Cyclone IV 器件支持位于器件顶部,底部和右侧的 SDR、 DDR, DDR2 SDRAM 和 QDRII SRAM 接口。Cyclone IV E 器件也支持这些接口位于器件左侧。接口可能位于器件的两个或多个侧面,以实现更灵活的电路板设计。Altera® DDR SDRAM 存储器接口解决方案由一个 PHY 接口和一个存储控制器组成。Altera 提供了 PHY IP,您可以将它与您自己定制的存储控制器或 Altera 提供的存储控制器一起使用。Cyclone IV 器件支持在 DDR和 DDR2 SDRAM 接口上使用纠错编码(ECC) 位。

Cyclone IV 器件使用 SRAM 单元存储配置数据。每次器件上电后,配置数据会被下载到Cyclone IV 器件中。低成本配置选项包括 Altera EPCS 系列串行闪存器件以及商用并行闪存配置选项。这些选项实现了通用应用程序的灵活性,并提供了满足特定配置以及应用程序唤醒时间要求的能力。

逻辑单元(LE)基本组成

一个LE单元由以下内容组成:

1.一个四输入查找表(LUT),以实现四种变量的任意功能;
2.一个可编程寄存器;
3.一个进位链连接;
4.一个寄存器连接;

在这里插入图片描述

实际上不止有这一种LE结构,但我们可以以此为典型进行分析:

一个LE单元包括LUT、控制信号逻辑、同步加载清零逻辑、可编程寄存器等。其中最核心的时LUT和可编程寄存器。可编程寄存器可以配置成D、JK、T或者SR触发器。

如果没有时序逻辑功能,则LE适用于一般的逻辑应用和组合功能;如果有计算需求,会利用到外置的DSP模块做计算。

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

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

相关文章

【堆的使用】【dfs构建数】二叉树遍历

二叉树遍历方法一:方法二:利用堆的性质原题链接 方法一: 利用dfs构建树 因为这个前序遍历给了我们空的叶节点 所以我们可以只根据叶节点 构建树 abc##de#g##f### 构建图如下 我们根据前序 abc##de#g##f### 发现 dfs左子树 和 右子树 当…

mac系统下使用clion调试redis源码

获取源代码 有两种方式,第一种是从官网下载 Redis 源码压缩包,如图 1-1 所示。 图1-1 将压缩包解压得到一个文件夹。 第二种方式,通过 git clone 获取源码。 从 Github 上,使用 git clone https://github.com/redis/redis.git…

第1章-JVM与Java体系结构

1、本系列博客,主要是面向Java8的虚拟机。如有特殊说明,会进行标注。 2、本系列博客主要参考尚硅谷的JVM视频教程,整理不易,所以图片打上了一些水印,还请读者见谅。后续可能会加上一些补充的东西。 3、尚硅谷的有些视频…

业务转包?行为不可控?企业外包如何保护数据安全?

出于人力、设备、开发成本等各种因素考虑,企业会把一部分业务外包出去,比如AI数据标注外包、IT外包、银行部分业务外包等。同时,随着企业不断向外包业务转移,保护数据安全和隐私已成为企业最为关注的问题之一。 来自国外的一份报告…

1.16 从0开始学习Unity游戏开发--人物控制

上一篇我们简单的做了一个玩家不动的情况下,如何控制准心来射击子弹,但是显然正常的游戏需要移动玩家本体,所以本篇我们需要补全这部分玩法所需的功能。 人物移动 在我们之前的篇章里面,讲解了如何通过物理引擎来实现物体的物理…

(学习日记)2023.4.11

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

360虚拟数字展厅vr全景展示实现高度开放空间的深度体验

随着VR虚拟现实技术的不断发展和普及,线上VR全景虚拟展厅逐渐成为了各行各业的展示和推广产品的重要手段之一。相比于传统的展览方式,线上VR全景虚拟展厅打破了许多传统展览的局限性 传统局限性: 1、重体验过于依赖线下,难以实现转…

CloudCompare如何使用基础功能?

文章目录0.引言1.File2.Edit3.Tools4.Display5.Plugins6.3D Views0.引言 CloudCompare是一款优秀的开源点云处理软件,在研究点云的过程中,会用到其中一些点云处理功能。为快速熟悉软件的基础功能,本文介绍相应的功能按键的作用。    1.Fil…

Nginx专题-基于多网卡的主机配置

文章目录Nginx 基于多网卡的主机实现一、虚拟机前置环境准备ifcfg-ens32配置文件的内容参考ifcfg-ens33配置文件的内容二、案例演示修改nginx.conf配置文件解决中文乱码Nginx 基于多网卡的主机实现 一、虚拟机前置环境准备 点击虚拟机右下角的 红色标框按钮,然后右键…

【GC垃圾回收算法】让内存垃圾无处藏身

文章目录概述垃圾对象的判定引用计数可达性分析回收垃圾标记清除复制算法标记整理分代回收概述 垃圾回收就是帮我们把不用的内存垃圾自动释放掉 什么是垃圾呢?就是指不再使用的垃圾 如果不进行垃圾回收就会导致一个严重的问题,内存泄漏 内存泄漏&#x…

【id:34】【20分】D. Point_Array(类+构造+对象数组)

题目描述 上面是我们曾经练习过的一个习题,请在原来代码的基础上作以下修改:1、增加自写的析构函数;2、将getDisTo方法的参数修改为getDisTo(const Point &p);3、根据下面输出的内容修改相应的构造函数。 然后在主函数中根据…

HTTP伪造

打开后是一个精美的页面,再精美也没啥用,先查看源码吧可以看到这里有个点击触发的a标签,点进去后提示我不来自https://Sycsecret.buuoj.cn,结合题目是HTTP,立刻就想到了HTTP请求头伪造抓包,本身是没有Refer…

ActiveMQ使用(一):在JavaScript中使用stomp.js

ActiveMQ使用(一):在JavaScript中使用stomp.js 1. 环境准备 jQuery-1.10 下载地址:https://www.jsdelivr.com/package/npm/jquery-1.10.2?tabfilesstomp.js 2.3.3: 下载地址:https://www.jsdelivr.com/package/npm/stompjs 2. 相关代码 <!DOCTYPE html> <html l…

东用科技路由器连接上云助手配置指导手册

一、上云助手操作步骤1.安装“Device control center”并启动。2.点击“服务器设置”后设置端口号&#xff1a;1-65535&#xff0c;传输协议&#xff1a;TCP/UDP。##路由推送功能默认不勾选。其功能为将填写的远端子网及掩码信息推送给客户端&#xff0c;客户端就会生成一条目的…

java反序列化 cc链1 分析

这里我是跟白日梦组长学习&#xff0c;果然大佬就是大佬&#xff0c;讲的是真好&#xff0c;按他的配置&#xff0c;我们来配置环境。 环境搭建 环境&#xff1a; java&#xff1a;java8u_65 commons-collections&#xff1a;3.2.1 这里逛了很多圈&#xff0c;说实在的真的没有…

融云出海赋能会干货回顾 | 用户增长、场景玩法、安全合规实用指南

近期&#xff0c;“纵浪潜海 2023 融云社交泛娱乐出海赋能会”在上海、广州相继举行。移步【融云全球互联网通信云】&#xff0c;回复【出海】获取PPT。 作为更专业的出海服务商&#xff0c;融云联合多家出海服务企业&#xff0c;从热门出海地区的特性洞察、玩法解决方案、技…

BGP过滤(社团属性过滤器、AS路径过滤器)

通过路由策略来过滤 [r2]ip ip-prefix aa permit 172.16.1.0 24 [r2]route-policy aa deny node 10 [r2-route-policy]if-match ip-prefix aa [r2]route-policy aa permit node 20 [r2]bgp 200 [r2-bgp]peer 10.1.23.3 route-policy aa export 前缀列表进行过滤 [r3]ip ip-pref…

新手使用Python开发游戏pygame入门很合适-02

前面一篇博文&#xff0c;我们让飞机动起来了&#xff0c;但不是那么完美&#xff0c;我们继续来完善我们的游戏代码&#xff0c;本篇博文主要介绍获取按键的方式已经飞行速度的控制。 文章目录一、获取按键的三种方式1、通过event.get配合pygame.key枚举2、通过event.get配合o…

本地测试Segment Anything

一、下载GitHub代码 官网地址&#xff1a; https://github.com/facebookresearch/segment-anything git clone 或者 下载ZIP压缩包 二、下载.pth文件 官网中给出了三个训练好的参数文件 点击下载&#xff0c;我这里下载了最后一个358M大小的模型&#xff08;这里可以使用迅…

apache 配置与应用以及网页优化

Apache 配置与应用 --------构建虚拟 Web 主机-------- 虚拟Web主机指的是在同一台服务器中运行多个Web站点&#xff0c;其中每一个站点实际上并不独立占用整个服务器&#xff0c;因此被称为“虚拟”Web 主机。 通过虚拟 Web 主机服务可以充分利用服务器的硬件资源&#xff0c…