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

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

3天内不再提示

FPGA的硬件架构和工作原理

FPGA设计论坛 来源:至芯科技 作者:至芯科技 2021-08-10 16:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、FPGA的硬件架构和工作原理

1.1早期的PROM技术实现

在上世纪60年代以后,小规模集成电路出现,需要实现一个组合逻辑的方法,是一种基于PROM(Programable ROM Based)的技术,其原理是将组合电路的真值表写入ROM中,用PROM设备实现定制逻辑的真值表,等效于实现定制逻辑。

185d067a-ec12-11eb-a97a-12bb97331649.png

这里控制信号从略。

首先,将比较器的真值表填写:

索引 a[1] a[0] b[1] b[0] agtb(a>b) altb(a aeqb(a=b)
0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0
2 0 0 1 0 0 1 0
3 0 0 1 1 0 1 0
4 0 1 0 0 1 0 0
5 0 1 0 1 0 0 1
6 0 1 1 0 0 1 0
7 0 1 1 1 0 1 0
8 1 0 0 0 1 0 0
9 1 0 0 1 1 0 0
10 1 0 1 0 0 0 1
11 1 0 1 1 0 1 0
12 1 1 0 0 1 0 0
13 1 1 0 1 1 0 0
14 1 1 1 0 1 0 0
15 1 1 1 1 0 0 1

将真值表写入PROM中,使用PROM设备实现比较器:

18658840-ec12-11eb-a97a-12bb97331649.png

等效的实现定制逻辑。

为了进一步了解PROM技术的本质,需要知道ROM设备的架构和原理:

188dcbde-ec12-11eb-a97a-12bb97331649.png

1.2基于PROM技术的SOP(积之和最小项)

数字电路中,将真值表用逻辑门实现的常用方法为SOP(Sum Of Products):

索引号 a[1] a[0] b[1] b[0] agtb(a>b) altb(a aeqb(a=b)
0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0
2 0 0 1 0 0 1 0
3 0 0 1 1 0 1 0
4 0 1 0 0 1 0 0
5 0 1 0 1 0 0 1
6 0 1 1 0 0 1 0
7 0 1 1 1 0 1 0
8 1 0 0 0 1 0 0
9 1 0 0 1 1 0 0
10 1 0 1 0 0 0 1
11 1 0 1 1 0 1 0
12 1 1 0 0 1 0 0
13 1 1 0 1 1 0 0
14 1 1 1 0 1 0 0
15 1 1 1 1 0 0 1

18af32ec-ec12-11eb-a97a-12bb97331649.png

PROM设备中,多路器的选择信号对应地址的译码逻辑

18c8f83a-ec12-11eb-a97a-12bb97331649.png

1.3基于查找表技术的定制逻辑

上世纪80年代,CPLD的出现,以及之后的FPGA,为了解决输入端和存储单元的2的n次方问题,出现了查找表LUT技术。查找表LUT其原理同样是用固定的(硬核)多路器,基于SRAM技术,实现定制逻辑的真值表,从而等效的实现定制逻辑。其中一个重要的变化,是将真值表项写入SRAM(静态存储器)中,而不是用反溶丝技术(OTP),从而实现在线编程(沿用至今)。同样用上面的二输入比较器为例:

18f41556-ec12-11eb-a97a-12bb97331649.png

以上例子中,所需要的存储器单元仍然是16个单元,为2的4次方。为了清楚LUT的减输入法过程,我们将输入端增加到16(与或阵列,需要65536单元):

190f33e0-ec12-11eb-a97a-12bb97331649.png

这里使用的存储器为:16*16=65536。并没有解决存储器数量增加的问题。但使用四输入LUT的实际架构(含减输入法)为:

1932eb14-ec12-11eb-a97a-12bb97331649.png

这里,仅仅使用了5*16=80个存储器单元。

1.4在线编程技术

CPLD出现之前,PLD设备大多采用反熔丝技术(Anti-Fuse),交叉编程位置在编程前为高阻抗,编程后为很低的阻抗,为导通态。反熔丝技术为一次性编程(OTP),实际使用并不方便,但其好处是便于保护知识产权。在LUT技术出现以后,设计者的定制逻辑真值表和整个设计的网表(含路由),是写入静态存储器SRAM中,具有速度快,支持在线编程(可反复擦除),但其缺点是挥发性(掉电即失),FPGA每次上电以后,需要重新装入(有一个比较复杂的配置过程)。

责任编辑:haq

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

    关注

    1664

    文章

    22502

    浏览量

    639176
  • 存储器
    +关注

    关注

    39

    文章

    7756

    浏览量

    172187
  • 硬件
    +关注

    关注

    12

    文章

    3631

    浏览量

    69169

原文标题:FPGA学习——FPGA的硬件架构和工作原理

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AMD UltraScale架构:高性能FPGA与SoC的技术剖析

    AMD UltraScale架构:高性能FPGA与SoC的技术剖析 在当今的电子设计领域,高性能FPGA和MPSoC/RFSoC的需求日益增长。AMD的UltraScale架构凭借其创
    的头像 发表于 12-15 14:35 734次阅读

    无线充电器的工作原理核心

    无线充电器的工作原理核心
    的头像 发表于 12-06 10:19 1890次阅读
    无线充电器的<b class='flag-5'>工作原理</b>核心

    基于DSP与FPGA异构架构的高性能伺服控制系统设计

    DSP+FPGA架构在伺服控制模块中的应用,成功解决了高性能伺服系统对实时性、精度和复杂度的多重需求。通过合理的功能划分,DSP专注于复杂算法和上层控制,FPGA处理高速硬件任务,两者
    的头像 发表于 12-04 15:38 810次阅读
    基于DSP与<b class='flag-5'>FPGA</b>异构<b class='flag-5'>架构</b>的高性能伺服控制系统设计

    嵌入式和FPGA的区别

    用于芯片量产前的功能验证。 架构工作原理差异 嵌入式系统采用顺序执行架构,基于冯·诺依曼或哈佛体系结构,程序指令按顺序从存储器中读取并执行。这种架构灵活但效率相对固定。
    发表于 11-19 06:55

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

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

    FPGA+DSP/ARM架构开发与应用

    自中高端FPGA技术成熟以来,FPGA+DSP/ARM架构硬件设计在众多工业领域得到广泛应用。例如无线通信、图像处理、工业控制、仪器测量等。
    的头像 发表于 10-15 10:39 4529次阅读
    <b class='flag-5'>FPGA</b>+DSP/ARM<b class='flag-5'>架构</b>开发与应用

    火爆开发中 | 开源FPGA硬件板卡,硬件第一期发布

    参考。该书不仅从宏观市场角度分析整个FPGA市场及发展,并从硬件架构原理及软件使用方法多个层面阐述FPGA开发的各个方面,并以紫光同创FPGA
    发表于 07-09 13:54

    火爆开发中|开源FPGA硬件板卡,硬件第一期发布

    开源FPGA项目自发布以来,得到了众多开发者的关注,涉及工业、通信、车载等多个行业的100+位工程师报名参与设计,并分为:硬件组、FPGA组、linux组。其中硬件组率先开始启动项目,
    的头像 发表于 07-09 11:43 1419次阅读
    火爆开发中|开源<b class='flag-5'>FPGA</b><b class='flag-5'>硬件</b>板卡,<b class='flag-5'>硬件</b>第一期发布

    nRF5 SDK软件架构及softdevice工作原理

    本文将介绍Nordic nRF5 SDK软件架构以及softdevice工作原理,以加深大家对Nordic产品开发的理解,这样开发过程中碰到问题时,大家也知道如何去调试。 如果你刚开始接触nRF5
    的头像 发表于 06-23 11:08 858次阅读
    nRF5 SDK软件<b class='flag-5'>架构</b>及softdevice<b class='flag-5'>工作原理</b>

    异构计算解决方案(兼容不同硬件架构

    异构计算解决方案通过整合不同类型处理器(如CPU、GPU、NPU、FPGA等),实现硬件资源的高效协同与兼容,满足多样化计算需求。其核心技术与实践方案如下: 一、硬件架构设计 异构处理
    的头像 发表于 06-23 07:40 1047次阅读

    恒讯科技深度解析:阿帕奇服务器工作原理

    阿帕奇服务器(Apache HTTP Server)作为全球使用最广泛的开源Web服务器软件,其工作原理融合了多进程架构、模块化设计与高效的请求处理流程。以下从核心机制、运行模式及优化策略三方面解析
    的头像 发表于 05-22 09:37 2110次阅读

    FPGA上电工作,CYUSB3014工作异常,为什么?

    路电源。当FPGA工作,CYUSB3014会工作正常;当FPGA上电工作,CYUSB3014工作
    发表于 05-20 06:48

    GPIO配置的工作原理是什么?

    我使用 EZ-USB 配置实用程序,我想知道是否有人知道 GPIO 配置的工作原理。 例如,GPIO0 可以用作传感器复位,我知道这个 GPIO0 用于重置传感器,但我不明白的是选项用户 GPIO 例如GPIO 1可以是User GPIO0,这是什么意思呢?
    发表于 05-19 06:56

    云电竞服务器 工作原理

    云电竞服务器工作原理详解 一、核心架构原理 虚拟化资源池‌ 通过 ‌KVM/VMware‌ 等虚拟化技术将物理服务器(含NVIDIA GPU集群)抽象为可动态分配的算力资源池,每个用户独享独立虚拟机
    的头像 发表于 05-14 07:44 765次阅读
    云电竞服务器 <b class='flag-5'>工作原理</b>

    电动调压器的工作原理

    电压调压器是一种用于控制电路中电压的装置,其工作原理因类型而异,以下是几种常见电压调压器的工作原理
    的头像 发表于 05-12 13:46 1623次阅读
    电动调压器的<b class='flag-5'>工作原理</b>