首页> 中国专利> 将压缩配置映像存储在内部只读存储器上的逻辑器件

将压缩配置映像存储在内部只读存储器上的逻辑器件

摘要

本发明的各实施方式提供了将压缩配置映像存储在内部只读存储器上的逻辑器件。具体地,描述了用于使用内部只读存储器(ROM)来配置逻辑器件的系统和方法。该ROM和逻辑器件可以位于单个芯片上。该ROM可以被适配为存储高度压缩配置映像并且是非重复可编程的。该逻辑器件可以基于该压缩配置映像进行配置。

著录项

  • 公开/公告号CN103136022A

    专利类型发明专利

  • 公开/公告日2013-06-05

    原文格式PDF

  • 申请/专利权人 阿尔特拉公司;

    申请/专利号CN201210521711.4

  • 发明设计人 J·L·巴尔;

    申请日2012-11-30

  • 分类号G06F9/445(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人酆迅;辛鸣

  • 地址 美国加利福尼亚

  • 入库时间 2024-02-19 19:15:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-13

    专利权的转移 IPC(主分类):H03K19/177 专利号:ZL2012105217114 登记生效日:20220831 变更事项:专利权人 变更前权利人:阿尔特拉公司 变更后权利人:英特尔公司 变更事项:地址 变更前权利人:美国加利福尼亚 变更后权利人:美国加利福尼亚

    专利申请权、专利权的转移

  • 2018-05-29

    授权

    授权

  • 2014-12-31

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20121130

    实质审查的生效

  • 2013-06-05

    公开

    公开

说明书

相关申请的交叉引用

本申请要求2011年12月2日提交的、标题为“LOGIC DEVICE HAVING A COMPRESSED CONFIGURATION IMAGE STORED ON AN INTERNAL READ ONLY MEMORY”的美国申请No.13/310,574 (代理人卷号No.ALTRP283US/A03617)的优先权和权益,出于全 部目的通过引用将其全部内容并入于此。

技术领域

本公开总体上涉及集成电路(IC)的逻辑器件,并且更具体地 涉及将针对逻辑器件的压缩配置映像存储在IC的内部只读存储器 上。

背景技术

诸如可编程逻辑器件(PLD)或现场可编程门阵列(FPGA)之 类的逻辑器件可以在集成电路(IC或“芯片”)上实现。该芯片具 有用于例如向其他芯片传达数据和控制信息的管脚集。在加电之后, 该逻辑器件可以要求通过“配置映像”的方式进行配置,该“配置 映像”通常被存储在可以在该逻辑器件内部或外部的闪存中。

例如,在某些已知器件中,逻辑器件具有从外部闪存芯片接收 配置映像的控制块(CB),并且当该逻辑器件被加电时使用该配置 映像中的信息来配置该逻辑器件。通常,管脚集中的某些管脚被指 派给CB作为模式选择管脚,而其他管脚用于在外部闪存芯片与CB 之间的通信。例如,在某些已知器件中,CB对模式选择管脚的值进 行采样以确定配置映像的源。此外,CB经由管脚集的其他管脚从外 部闪存接收配置数据。

发明内容

本发明人已经认识到配置映像可以有利地被存储在集成电路或 芯片(还包括诸如PLD或FPGA之类的逻辑器件)的内部的、非重 复可编程的只读存储器(ROM)中。一个或多个工厂提供的配置映 像可以被存储在非重复可编程ROM中。有利地,在内部ROM中存 储的工厂提供的配置映像(与在闪存设备中存储的数据不同)在芯 片被制造之后不可修改。控制块可以被使能并且通过例如模式选择 管脚的方式取得配置映像中的选定配置映像。在某些实现中,除了 内部ROM之外,逻辑器件还可以从外部源接收配置信息。

由于本文呈现的技术,芯片的整体系统成本和功耗可以被显著 减少。此外,虽然仍保留从外部(例如,用户提供的)源提供某些 配置信息的选项,但是工厂提供的配置映像的完整性可以得到保护。

附图说明

本公开技术通过结合附图参考以下描述可以得到最佳理解,其 中附图图示了本系统和方法的各种实施方式。

图1是根据本发明的一个实施方式的用于配置逻辑器件的系统 的一个实施方式的框图。

图2A和图2B是根据本发明的另一实施方式的系统的一个实施 方式的框图。

图3A是根据本发明的一个实施方式的用于配置LD的方法的示 例性流程图。

图3B是图3A的流程图的继续。

图4是根据本发明的一个实施方式的用于存储配置信息的只读 存储器(ROM)的示例性框图。

具体实施方式

参考图1,在一个实施方式中,芯片102可以包括逻辑器件130、 只读存储器(ROM)140和控制块(CB)128。ROM 140可以被布 置用于存储一个或多个配置映像,通过该一个或多个配置映像可以 配置逻辑器件130。根据一个实施方式,ROM 140中存储的配置信 息可以是压缩格式。控制块128可以被布置用于从ROM 140中存储 的一个或多个压缩配置映像中的选定压缩配置映像取得配置信息, 并且使用所取得的配置信息来配置逻辑器件130。

参考图2A和图2B,可以观察到本教导的某些实现的细节。在 图2A中,图示了系统200可以包括芯片202和模式选择管脚238。 芯片202可以包括ROM/解压缩器子系统240和可编程门阵列(PGA) 210。ROM/解压缩器子系统240可以包括ROM 242和解压缩器244。 PGA 210可以包括控制块228和逻辑器件230。类似于结合图1所描 述的实施方式,ROM 242可以存储一个或多个压缩配置映像,通过 该一个或多个压缩配置映像可以配置逻辑器件230。有利地,多个高 度压缩配置映像可以被存储在ROM 242上。例如,每个配置映像可 以通过50∶1、100∶1或更高的因子进行压缩。例如,逻辑器件230可 以是可编程逻辑器件(PLD)。控制块228可以被布置用于相对于 一个或多个压缩配置映像中的选定压缩配置映像从解压缩器244取 得未压缩配置映像。例如,模式选择管脚238可以被布置用于使得 控制块228选择一个或多个压缩配置映像中的选定压缩配置映像以 用于解压缩。控制块228可以使用所取得的未压缩配置映像来配置 逻辑器件230。

现在参考图2B,其图示了根据本发明的另一实施方式的系统200 的框图。系统200可以包括芯片202、模式选择管脚238和外部存储 器204和206。芯片202可以包括片上系统(SOC)208和PGA 210。 该PGA可以是现场可编程门阵列(FPGA)。该SOC 208可以包括 处理器212、ROM/解压缩器子系统240、互连216、启动模式接口 218、控制块接口220、非易失性存储器222、逻辑器件接口224和 外部存储器控制器226。有利地,ROM/解压缩器子系统240可以以 软件在处理器212上实现。例如,解压缩软件可以随一个或多个工 厂提供的压缩配置映像存储在ROM中。在某些实施方式中,SOC 208 可以包括任意数目的外部存储器控制器、外围设备、随机访问存储 器(RAM)、输入/输出(I/O)管脚以及锁相环(PLL)。此外,PGA 210可以包括控制块228和逻辑器件230,其可以包括接口控制器 232。在一个实施方式中,逻辑器件230可以进一步包括通信接口控 制器(未示出)、逻辑元件(未示出)、数字信号处理(DSP)块(未 示出)、RAM(未示出)和/或路由互连(未示出)。注意,PGA 210 可以包括其他组件,诸如PLL、高速串行接口(HSSI)和I/O管脚。 如上文所指出的,逻辑器件230可以是可编程逻辑器件(PLD)。 接口控制器232例如可以是并行NOR闪存控制器、串行NOR闪存 控制器、NAND闪存控制器或通信接口控制器。在某些实施方式中, 接口控制器232可以是可以由制造商的客户重新配置的软逻辑存储 器控制器。

互连216可以将处理器212与ROM/解压缩器子系统240、启动 模式接口218、控制块接口220、逻辑器件接口224和外部存储器控 制器226耦合。控制块接口220可以有助于处理器212与控制块228 之间的通信。类似地,逻辑器件接口224可以有助于逻辑器件230 与处理器212之间的通信。此外,启动模式接口218可以有助于在 启动选择管脚219上向处理器212传达启动模式。启动模式的选择 可以由用户通过经由收发器(未示出)耦合到SOC 208的计算机(未 示出)来进行。更一般地,SOC 208上的软件可以被配置用于确定 哪个工厂ROM配置映像(如果有的话)应当被加载至PGA。该确 定例如可以基于对启动选择管脚219的输入或者经由SOC 208的其 他管脚与外部逻辑的通信来进行。该收发器可以包括使用与配置总 线(未示出)兼容的协议与CB 228通信的接口(未示出),并且可 以包括经由诸如联合测试行动组(JTAG)链路之类的链路(未示出) 与计算机通信的另一接口。启动模式接口218、控制块接口220和逻 辑器件接口224可以使用诸如例如缓冲器之类的一个或多个逻辑元 件实现。ROM/解压缩器子系统240可以包括非重复可编程ROM 242。在某些实施方式中,例如,非重复可编程ROM 242可以仅由 制造商通过金属掩膜编程,并且一旦芯片202在诸如蜂窝电话、路 由器或视频游戏机之类的使用领域中实现便不能够被重新编程。控 制块228可以包括硬连线状态机(SM)234。

此外,外部存储器206可以是随机访问存储器(RAM),诸如 静态RAM(SRAM)或动态RAM(DRAM)。DRAM可以是双倍数 据速率DRAM(DDR DRAM)。同样,外部存储器204可以是闪存, 其可以是并行NOR闪存、串行NOR闪存或NAND闪存。

在将ROM 242递送到更高装配之前,工厂提供的压缩配置映像 可以被置于非重复可编程ROM 242中,并且ROM 242可以被配置 为永久地存储该压缩配置映像。在一个实施方式中,该ROM 242可 以仅存储一个压缩配置映像。此外,在某些实施方式中,ROM可以 存储软件代码(其在下文进一步描述)和压缩配置映像。

注意,在某些实施方式中,PGA 210的功能可以由专用集成电 路(ASIC)提供。此外,在各种实施方式中,解压缩器244可以是 ROM/解压缩器子系统240内存储的软件程序。进一步注意,虽然图 2中示出了一个模式选择管脚,但是在某些实施方式中,不止一个模 式选择管脚可以用于接收模式的选择。

在某些实施方式中,可以使用对应的多个芯片上的多个外部存 储器而不是一个外部存储器204,并且可以使用对应的多个芯片上的 多个外部存储器而不是一个外部存储器206可以被使用。

图3A和图3B图示了用于配置逻辑器件的示例方法300。更具 体地,例如,该方法可以操作用于根据本发明的一个实施方式使用 以压缩形式存储在ROM 242中的配置映像来配置逻辑器件230。根 据方法300,在块302处,选定的模式在模式选择管脚处接收。例如, 控制块228可以经由模式选择管脚238接收该模式。例如,该模式 可以从计算机接收。该模式可以包括启动模式和/或配置模式。启动 模式可以由启动模式接口218向处理器212传达以指示SOC 208的 启动将基于外部存储器204中存储的启动代码。该启动代码在本文 中某些时候可以被称为引导程序代码。此外,配置模式可以向控制 块228指示逻辑器件230将通过外部存储器204中存储的用户提供 的配置信息进行配置。如下文所述,该配置模式还可以向CB 228指 示逻辑器件230将在LD 230通过解压缩配置映像进行配置之后通过 用户提供的配置信息进行配置。基于该配置模式,可以使得控制块 228避免使用来自外部存储器(例如,闪存芯片)的未压缩配置信息, 并且作为替代可以使得其使用基于ROM 242中存储的压缩配置映像 的配置信息。

在块304处,加电信号可以被接收以对PGA和/或SOC加电。 例如,PGA 210和SOC 208可以接收加电信号。响应于接收加电信 号,PGA 210和SOC 208可以被加电,并从加电复位模式退出。

在块306处,软件代码可以被执行以初始化SOC并读取模式。 例如,响应于被加电,处理器212可以执行ROM 242中存储的软件 代码。处理器212可以执行软件代码以初始化SOC 208并且读取模 式。附加地或者备选地,硬连线状态机234可以读取模式。

在块308处,对是否已提供了解压缩的配置信息进行确定。如 果没有,则控制块228例如可以等待SOC 208向控制块228提供解 压缩配置信息。

在块310处,如果确定还没有提供解压缩配置信息,则压缩配 置映像可以被解压缩。例如,当控制块228等待时,解压缩器244 可以执行对压缩配置映像解压缩的操作以生成解压缩配置信息并且 向控制块接口220发送该解压缩控制信息。注意,在其中解压缩器 244是软件程序的某些实施方式中,处理器212可以执行该软件程序 以对该压缩配置映像解压缩,生成解压缩配置信息,并且向控制块 接口220发送该解压缩配置信息。解压缩器244可以应用解压缩软 件,诸如,gzip或bzip2。在某些实施方式中,解压缩器244可以被 实现为硬连线状态机。

在块312处,解压缩配置信息可以被转发。例如,解压缩配置 信息可以被转发至控制块接口220。控制块接口220可以接收并缓冲 该解压缩配置信息,并且将该解压缩配置信息向控制块228转发。

在块314处,逻辑器件可以通过解压缩配置信息进行配置。例 如,控制块228可以接收该解压缩配置信息并且可以通过该解压缩 配置来配置逻辑器件230。

在某些实施方式中,该方法在块314处完成。

然而,在其他实施方式中,现在参考图3B,逻辑器件可以在块 315处进一步被配置为生成该逻辑器件的接口控制器。例如,可以生 成接口控制器232。

在块316处,可以经由接口控制器232和逻辑器件接口224访 问外部存储器。例如,PGA 210可以进入用户模式,并且处理器212 可以执行经由接口控制器232和逻辑器件接口224访问外部存储器 204的操作。

在块318处,来自外部存储器的启动代码和用户提供的配置信 息可以被拷贝至另一外部存储器。例如,存储器212可以将来自外 部存储器204的启动代码和用户提供的配置信息拷贝至外部存储器 206。处理器212可以经由接口控制器232、LD接口224、互连216 和外部存储器控制器226执行拷贝。用户提供的配置信息和启动代 码可以在逻辑器件接口224中进行缓冲。

在块320处,来自其他外部存储器的启动代码可以被执行用于 重新配置逻辑器件。例如,处理器212可以执行来自外部存储器206 的启动代码。该启动代码可以被执行用于通过用户提供的配置信息 来重新配置FPGA。例如,该启动代码可以被执行用于经由外部存储 器控制器226、互连216、控制块接口220和控制块228从外部存储 器206发送用户提供的配置信息以通过该用户提供的配置信息来重 新配置逻辑器件230。该用户提供的配置信息可以与解压缩配置信息 相同或者不同。例如,该解压缩配置信息和用户提供的配置信息均 可以被用于生成接口控制器232作为并行NOR闪存控制器。

通过将压缩配置映像存储在ROM 242中,可以避免与闪存芯片 (其很可能比ROM 242更昂贵)的使用相关联的成本和功耗。重要 地是,例如,ROM 242被布置为非重复可编程的,由此保护了工厂 提供的配置映像的完整性。

现在参考图4,其描述了ROM 400。ROM 400可以包括地址解 码器402、存储器阵列404、多个输出缓冲器406和多个输出管脚408。 该存储器阵列404可以包括多个存储器单元。注意,至少某些存储 器单元有利地可以包括由制造商制造的金属掩膜。存储器单元(无 论是否被掩盖)可以存储压缩配置映像。

解压缩器244可以通过向地址解码器402发送其中存储有压缩 配置信息的存储器单元的地址来向存储器单元请求该压缩配置映 像。地址解码器402可以对地址进行解码,并且输出缓冲器406可 以缓冲接收自存储器单元的压缩配置映像以经由输出管脚408向解 压缩器244提供该压缩配置映像。

注意,在某些实施方式中,未压缩配置信息可以存储在ROM 400 中而不是压缩配置映像中。在此实施方式中,SOC 208可以省略解 压缩器244,并且未压缩配置信息可以由控制块228经由控制块接口 220从ROM 400访问以配置逻辑器件230并且生成接口控制器232。

虽然出于清楚和理解的目的通过图示和示例的方式详细描述了 前文的系统和方法,但是将认识到,上文所述系统和方法在不脱离 本系统和方法的精神或必要特性的前提下可以通过各种其他变体和 实施方式体现。某些变化和修改可以被实践,并且可以理解本系统 和方法并不由前文的细节所限制,而是由所附权利要求书的范围进 行限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号