CN103477296B - 用于从bios prom配置可编程逻辑器件的装置 - Google Patents
用于从bios prom配置可编程逻辑器件的装置 Download PDFInfo
- Publication number
- CN103477296B CN103477296B CN201180069999.XA CN201180069999A CN103477296B CN 103477296 B CN103477296 B CN 103477296B CN 201180069999 A CN201180069999 A CN 201180069999A CN 103477296 B CN103477296 B CN 103477296B
- Authority
- CN
- China
- Prior art keywords
- fpga
- configuration
- code
- cpu
- reset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
提供一种包括含有现场可编程门阵列(FPGA)的可编程逻辑器件的装置。在一个实施例中,该装置也包括可编程只读存储器(PROM),该可编程只读存储器(PROM)用于存储至少包括系统引导代码和配置代码的固件。该装置还包括通过使用配置代码来配置FPGA并在配置FPGA之后释放对CPU的复位的配置代理。在一个实施例中,配置代理包括SPI-FPGA桥(串行外设接口到FPGA配置接口)。在一个实施例中,配置代理可操作用于至少基于来自FPGA的状态确定FPGA是否准备好配置。
Description
发明领域
本发明的各实施例涉及配置计算系统中的可编程逻辑器件。
发明背景
诸如视频、图形和音频处理之类的现代的基于计算机的多媒体应用可以包括计算密集型数据处理。处理负担可以分布在诸如耦合到计算系统的可编程逻辑器件等的其他设备中。
通常,在系统复位之后,在可编程逻辑器件可在系统中使用之前必须配置它们。可能需要厂商专用配置只读存储器(PROM)来配置/编程可编程逻辑器件(例如现场可编程门阵列(FPGA))。例如,FPGA的制造商生产和销售专门为编程FPGA而设计的配置PROM。对于在他们的产品中使用FPGA的许多计算机系统制造商来说,这些PROM的成本已经变成了另一负担。
附图简述
从下面给出的详细描述和本发明的各种实施例的附图将更完全地理解本发明的各实施例,然而,不应认为下面给出的详细描述和本发明的各种实施例的附图把本发明限制在特定的实施例,而是仅出于解释和理解的目的。
图1是根据本发明的一个实施例配置可编程逻辑器件的系统的框图。
图2是配置可编程逻辑器件的过程的一个实施例的流程图。
图3阐释供与本发明的一个实施例一起使用的计算机系统。
图4阐释供与本发明的一个实施例一起使用的点对点计算机系统。
本发明的详细描述
提供一种包括含有现场可编程门阵列(FPGA)的可编程逻辑器件的装置。在一个实施例中,该装置也包括可编程只读存储器(PROM),该可编程只读存储器(PROM)用于存储至少包括系统引导代码和配置代码的固件。该装置还包括通过使用配置代码来配置FPGA并在配置了FPGA之后释放对CPU的复位的配置代理。在一个实施例中,配置代理包括SPI-FPGA桥(与FPGA配置接口的串行外设接口)。在一个实施例中,配置代理可操作用于至少基于来自FPGA的状态判断FPGA是否准备好配置。在一个实施例中,配置代理可操作用于在配置了一个或多个FPGA之后释放对CPU的复位。
在下列描述中,陈述了众多细节以提供对本发明的各实施例的更透彻的理解。然而,本领域中的技术人员明显看出,可以不需要这些特定的细节就实践本发明的各实施例。在其他实例中,以框图形式而非详尽地示出公知的结构和设备,以便避免模糊本发明的各实施例。
给出关于对在计算机存储器内的数据位的操作的算法和符号表示的以下详细描述中的一些部分。这些算法描述和表示是由数据处理领域中的技术人员用来最有效地把他们的工作内容传递给本领域中的其他技术人员的手段。这里,通常认为算法是引起期望结果的各步骤的自相容序列(self-consistentsequence)。各步骤是要求对物理量的物理操纵的那些步骤。通常,尽管并不必定如此,这些量采取能够存储、传递、组合、比较和以另外方式操纵的电信号或磁信号的形式。已经证明有时,主要是出于普通使用的原因,把这些信号称为比特、值、元素、符号、字符、术语、数字等等是方便的。
然而,应当牢记,这些和类似术语中全部都与适当的物理量相关联,且仅仅是应用到这些量的方便的标记。除非特别说明,否则正如从下列讨论明显看出的那样,在整个说明书中应明白,利用诸如“处理”或“计算(computing)”或“演算(calculating)”或“判断”或“显示”等等的术语的讨论是指计算机系统或类似电子计算设备的动作和过程,这些动作和过程把被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和变换成类似地被表示为在计算机系统存储器或寄存器或其他这样的信息存储、传送或显示设备内的物理量的其他数据。
本发明的各实施例也涉及用于执行在此的操作的装置。一些装置可以是为所要求的目的而专门构建的,或者它可以包括由计算机中所存储的计算机程序有选择地激活或重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,例如但不限于,包括软盘、光盘、CD-ROM、DVD-ROM和磁-光盘的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、NVRAM、磁卡或光卡、或适用于存储电子指令的任何类型的介质,且均被耦合到计算机系统总线。
在此给出的算法和显示本质上并不涉及任何具体的计算机或其他装置。各种通用系统可以与根据在此的教导的程序一起使用,或者可以证明它便于构建更专用的装置以执行所要求的方法步骤。将从下面的描述看出各种这些系统的所要求的结构。另外,不参考任何具体的编程语言描述本发明的各实施例。应明白,各种编程语言可以用来实现在此描述的本发明的教导。
机器可读介质包括用于以可由机器(例如,计算机)读取的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪速存储器设备;等等。
在此描述的方法和装置用于配置可编程的逻辑器件。具体地,主要参考多核处理器计算机系统来讨论用于配置可编程逻辑器件的方法和装置。然而,用于配置可编程逻辑器件的方法和装置不限于此,这是由于它们可以在诸如蜂窝式电话、个人数字助理、嵌入式控制器、移动平台、台式机平台和服务器平台等的任何集成电路设备或系统上或者与它们相关联地,以及与其他资源联合来实现。
概览
提供一种包括含有现场可编程门阵列(FPGA)的可编程逻辑器件的装置。在一个实施例中,该装置还包括可编程只读存储器(PROM),该可编程只读存储器(PROM)用于存储至少包括系统引导代码和配置代码的固件。该装置还包括通过使用配置代码来配置FPGA并在配置了FPGA之后释放对CPU的复位的配置代理。在一个实施例中,配置代理包括SPI-FPGA桥(与FPGA配置接口的串行外设接口)。在一个实施例中,配置代理可操作用于至少基于来自FPGA的状态判断FPGA是否准备好配置。在一个实施例中,配置代理可操作用于在配置了一个或多个FPGA之后释放对CPU的复位。
图1是根据本发明的一个实施例配置可编程逻辑器件的系统的框图。为了避免模糊本发明,没有示出例如总线和外围设备之类的许多相关组件。参见图1,在一个实施例中,系统包括可编程只读存储器101(PROM101)、串行外设接口桥130(SPI桥130)、现场可编程门阵列152和处理器162。
在一个实施例中,前述单元被示出为离散的组件。其中各单元中的一些或全部被集成在设备或其他组件内的其他实施例是可能的。在其他实施例中,前述单元以硬件、软件或其某种组合分布在系统中。
在一个实施例中,PROM101存储固件,在该固件上至少包括BIOS102(基本输入/输出系统)和FPGA配置代码103。在一个实施例中,BIOS102是由系统用来准备预引导环境以使得操作系统可以接管系统引导的系统引导代码。在一个实施例中,BIOS102和FPGA配置103在不同的地址(例如,0x00_000,Ox90_0000)处是可访问的。
在一个实施例中,系统引导代码包括为操作系统准备预引导环境的基本输入/输出系统(BIOS)模块或统一可扩展固件接口(UEFI)模块。
在一个实施例中,PROM101也被称为SPIPROM,这是由于PROM101可操作用于经由SPI接口(即,SPI111)与SPI桥130通信。
在一个实施例中,通过使用CPLD(复杂可编程逻辑器件)来实现SPI桥130。在其他实施例中,通过使用可编程逻辑器件(FPGA、CPLD等等),专用集成电路、白定义逻辑电路或其任何组合来实现SPI桥130。在一个实施例中,SPI桥130包括多路复用器133(交换机)和SPI-FPGA桥131。SPI-FPGA桥131是串行外设接口到FPGA配置接口的桥。在一个实施例中,SPI桥130经由SPI直通(pass-through)161耦合到处理器162。
在一个实施例中,SPI-FPGA桥131包括状态机(SPI)141、SPI主机142、状态机(FPGA)145和FPGA配置主机146。在一个实施例中,SPI-FPGA桥131经由FPGA配置接口151耦合到FPGA152。
在一个实施例中,在系统上电时(或在系统复位之后),SPI桥130确定FPGA152的状态,例如通过检测FPGA152的状态引脚是否被断言(assert)。例如,在一个实施例中,如果FPGA152为配置过程而准备好/就绪,则FPGA152的状态引脚被断言。
在一个实施例中,SPI桥130从PROM101读取配置数据(例如,FPGA配置代码103)并使用FPGA配置代码103来配置FPGA152。
在一个实施例中,PROM101耦合到SPI桥130(例如,使用小CPLD来实现)。在一个实施例中,SPI桥130被设置在处理器162和PROM101之间,以使得PROM101不直接地耦合到处理器162。
在一个实施例中,FPGA152或要配置的任何FPGA耦合到SPI桥130,尤其是SPI-FPGA桥131。
在一个实施例中,在SPI桥130从PROM101读取FPGA配置文件103的同时,SPI桥130把处理器保持在复位。在一个实施例中,SPI桥130结合SPI-FPGA桥131来配置系统中的FPGA152。
在一个实施例中,状态机(SPI)141和SPI主机142管理SPI操作和通信。在一个实施例中,SPI主机142可与FPGA配置主机146通信。在一个实施例中,出于配置FPGA152的目的,SPI主机142向FPGA配置主机146发送/传播数据(例如,FPGA配置代码103)。在一个实施例中,FPGA配置主机146结合状态机(FPGA)145管理该过程以便配置FPGA152(和其他可编程逻辑器件)。
在一个实施例中,在配置FPGA152的同时,SPI桥130停止对处理器162的复位。在一个实施例中,在配置了所有FPGA之后,SPI桥130释放对处理器162的复位。SPI桥130也提供直通路径,供在FPGA的配置完成之后处理器162访问PROM101。例如,SPI桥130切换多路复用器(即,多路复用器133)以便创建直通路径,供在已经释放复位之后处理器162访问系统引导代码。
在一个实施例中,处理器162读取被存储在PROM101中的BIOS102,以便配置系统的输入/输出设备以及为操作系统准备预引导环境。
在一个实施例中,把FPGA配置代码103存储在PROM101上的成本比把代码存储在厂商专用配置PROM要低。在一个实施例中,系统允许把FPGA代码和BIOS代码共同放置在相同的非易失性存储器设备中。在一个实施例中,系统使用BIOS更新工具(utility)来更新FPGA代码、BIOS映像或并发地更新两者。
在一个实施例中,BIOS代码和FPGA代码被组合到固件(固件映像)中,作为单个集成软件版本。在一个实施例中,SPI桥130允许更新FPGA代码而不要求来自FPGA厂商的专用JTAG缆线。因而,也不要求FPGA厂商专用的JTAG接口。在一个实施例中,即使用户不拥有对硬件的直接访问,也可以更新FPGA映像。用户可以通过使用BIOS更新工具中的方法来更新FPGA映像。
在一个实施例中,FPGA152是可编程逻辑器件。在一个实施例中,系统中可出现一个或多个可编程逻辑器件。可编程逻辑器件可以包括一个或多个现场可编程门阵列(FPGA)、一个或多个复杂可编程逻辑器件(CPLD)或其任何组合。在一个实施例中,FPGA152包括专有嵌入式FPGA核(proprietaryembeddedFPGAcore)。
在一个实施例中,处理器162是中央处理单元。在一个实施例中,处理器162包括输入/输出控制器集线器,例如平台控制器集线器(PCH),该集线器支持各种170协议和标准的多种高速外围设备。在一个实施例中,PCH可操作用于支持串行外设接口。处理器162经由PCH从SPI桥130检索数据。
为了提供原始设备制造商(OEM)灵活性,平台控制器集线器可以包括给定的主机控制器,用以结合各自的协议支持外围设备。在一个实施例中,PCH也支持各种I/O设备,包括结合PCIe(高速外设部件互连)操作的设备、SATA(串行高级技术附件)设备和USB(通用串行总线)。在一个实施例中,聚合式I/O用单种连接器类型代替计算机上出现的多种连接器类型(例如,通用串行总线(USB)接口、IEEE1394接口、以太网、eSATA、VGA、DVI、DisplayPort(显示端口)和HDMI)。
图2是配置可编程逻辑器件的过程的一个实施例的流程图。由可以包括硬件(电路、专用逻辑等等)、软件(例如在通用计算机系统或专用机器上运行的软件)或两者组合的处理逻辑来执行该过程。在一个实施例中,结合装置(例如,参照图1的SPI桥130)执行该过程。在一个实施例中,该过程由图3的计算机系统执行。
参见图2,在一个实施例中,处理逻辑通过接收系统事件(处理框500)——例如系统复位事件、重新引导事件或重新引导计算系统的系统引导事件——开始。
在一个实施例中,处理逻辑临时地保持(对CPU的)系统复位,以使得处理逻辑可以配置一个或多个FPGA。例如,处理逻辑临时地把CPU保持在复位,以使得在释放对CPU的复位之前配置了所有FPGA。
在一个实施例中,处理逻辑通过检测FPGA的状态引脚来确定一个或多个FPGA是否准备好配置。在一个实施例中,处理逻辑检索与FPGA相关联的配置代码(处理框501)。配置代码被存储在可编程只读存储器(PROM)中,该可编程只读存储器包含包括配置代码和系统引导代码的固件。
在一个实施例中,处理逻辑使用配置代码来配置FPGA(处理框502)。本领域中的技术人员应明白,基于系统设计,使用相同的配置代码或不同的配置码,可以并发地或串行地执行一个或多个FPGA的配置。
在一个实施例中,处理逻辑允许在PROM和CPU之间的直通接口,以使得CPU可以访问系统引导代码(处理框504)。例如,处理逻辑切换多路复用器以便创建直通路径,以供在已经释放复位之后CPU访问系统引导代码。
在一个实施例中,处理逻辑释放对CPU的系统复位,以便为操作系统准备预引导环境(处理框505)。在一个实施例中,处理逻辑根据BIOS继续常规系统引导序列(处理框506)。
图3是阐释根据本发明的一个实施例的计算机系统的框图。在一个实施例中,计算机系统包括处理器305、存储器/图形控制器308、平台控制器集线器309、主存储器315和非易失性存储器360。在一个实施例中,处理器305从级1(L1)高速缓存存储器306、级2(L2)高速缓存存储器310和主存储器315访问数据。在一个实施例中,处理器305耦合到存储器/图形控制器308。存储器/图形控制器308耦合到平台控制器集线器309,平台控制器集线器309进而耦合到固态盘325、硬盘驱动320、网络接口330和无线接口340。在一个实施例中,主存储器315加载操作系统350。
在一个实施例中,处理器305包括核301、核302、高速缓存存储器303和高速缓存存储器306。在一个实施例中,高速缓存存储器303是核301的私有高速缓存,而高速缓存存储器306是核302的私有高速缓存。
在一个实施例中,主存储器315可以以诸如动态随机存取存储器(DRAM)、硬盘驱动(HDD)320、基于NVRAM技术的固态盘325等的各种存储器源来实现,或者以被定位为经由网络接口330或经由无线接口340远离计算机系统的、包含各种存储设备和技术的存储器源来实现。高速缓存存储器可以被定位在处理器内或紧密靠近处理器,例如在处理器的局部总线307上。
在一个实施例中,非易失性存储器360是系统只读存储器(ROM)或非易失性存储器设备。在一个实施例中,非易失性存储器360不直接地耦合到平台控制器集线器309。在一个实施例中,配置代理可操作用于使用被存储在非易失性存储器360中的代码来配置系统的一个或多个可编程逻辑器件(未示出)。
在一个实施例中,平台控制器集线器309包括控制一个或多个I/O互连(未示出)的一个或多个I/O主机控制器。在一个实施例中,用单个链路(即,互连或总线)把平台控制器集线器309耦合到处理器305。在一个实施例中,这种耦合可以在一系列链路上完成。在一个实施例中,处理器305在第一链路(例如,局部总线307)上耦合到存储器/图形控制器308(其中存储器联合体与存储器子系统接口),并且存储器/图形控制器308在第二链路上耦合到平台控制器集线器309。在一个实施例中,I/O互连是点对点互连和总线的组合。
在多种实施例中,存在至少一个处理器305。在一个实施例中,多个处理器核存在于系统中(核301-302)。在一个实施例中,每一个都带有单个或多个核的多个处理器存在于系统中(未示出)。在其中系统中存在多个核和/或多个处理器的实施例中,指定单个主核来执行引导以及处理该系统中的其他这样的系统处理进程。
在一个实施例中,处理器305、高速缓存存储器306、存储器/图形控制器308和平台控制器集线器309是在相同的封装中。在一个实施例中,处理器305、高速缓存存储器306、存储器/图形控制器308和平台控制器集线器309在相同衬底上。在一个实施例中,处理器305、高速缓存存储器306、存储器/图形控制器308和平台控制器集线器309在相同的衬底上或在相同的封装中。
然而,本发明的其他实施例可以存在于结合图3的系统的其他电路、逻辑单元或设备中。此外,本发明的其他实施例可以遍布在图3中所阐述的多个电路、逻辑单元或设备中。
图4阐释供与本发明的一个实施例一起使用的点对点计算机系统。
例如,图4阐释以点对点(PtP)配置布置的计算机系统。尤其,图4示出其中处理器、存储器和输入/输出设备由多个点对点接口互连的系统。
图4的系统也可以包括多个处理器,为清晰起见仅示出其中的两个,即处理器870、880。处理器870、880均可以包括本地存储器控制器集线器(MCH)811、821,用于与存储器850、851连接。处理器870、880可以使用PtP接口电路812、822经由点对点(PtP)接口853来交换数据。处理器870、880可各自使用点对点接口电路813、823、860、861经由各自的PtP接口830、831与芯片组890交换数据。芯片组890也可以经由高性能图形接口862与高性能图形电路852交换数据。本发明的各实施例可以耦合到计算机总线(834或835)、或在芯片组890内、或耦合到数据存储875、或耦合到图4的存储器850。
然而,本发明的其他实施例可以存在于图4的系统内的其他电路、逻辑单元或设备中。此外,本发明的其他实施例可以遍布在图4中所阐释的多个电路、逻辑单元或设备中。
本发明不限于所描述的实施例,但可以连同在所附权利要求的精神和范围内的修改和更改一起实践。例如,应明白,本发明适于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片等等。此外,应明白,可以给定示例性尺寸/模型/值/范围,尽管本发明的各实施例不限于此。由于制造技术(例如,光刻法)随着时间而成熟,预期可以制作较小尺寸的设备。
尽管本领域中的普通技术人员在阅读前面的描述之后无疑将明显看出本发明的实施例的多种变更和修改,但应理解,作为阐释而示出和描述的任何具体的实施例决不预期被看作是限制。因此,对各种实施例的细节的引用不旨在限制权利要求的范围,权利要求本身仅叙述被视为本发明的必不可少的那些特征。
Claims (12)
1.一种用于配置可编程逻辑器件的装置,包括:
包括第一现场可编程门阵列(FPGA)的一个或多个可编程逻辑器件;
用于存储至少包括系统引导代码和第一配置代码的固件的可编程只读存储器(PROM);以及
配置代理,所述配置代理被耦合到所述第一FPGA和中央处理单元(CPU),以便通过使用所述第一配置代码来配置所述第一FPGA并在配置所述第一FPGA之后释放对所述CPU的复位,其中在系统引导序列期间,所述配置代理能操作用于临时地把所述CPU保持在复位,以使得在把所述复位释放给所述CPU之前配置所述第一FPGA。
2.如权利要求1所述的装置,其特征在于,所述配置代理包括串行外设接口至FPGA配置接口SPI-FPGA桥,其中所述配置代理经由所述FPGA配置接口耦合到所述第一FPGA。
3.如权利要求1所述的装置,其特征在于,所述PROM不直接地耦合到所述CPU,其中所述配置代理能操作用于切换连接来创建直通路径,以在已经释放所述复位之后供所述CPU访问所述系统引导代码。
4.如权利要求1所述的装置,其特征在于,所述系统引导代码包括用于为操作系统准备预引导环境的基本输入/输出系统(BIOS)模块或统一可扩展固件接口(UEFI)模块。
5.如权利要求1所述的装置,其特征在于,所述PROM不直接地耦合到所述第一FPGA。
6.如权利要求1所述的装置,其特征在于,在访问所述系统引导代码之前检索所述第一配置代码,其中所述配置代理能操作用于至少基于来自所述第一FPGA的状态确定所述第一FPGA是否准备好配置。
7.如权利要求1所述的装置,其特征在于,所述CPU包括用于支持经由所述配置代理所支持的串行外设接口直通从所述PROM进行数据检索的平台控制器集线器。
8.如权利要求1所述的装置,其特征在于,在单个更新操作中更新所述系统引导代码和所述第一配置代码两者。
9.如权利要求1所述的装置,其特征在于,所述可编程逻辑器件包括现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)或两者。
10.一种用于配置可编程逻辑器件的方法,包括:
检索与第一现场可编程门阵列(FPGA)相关联的第一配置代码,其中所述第一配置代码被存储在可编程只读存储器(PROM)上,所述可编程只读存储器包含至少包括所述第一配置代码和系统引导代码的固件;
由配置代理通过使用所述第一配置代码来编程所述第一FPGA;
由所述配置代理切换,以实现PROM和中央处理单元(CPU)之间的直通接口,以使得所述CPU能访问所述系统引导代码;
由所述配置代理在编程至少所述第一FPGA的同时临时地保持对所述CPU的系统复位;以及
由所述配置代理释放对所述CPU的所述系统复位,以为操作系统准备预引导环境。
11.如权利要求10所述的方法,其特征在于,所述第一FPGA是多个编程逻辑器件中的一个,其中所述CPU和所述PROM不直接地耦合。
12.一个用于配置可编程逻辑器件的系统,包括:
处理器;
包括第一现场可编程门阵列(FPGA)的一个或多个可编程逻辑器件;
可编程只读存储器(PROM),用于存储至少包括系统引导代码和第一配置代码的固件映像的;以及
配置代理,用于通过使用所述第一配置代码来编程所述第一FPGA,并在所述配置所述第一FPGA之后释放对所述处理器的复位,其中在系统引导序列期间,所述配置代理能操作用于在释放对所述处理器的所述复位之前临时地把所述处理器保持在复位。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/084,322 US8990548B2 (en) | 2011-04-11 | 2011-04-11 | Apparatuses for configuring programmable logic devices from BIOS PROM |
US13/084,322 | 2011-04-11 | ||
PCT/US2011/061861 WO2012141743A1 (en) | 2011-04-11 | 2011-11-22 | Apparatuses for configuring programmable logic devices from bios prom |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103477296A CN103477296A (zh) | 2013-12-25 |
CN103477296B true CN103477296B (zh) | 2016-06-22 |
Family
ID=46967033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180069999.XA Expired - Fee Related CN103477296B (zh) | 2011-04-11 | 2011-11-22 | 用于从bios prom配置可编程逻辑器件的装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8990548B2 (zh) |
CN (1) | CN103477296B (zh) |
TW (1) | TWI482019B (zh) |
WO (1) | WO2012141743A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990548B2 (en) | 2011-04-11 | 2015-03-24 | Intel Corporation | Apparatuses for configuring programmable logic devices from BIOS PROM |
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
TWI471731B (zh) * | 2013-03-29 | 2015-02-01 | Mediatek Inc | 記憶體存取方法、記憶體存取控制方法、spi快閃記憶體裝置以及spi控制器 |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US9792154B2 (en) | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10511478B2 (en) | 2015-04-17 | 2019-12-17 | Microsoft Technology Licensing, Llc | Changing between different roles at acceleration components |
US9819542B2 (en) | 2015-06-26 | 2017-11-14 | Microsoft Technology Licensing, Llc | Configuring acceleration components over a network |
US10216555B2 (en) | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
DE102015217933B4 (de) * | 2015-09-18 | 2017-11-09 | Siemens Aktiengesellschaft | Vorrichtung zum Verarbeiten von Daten und Verfahren zum Betreiben einer solchen Vorrichtung |
WO2017131637A1 (en) * | 2016-01-26 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Ethernet physical layer transfer topology |
TWI613547B (zh) * | 2016-06-16 | 2018-02-01 | 新漢股份有限公司 | 具有pci-e增強器的電腦系統,及其pci-e增強器的設定方法 |
CN106531217B (zh) * | 2016-09-20 | 2020-08-11 | 深圳市紫光同创电子有限公司 | 用于可编程逻辑器件中的flash器件编程方法及系统 |
CN109298770A (zh) * | 2017-07-25 | 2019-02-01 | 鸿富锦精密工业(武汉)有限公司 | 主板 |
US20200264895A1 (en) * | 2017-11-17 | 2020-08-20 | Intel Corporation | Techniques for computing platform initialization |
US11296921B2 (en) * | 2017-12-03 | 2022-04-05 | Intel Corporation | Out-of-band management of FPGA bitstreams |
TWI722269B (zh) * | 2018-01-26 | 2021-03-21 | 和碩聯合科技股份有限公司 | 韌體更新方法及使用此方法的電子裝置 |
CN108932132A (zh) * | 2018-05-23 | 2018-12-04 | 郑州云海信息技术有限公司 | 一种通过bios升级cpld的系统及方法 |
US11768611B2 (en) | 2020-04-02 | 2023-09-26 | Axiado Corporation | Secure boot of a processing chip |
TWI764621B (zh) * | 2021-03-15 | 2022-05-11 | 英業達股份有限公司 | 智能網卡及智能網卡之fpga韌體更新管理方法 |
CN117076365B (zh) * | 2023-10-13 | 2024-01-30 | 成都申威科技有限责任公司 | 一种计算机的数据可传输外设接口控制方法及系统 |
CN117311768B (zh) * | 2023-11-22 | 2024-01-26 | 电子科技大学 | 一种动态可重配fpga固件的系统和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1405681A (zh) * | 2001-08-03 | 2003-03-26 | 惠普公司 | 用于开发定制的集成测试和网络外围设备鉴定的系统和方法 |
CN101097522A (zh) * | 2006-06-30 | 2008-01-02 | 联想(北京)有限公司 | 一种加速bios运行的方法 |
US7822958B1 (en) * | 2006-03-10 | 2010-10-26 | Altera Corporation | Booting mechanism for FPGA-based embedded system |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100280430B1 (ko) | 1998-01-20 | 2001-02-01 | 김영환 | 데이터버퍼를이용하여데이터를읽는방법 |
US6351809B1 (en) * | 1999-05-14 | 2002-02-26 | Xilinx, Inc. | Method of disguising a USB port connection |
US6732261B2 (en) * | 1999-12-30 | 2004-05-04 | Intel Corporation | Method and apparatus for implementing a register scan process |
US6883109B2 (en) | 2001-07-30 | 2005-04-19 | Hewlett-Packard Development Company, L.P. | Method for accessing scan chains and updating EEPROM-resident FPGA code through a system management processor and JTAG bus |
US6781407B2 (en) * | 2002-01-09 | 2004-08-24 | Xilinx, Inc. | FPGA and embedded circuitry initialization and processing |
US7133972B2 (en) * | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
US7146598B2 (en) * | 2002-11-07 | 2006-12-05 | Computer Network Technoloy Corp. | Method and apparatus for configuring a programmable logic device |
US7243221B1 (en) * | 2004-02-26 | 2007-07-10 | Xilinx, Inc. | Method and apparatus for controlling a processor in a data processing system |
US7281082B1 (en) * | 2004-03-26 | 2007-10-09 | Xilinx, Inc. | Flexible scheme for configuring programmable semiconductor devices using or loading programs from SPI-based serial flash memories that support multiple SPI flash vendors and device families |
US20050283601A1 (en) | 2004-06-22 | 2005-12-22 | Sun Microsystems, Inc. | Systems and methods for securing a computer boot |
JP4191170B2 (ja) * | 2004-07-23 | 2008-12-03 | Necエレクトロニクス株式会社 | プログラム可能なゲートアレイのコピー防止方法及びシステム |
US20060149954A1 (en) | 2004-12-03 | 2006-07-06 | Matt Hageman | Apparatus and method for accommodating different central processing units in a computer |
US7620795B1 (en) * | 2005-01-14 | 2009-11-17 | Xilinx, Inc. | Controller for a processor having internal memory |
US20060200658A1 (en) * | 2005-03-07 | 2006-09-07 | Bitfone Corporation | Agent framework for mobile devices |
US20070260869A1 (en) * | 2006-05-01 | 2007-11-08 | Symbol Technologies, Inc. | Apparatus and Method for Booting a Computing Device from a NAND Memory Device |
US20090063834A1 (en) * | 2007-09-05 | 2009-03-05 | Inventec Corporation | Auto-Switching Bios System and the Method Thereof |
US8386759B1 (en) * | 2007-12-28 | 2013-02-26 | Altera Corporation | Integrated circuit boot method and apparatus for configuring memory device read mode using programmable circuitry boot code read from the memory device |
US20090228884A1 (en) * | 2008-03-05 | 2009-09-10 | Chong Benedict T | Network interface engine |
US20100299510A1 (en) * | 2009-05-19 | 2010-11-25 | Chip Ueltschey | Bluetooth pre-boot authentication in bios |
US8990548B2 (en) | 2011-04-11 | 2015-03-24 | Intel Corporation | Apparatuses for configuring programmable logic devices from BIOS PROM |
-
2011
- 2011-04-11 US US13/084,322 patent/US8990548B2/en not_active Expired - Fee Related
- 2011-11-22 WO PCT/US2011/061861 patent/WO2012141743A1/en active Application Filing
- 2011-11-22 CN CN201180069999.XA patent/CN103477296B/zh not_active Expired - Fee Related
- 2011-11-30 TW TW100143955A patent/TWI482019B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1405681A (zh) * | 2001-08-03 | 2003-03-26 | 惠普公司 | 用于开发定制的集成测试和网络外围设备鉴定的系统和方法 |
US7822958B1 (en) * | 2006-03-10 | 2010-10-26 | Altera Corporation | Booting mechanism for FPGA-based embedded system |
CN101097522A (zh) * | 2006-06-30 | 2008-01-02 | 联想(北京)有限公司 | 一种加速bios运行的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012141743A1 (en) | 2012-10-18 |
US20120260078A1 (en) | 2012-10-11 |
TW201241625A (en) | 2012-10-16 |
CN103477296A (zh) | 2013-12-25 |
US8990548B2 (en) | 2015-03-24 |
TWI482019B (zh) | 2015-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103477296B (zh) | 用于从bios prom配置可编程逻辑器件的装置 | |
CN107493685B (zh) | 经由端口控制器自身的外部端口对端口控制器进行再编程 | |
US9141747B1 (en) | System level tools to support FPGA partial reconfiguration | |
US9542201B2 (en) | Network bios management | |
US9348783B2 (en) | Apparatus and method emulating a parallel interface to effect parallel data transfer from serial flash memory | |
US8793480B2 (en) | Updating programmable logic devices in a multi-node system configured for symmetric multiprocessing | |
US9652252B1 (en) | System and method for power based selection of boot images | |
US20070168746A1 (en) | System and method for debugging a target computer using SMBus | |
US9983889B1 (en) | Booting of integrated circuits | |
US20140047224A1 (en) | Method of flashing bios using service processor and computer system using the same | |
US9524262B2 (en) | Connecting expansion slots | |
US20080159010A1 (en) | Multi-use eFuse Macro | |
US9417672B2 (en) | Separate customizable thermal control table | |
CN103268302B (zh) | 一种接口扩展电路、接口扩展连接方法和嵌入式系统 | |
US9979799B2 (en) | Impersonating a specific physical hardware configuration on a standard server | |
JP2003140917A (ja) | 共通接続ポイントを通して複数基板上のプログラマブルロジックデバイスのインシステムプログラミングを行う方法および装置 | |
US20110302329A1 (en) | Embedded Programmable Module for Host Controller Configurability | |
US7694175B2 (en) | Methods and systems for conducting processor health-checks | |
US11989563B2 (en) | Dynamic bios policy for hybrid graphics platforms | |
US11119547B2 (en) | System and method for qualifying a power-on sequence based on feedback | |
US20130159592A1 (en) | Accessing A Logic Device Through A Serial Interface | |
CN113608937B (zh) | 硬盘背板led无硬盘测试装置及方法 | |
US11614949B2 (en) | Method and device for managing operation of a computing unit capable of operating with instructions of different sizes | |
US11966750B2 (en) | System-on-chip management controller | |
TW201637406A (zh) | 網路配置管理方法、伺服系統以及非暫態之電腦可讀儲存媒體 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160622 Termination date: 20181122 |