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

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

3天内不再提示

包含嵌入式存储器模块的FPGA结构的实现及建立RRG的方法分析

电子设计 来源:郭婷 作者:电子设计 2019-05-10 08:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.引言

传统上 FPGA只能实现相对较小的逻辑电路,随着工艺技术的提高,FPGA的容量和性能也不断提高,FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。

然而,多数学术性的 FPGA CAD工具只针对于同质的 FPGA,即只包含逻辑模块和布线资源的 FPGA。本文中我们提出了一种灵活的包含嵌入式存储器的 FPGA的结构以及一种建立RRG(布线资源图)的方法。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了即可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及个模块之间或模块与I/O间的连接方式,并最终决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能, FPGA允许无限次的编程。

2.结构

包含嵌入式存储器的FPGA结构如图1所示。整个 FPGA由四种基本资源构成,逻辑模块,I/O模块,布局布线模块和存储器模块。每个存储器模块的存储容量是固定的,但是用户可以对存储器模块进行配置,以实现不同长宽比的存储器。我们假设存储器模块在整个 FPGA芯片中按列排放。存储器模块的列数,每列存储器所处的位置、每列存储器模块包含的存储器模块数目以及每列存储器模块中第一个存储器模块的起始物理位置都会在结构描述文件中定义。

图 2所示为我们的 FPGA布线结构,这是一种岛式结构。逻辑模块周围围绕了布线通道。每个逻辑模块的输入或输出引脚可以通过一个由可配置开关组成的连接模块与靠近它的通道中的 8条连线相连。在每一个垂直通道和水平通道交叉处有一个开关模块。开关模块给每条输入信号线提供了三个可能的连接选择。同逻辑模块相同,存储器模块也通过连接模块与逻辑布线相连。在图 2中的结构中, Fm=3。Fm的最小值是 1,最大值为 V,这里的 V值即每个布线通道中的连线数目。

包含嵌入式存储器模块的FPGA结构的实现及建立RRG的方法分析

3.具体实现方式

存储器模块相对于逻辑模块,有一些不同之处,例如模块引脚的分布方式、模块高度等,这使得 RRG的设计非常复杂。在这一部分中,我们将讨论一种简单而且灵活的 RRG设计方法。

3.1结构描述

VPR用布线结构描述语言定义 FPGA的布线结构【 5】。VPR通过一个内部的“结构产生器”来产生 RRG。我们扩展了布线结构描述语言来定义包含嵌入式存储器的FPGA的布线结构,然后我们改进了 VPR的结构产生器以适应这些扩展。

由于嵌入式存储器模块的存在,我们对布线结构描述语言的扩展主要包括:(1)存储器模块的列数,(2)每列存储器模块的相对位置,(3)存储器模块输入和输出引脚的 Fm值,(4)每列存储器模块中的存储器模块数目,(5)每列存储器模块中第一个存储器模块的起始位置,(6)存储器模块的高度,(7)存储器模块输入输出引脚的数目,(8)存储器模块每个输入或输出引脚对应的边( side)和群( cluster),例如如图 2所示的 FPGA结构中,存储器模块的左边和右边共有 3个群,因为存储器模块的高度是 3个逻辑模块的高度,而上下两边只有一个群。(9)每个存储器模块中的组合逻辑电路延迟和时序电路延时。

包含嵌入式存储器模块的FPGA结构的实现及建立RRG的方法分析

图 3所示为一个描述包含嵌入式存储器的 FPGA布线结构的文件的一部分,其中逻辑模块由一个 4输入的查找表和一个寄存器构成。图 1和图 2示出了这种 FPGA的结构。VA产生的文件要满足图 3定义的结构,其中需要的布线通道宽度为 5,即 5条连线。这些描述 FPGA结构的图形都是由我们的 VA产生。图 1示出了整个 FPGA的结构,这种情况下,整个 FPGA包含 9x9个逻辑模块,周围围绕 I/O模块。黄色所示的为两列存储器模块,每个存储器模块跨越 3个逻辑模块的高度。图 2所示仅为FPGA近距离结构的一部分。

3.2布线资源图

虽然上述所列的结构参数使得 FPGA的结构很容易就可以定义,但是对于布线器来说它并不是一个合适的表达方法。在 RRG中,连线、逻辑模块的引脚以及存储器模块的引脚都被表示为节点,开关被表示为连接两个节点的边。

如前所述,我们对 VPR的结构产生器作了改进以建立包含嵌入式存储器的 FPGA的 RRG。由于存储器模块在 Y方向跨越多个逻辑模块,这就使得在 RRG中插入存储器模块的引脚变得复杂,同时连接从存储器模块输出引脚到连线以及从连线到存储器输入引脚的边也更加复杂。但幸运的是如图 2所示,存储器模块的存在并不破坏布线通道的分布。为了方便建立 RRG,我们增加了虚构存储器模块的定义,在建立 RRG的过程中,存储器模块的位置由它的起始位置来表示。当在建立 RRG对所有模块进行扫描的时候,我们对存储器模块以及虚构存储器模块的处理方法和对逻辑块的处理方法是一样的。通过这样的方法,我们简化了创建异质 FPGA布线资源图的过程。

4.结论

本文中,我们提出了一种包含嵌入式存储器的 FPGA的灵活结构以及一种建立 RRG的简化方法。我们对 VPR进行了改进,扩展了其功能,使得它可以处理包含嵌入式存储器的 FPGA结构,同时保持了原有的灵活性。

纵观整个工作,我们着重处理包含嵌入式存储器模块的 FPGA结构,我们假设存储器模块按列排放。我们的这种结构不仅适用于存储器模块,同时也适用于其他的按列排放的功能模块,例如 Spartan-3系列 FPGA中的乘法器模块以及 Stratix系列 FPGA中的 DSP模块。

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

    关注

    1656

    文章

    22299

    浏览量

    630542
  • 嵌入式
    +关注

    关注

    5187

    文章

    20169

    浏览量

    329129
  • 存储器
    +关注

    关注

    39

    文章

    7715

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式存储器的设计方法和策略

    随着集成电路制造工艺水平的提高,半导体芯片上可以集成更多的功能,为了让产品有别于竞争对手的产品特性,在ASIC上集成存储器可以降低成本和功耗、改善性能、增加系统级芯片的可靠性。##嵌入式存储器设计
    发表于 09-02 18:01 2110次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>存储器</b>的设计<b class='flag-5'>方法</b>和策略

    Cyclone IV 器件中的存储器模块

    Cyclone® IV 器件具有嵌入式存储器结构,满足了 Altera® Cyclone IV 器件设计对片上存储器的需求。嵌入式
    发表于 11-13 12:09

    嵌入式多媒体应用的存储器分配方法

    引言   随着CPU速度的迅速提高,CPU与片外存储器的速度差异越来越大,匹配CPU与外部存储器方法通常是采用Cache或者片上存储器。微处理
    发表于 07-02 07:44

    如何实现嵌入式ASIC和SoC的存储器设计?

    基于传统六晶体管(6T)存储单元的静态RAM存储器块一直是许多嵌入式设计中使用ASIC/SoC实现的开发人员所采用的利器,因为这种存储器
    发表于 08-02 06:49

    嵌入式存储器的设计方法是什么?

    随着集成电路制造工艺水平的提高,半导体芯片上可以集成更多的功能,为了让产品有别于竞争对手的产品特性,在ASIC上集成存储器可以降低成本和功耗、改善性能、增加系统级芯片的可靠性。随着对嵌入式存储器需求的持续增长,其复杂性、密度和速
    发表于 11-01 07:01

    如何实现FPGA芯片存储器模块的设计?

    本文介绍了一种0.13微米CMOS T艺下FPGA嵌入式存储器模块的设计与实现
    发表于 04-09 06:02

    使用新SRAM工艺实现嵌入式ASIC和SoC的存储器设计

    基于传统六晶体管(6T)存储单元的静态RAM 存储器块一直是许多嵌入式设计中使用ASIC/SoC 实现的开发人员所采用的利器,因为这种存储器
    发表于 11-30 16:06 18次下载

    FPGA嵌入式存储器模块的设计

    本文设计了一种基于0.13 微米CMOS 工艺的FPGA 芯片中的嵌入式存储器模块。该容量为18Kb 的同步双端口存储模块,可以配置成为只读
    发表于 12-19 16:19 24次下载

    嵌入式存储器发展现状

    文章中简要介绍了嵌入式存储器技术发展历程,详细地介绍了基于标准工艺上嵌入式存储器的技术关键词:IP SOC 存储器 eDRAM OTP MT
    发表于 12-21 10:38 32次下载

    使用新SRAM工艺实现嵌入式ASIC和SoC的存储器设计

    使用新SRAM工艺实现嵌入式ASIC和SoC的存储器设计基于传统六晶体管(6T)存储单元的静态RAM存储器块一直是许多
    发表于 02-01 09:11 1733次阅读
    使用新SRAM工艺<b class='flag-5'>实现</b><b class='flag-5'>嵌入式</b>ASIC和SoC的<b class='flag-5'>存储器</b>设计

    嵌入式存储器内建自修复技术

    嵌入式存储器正逐渐成为SoC的主体结构,对嵌入式存储器进行内建自测试(BIST, Build-in Self-Test)和内建自修复(BIS
    发表于 05-28 16:39 53次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>存储器</b>内建自修复技术

    平板电脑如何选用嵌入式存储器

    《集成电路应用》杂志日前采访了国内领先的嵌入式存储器方案提供商深圳江波龙电子有限公司嵌入式存储产品总监王景阳先生,请他就平板电脑如果选用嵌入式
    发表于 04-20 13:35 2301次阅读

    MRAM如何在嵌入式存储器建立桥头堡?

    嵌入式存储器是逻辑工艺中不可或缺的一环,过去却往往让人忽略。但是逻辑工艺推进日益艰辛,嵌入式存储器工艺推进的难处全浮上台面。
    的头像 发表于 09-07 17:34 4710次阅读

    嵌入式存储器如何来设计

    获取嵌入式存储器设计的另一种方法是利用存储器编译,它能够快捷和廉价地设计存储器物理
    发表于 10-18 11:52 1366次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>存储器</b>如何来设计

    FPGA嵌入式存储器的设计

    FPGA嵌入式存储器的设计(嵌入式开发平台)-该文档为FPGA嵌入式
    发表于 08-04 10:14 6次下载
    <b class='flag-5'>FPGA</b>中<b class='flag-5'>嵌入式</b>块<b class='flag-5'>存储器</b>的设计