CN103793356A - 用于配置及校准集成电路的技术和电路系统 - Google Patents
用于配置及校准集成电路的技术和电路系统 Download PDFInfo
- Publication number
- CN103793356A CN103793356A CN201310516246.XA CN201310516246A CN103793356A CN 103793356 A CN103793356 A CN 103793356A CN 201310516246 A CN201310516246 A CN 201310516246A CN 103793356 A CN103793356 A CN 103793356A
- Authority
- CN
- China
- Prior art keywords
- circuit
- configuration data
- logical block
- interface
- configuration
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及用于配置及校准集成电路的技术和电路系统。一种用于配置集成电路的技术包括用接口电路从外部元件接收配置数据。配置数据可以包括标识字段和用于配置逻辑块的指令。配置电路系统可以被用来基于标识字段识别要被配置的逻辑块。配置电路系统基于指令配置所识别的逻辑块中的存储元件。
Description
本申请主张于2012年10月26日提交的美国专利申请13/662,193的优先权,该美国专利申请的全文通过引用并入本申请中。
背景技术
可编程集成电路器件,例如现场可编程门阵列(FPGA),可以包括通用结构和能够被配置为执行任意各种功能的逻辑块。这类器件也可以被重新配置,以满足变化的操作需求。
例如,这类器件可以被配置为与外部电路系统进行通信,外部电路系统可以通过不同的输入-输出协议连接至这类器件。因此,为了配置输入-输出块以支持特定的协议,该器件中可以包含控制器模块。一般地,控制器模块可以是由器件中的逻辑块形成的嵌入式电路模块。
通常,由于嵌入式控制器模块是预先定义或预先配置的(例如,该模块或电路可以在设计的编译操作期间预先确定),因此该控制器只可以被用于其所针对配置的具体的协议。如果需要将器件修改为支持不同的协议,则可能需要对嵌入式控制器进行重新配置,以满足不同的需求。
然而,为了重新配置嵌入式控制器,可能需要对器件上的设计进行更新并且重新编译。这样的方案即使是灵活的也可能不是理想的,因为每次嵌入式控制器被更新时,重新编译设计会是费时和繁琐的。
因此,器件中可能需要多个控制器,特别是当器件中的不同逻辑块被配置为支持不同的协议时。此外,由于控制器模块是由器件中的真实逻辑元件形成的,因此可能需要将额外的逻辑资源分配给专用控制器模块。
发明内容
提供了在不必更新或重新加载设计的情况下配置集成电路器件的技术。例如,可编程集成电路器件可以包含最初由定制逻辑设计配置的可编程逻辑电路系统。在正常操作(即,运行)期间,可编程逻辑电路系统执行由定制逻辑设计所定义的功能。在一些情形下,可能希望对可编程逻辑电路系统的一部分进行重新配置,同时可编程逻辑电路系统的剩余部分继续执行其最初被配置的功能。本发明的实施例包括在不重新编译器件上的设计的情况下(例如在运行期间)重新配置器件的至少一部分的电路及技术。
应当理解,能够以多种方式实施本发明,例如过程、装置、系统、器件或计算机可读介质上的方法。下列描述了本发明的几个创造性的实施例。
操作具有多个逻辑块的集成电路的方法包括用接口电路从外部元件接收配置数据。配置数据可以包括标识字段和用于配置集成电路中的逻辑块的指令。基于标识字段,可以用配置电路系统识别要被配置的逻辑块。基于指令,配置电路系统可以对所识别的逻辑块中的存储元件进行配置。
用于配置集成电路的技术包括:利用第一接口协议,用接口电路从外部元件接收配置数据。可以用桥接电路将配置数据从第一接口协议转换为第二接口协议。随后,可以通过互连将转换后的配置数据路由至逻辑块。逻辑块可以具有已经被分配了各自的标识值的译码器电路。每个译码器电路可以将其被分配的标识值与配置数据进行匹配(例如,通过比较其被分配的标识值与配置数据中的标识字段)。响应于确定配置数据与其被分配的标识值相匹配,给定的译码器电路可以基于配置数据(例如,基于配置数据中的指令)配置其对应的逻辑块。
集成电路包括可操作以便利用第一协议从外部电路接收配置数据的接口电路。集成电路可以进一步包括可操作以便从接口电路接收配置数据的桥接电路系统。该桥接电路系统也可操作以便将配置数据从第一协议转换至第二协议。集成电路可以包括可操作以便利用第二协议从桥接电路系统接收配置数据的逻辑块。每个逻辑块均可以包括可操作以便存储配置数据的一个或更多存储元件。
根据附图和下列的优选实施例的详细描述,本发明的进一步的特征、其实质和各种优势将更加明显。
附图说明
图1是根据本发明的一个实施例的说明性集成电路的简化框图。
图2A是根据本发明的一个实施例的说明性集成电路耦合至外部控制器电路的说明性系统的图示。
图2B是根据本发明的一个实施例的具有译码器电路的说明性输入-输出块的图示。
图3A示出多个输入-输出块中带有配置电路系统的集成电路(IC)器件。
图3B根据本发明的一个实施例示出带有配置电路系统的说明性输入-输出块。
图4根据本发明的一个实施例示出说明性指令流。
图5根据本发明的一个实施例示出耦合至单个控制器模块的两个IC器件。
图6根据本发明的一个实施例示出用于操作带有多个逻辑块的IC的简化流程。
图7根据本发明的一个实施例示出用于配置IC的简化流程。
图8是用于实现本发明的实施例的计算机系统的简化的示意图。
具体实施方式
这里提供的实施例包括配置及操作集成电路器件的电路系统和技术。
然而,对本领域技术人员来说,本示例性实施例也可以在没有一些或全部这些具体细节的情况下实施将是明显的。在其它实例中,为了避免不必要地模糊本实施例,没有详细地描述熟知的操作。
集成电路(IC)器件通常包括可以被定制为执行不同的功能的电路系统或逻辑块。该器件也可以通过各种输入-输出接口耦合至其它电路元件。例如,当器件与外部存储器模块进行通信时,可以使用不同的存储器接口(例如,单数据速率(SDR)、双数据速率(DDR)等)。因此,可能需要接口电路(例如,存储器控制器)来有助于器件与可耦合至该器件的任何外部电路元件之间的通信。
然后,可以将IC器件中的逻辑块或资源配置或定制为接口电路系统,以支持任意各种协议。然而,如果IC器件需要在操作期间支持不同协议,则可能需要将该IC器件断电,使得可以在IC器件上的设计被重新加载到IC器件之前对其进行重新编译。
可以对定制IC器件(例如专用集成电路(ASIC),以及在某种程度上,结构化ASIC器件)进行定制以支持不同的接口协议。嵌入式接口模块(例如,存储器控制器模块等)可以被包含在定制IC器件之内。然而,由于这类器件通常不可重新配置,因此嵌入式接口模块(例如存储器控制器模块)的功能可能会被局限于其最初的配置。
此外,根据不同的因素(例如,用户设计、所使用的器件的结构等),可能需要多于一个的嵌入式接口模块。例如,如果特定的用户设计利用不同的存储器协议,则可能需要多个嵌入式存储器控制器。如果与嵌入式存储器控制器通信的逻辑块(例如,收发器块)被彼此远离地放置,则也可能需要多个嵌入式控制器(从而减缓器件上的布线拥挤)。
这里所描述的实施例中的一个提供用于操作IC器件的技术,该技术可以允许在运行期间动态地重新配置器件(例如,不必重新编译器件上的设计)。另一实施例提供没有专用嵌入式接口模块(例如,存储器控制器模块)的集成电路,该集成电路可操作以便通过输入-输出接口(例如,联合测试行动小组接口)被重新配置。
图1(其意在说明而非限制)示出能够实现本发明的实施例的IC100的简化框图。IC100包括核心逻辑区115和输入-输出元件110。其它辅助电路例如用于时钟生成和计时的锁相环(PLL)125可以位于核心逻辑区115的外部(例如,位于IC100的拐角处并邻近输入-输出元件110)。
可以用逻辑单元(其可以包括“逻辑元件”(LE)等电路)填充核心逻辑区115。LE可以包括基于查找表的逻辑区,并且LE可以被分组成“逻辑阵列块”(LAB)。LE和各组LE或LAB可以被配置为执行用户期望的逻辑功能。加载到配置存储器中的配置数据可以被用来产生控制信号,控制信号配置LE和各组LE以及LAB以执行所期望的逻辑功能。核心逻辑区115也可以包括可以被用来执行各种功能的多个嵌入式存储器块(未示出)。
输入-输出元件110也可以包括将IC100连接至其它外部组件的输入-输出缓存器。通过输入-输出元件110将来自核心区115的信号传输到可以连接至IC100的外部组件。应当理解,诸如IC100的单个器件能够潜在地支持各种不同的接口,并且每个单独的输入-输出体(input-output bank)110能够用不同的接口或不同的电压等级支持不同的输入-输出标准。
因此,IC100可以在输入-输出元件110处从外部电路系统接收信号,并且可以将该信号从输入-输出元件110路由至核心逻辑区115以及IC100上的其它逻辑块。基于所接收的信号,核心逻辑区115以及IC100上的其它逻辑块可以执行不同的功能。
在图1的实施例中,IC100可以包括联合测试行动小组(JTAG)接口块105。应当理解,JTAG接口可以是可被用来调试数据并将数据从外部组件传送至器件(例如,IC100)等的输入-输出接口。在示例性实施例中,JTAG接口块105可操作以便从外部组件接收配置信息,并且可进一步操作以便将配置信息发送至IC100中的其它逻辑块。
图2A根据本发明的一个实施例示出耦合至控制器电路202的说明性IC200。在一个实施例中,控制器电路202可以是可操作以便将配置数据发送至IC200的存储器控制器模块。IC200可以通过JTAG接口电路105耦合至控制器电路202。应当理解,JTAG接口电路可以包含数据输入引脚、时钟引脚和数据输出引脚等。配置数据可以被发送至IC200中的其它逻辑块(例如,输入-输出块110A-110F)。在示例性实施例中,输入-输出块110A-110F可以是可通过JTAG接口电路105及IC200内的其它配置电路系统由控制器电路202配置的收发器块。
在图2A的实施例中,来自JTAG接口电路105的信号(例如,配置数据)可以被发送至IC200的核心区115中的桥接电路205。桥接电路205可以通过互连210耦合至输入-输出块110A-110F。在一个实施例中,桥接电路205和互连210可以共同形成用来将配置数据从JTAG接口电路105中路由至输入-输出块110A-110F的配置电路系统。在另一实施例中,由桥接电路205和互连210形成的配置电路系统可以是加载到IC200中的用户设计的一部分的软逻辑电路系统。
在图2A的实施例中,每个输入-输出块110A-110F(例如,收发器块)均可以包含可存储不同配置位的存储元件(例如,存储元件208A-208F)。在一个实施例中,输入-输出块110A-110F可操作以便基于存储在存储元件208A-208F中的配置位执行不同的功能。在示例性实施例中,输入-输出块110A-110F可以由耦合至IC器件200的JTAG接口105的控制器电路202在运行期间(例如,在IC器件200的正常操作期间)重新配置。根据所接收的信号或配置数据流,可以对任意或所有输入-输出块110A-110F进行配置。
图2B根据本发明的一个实施例示出说明性输入-输出块110。在由互连210传输的配置数据被传输至输入-输出块110中的存储元件208之前,该配置数据可以被译码器电路(例如,译码器电路250)接收。在配置数据被传输至存储元件208之前,译码器电路250可以对该配置数据进行转换。在一个实施例中,译码器电路250可以将配置数据从一个协议转换至另一协议(例如,从管理数据输入输出(MDIO)协议转换至动态部分可重新配置输入输出(DPRIO)协议)。在另一实施例中,配置数据可以是串行数据信号,并且译码器电路250可以包括将串行数据信号转换为并行数据信号252的串并转换器电路,该并行数据信号252可以被用来配置存储元件208。
图3A示出在输入-输出块310A-310F中带有配置电路系统305A-305F的IC器件300。应当理解,IC器件300可以与图1的IC器件100相似,因此,为了简洁,前文已经描述的元件(例如,互连210、核心区115、JTAG接口电路105)不再详细描述。在图3A的实施例中,控制器电路或控制器模块202可以通过JTAG接口电路105配置及重新配置IC器件300。信号(例如,配置数据)可以通过互连210从JTAG接口电路传输。
在图3A的实施例中,在信号被传输到存储元件208A-208F中的每个存储元件之前,配置电路系统305A-305F中的每个均可操作以便将信号或配置数据从一个接口转换到另一个接口(例如,从JTAG接口转换到MDIO接口)。在一个实施例中,配置电路系统305A-305F可以包括输入-输出块310A-310F内的“硬”电路元件或真实的电路元件。在另一实施例中,配置电路系统305A-305F可以包括桥接接口电路系统和译码器电路系统,其细节如图3B的实施例中所示。
图3B根据本发明的一个实施例示出带有配置电路系统305的说明性输入-输出块310。配置电路305可以包括桥接电路系统350和译码器电路系统250。桥接电路系统350可操作以便从互连210接收配置数据。在一个实施例中,在将配置数据传输至译码器电路系统250之前,桥接电路系统可以将该配置数据从一种协议转换至另一种协议。在将配置数据作为并行输出信号252传输至存储元件208之前,该配置数据可以被进一步转换为又一种协议。在一个实施例中,配置数据可以更新存储元件208中的内容。
图4根据本发明的一个实施例示出说明性指令流400。在一个实施例中,指令流400可以是来自图2A和图3A的控制器模块202的配置数据流。指令流400可以包括标识(ID)字段402、指令类型字段404以及指令字段406。在一个实施例中,ID字段402可以包括被用来识别要被配置的特定逻辑块(例如,图2A的输入-输出块110D-110F)的唯一ID(例如,地址)。
指令类型字段404可以指示要被执行的操作的类型(例如,读操作或写操作)。因此,器件(例如,图2A的IC器件200和图3A的IC器件300)可操作以便基于指令流400执行读操作或写操作。在一个实施例中,指令流400中的指令字段406可以包括在写操作期间可被用来配置或重新配置IC器件中的逻辑块的实际配置位。在一个实施例中,类似于图2A的IC器件200(或图3A的IC器件300)的多个IC器件可以耦合至类似于控制器202的单个控制器模块,并且ID字段402可以被用来识别要被重新配置的特定IC器件(或者甚至是IC器件中的具体逻辑块)。
图5根据本发明的一个实施例示出耦合至单个控制器模块202的两个IC器件500A和500B。应当理解,IC器件500A和500B可以类似于图2A中的IC器件200或图3A中的IC器件300。控制器模块202可以被用来分别通过JTAG接口电路105A和105B配置IC器件500A和500B。在一个实施例中,控制器模块202可以传输包含ID字段的类似于图4的指令流的数据流,并且根据特定配置数据流的ID字段,可以在任何一个时间对器件500A和500B中的任何一个进行配置。
在图5的实施例中,可以将配置数据流从JTAG接口电路105A和105B分别传输至核心区115A和115B。应当理解,核心区115A和115B可以包括互连路径,这些互连路径可操作以便将从相应的JTAG接口电路105A和105B接收的配置数据流路由至适合的输入-输出块(例如,输入-输出块510A和510B)。在一个实施例中,控制器模块202所传输的配置数据流中的ID字段可以进一步指示要被配置的特定器件(例如,IC器件500A或500B)中的特定逻辑块。
图6根据本发明的一个实施例示出用于操作带有多个逻辑块的IC的简化流程600。在步骤610,可以从外部元件接收配置数据。在一个实施例中,配置数据由IC上的接口电路系统(例如,图1、图2A和图3A的JTAG接口电路105)接收。在步骤620,IC上的配置电路系统可以基于配置数据中的标识字段识别要被配置的逻辑块。在一个实施例中,配置数据可以包括类似于图4的指令流400的包括ID字段402和指令字段406的指令流。在步骤630,配置电路系统可以基于配置数据中的指令配置所识别的逻辑块中的存储元件。在一个实施例中,所识别的逻辑块可以类似于图2B中的逻辑块110或图3B中的逻辑块310。
图7根据本发明的一个实施例示出用于重新配置IC的简化流程700。在步骤710,从外部元件接收使用第一协议的配置数据流。在步骤720,利用第二协议将配置数据流路由至多个逻辑块。在一个实施例中,第一协议可以是JTAG接口协议而第二协议可以是MDIO接口协议。在步骤730,基于配置数据对多个逻辑块中的逻辑块进行配置。在一个实施例中,配置数据可以包括可被用来从多个逻辑块中识别要被重新配置的特定逻辑块的地址或ID字段。在另一实施例中,所识别的逻辑块可以包括存储元件(例如,类似于图2A中的逻辑块110A-110F),并且在步骤730处的配置操作可以包括将从配置数据获取的信息存储至存储元件中。
图8是用于实现本发明的实施例的计算机系统800的简化示意图。应当理解,这里所描述的方法可以用数字处理系统例如常规的通用计算机系统执行。在替换实施例中可以使用被设计或编程来执行一种功能的专用计算机。此外,图8的计算机系统可以被用于配置IC器件880。应当理解,IC880可以类似于图1的IC100、图2A的IC200或图3A的IC300。
计算机系统包括中央处理单元(CPU)804,中央处理单元(CPU)804通过总线808耦合至随机存取存储器(RAM)806、只读存储器(ROM)810以及大容量存储设备812。大容量存储设备812表示永久性数据存储设备,例如闪存驱动器或磁盘驱动器,其可以是本地或远程的。设计程序814可以是可操作以便编译用户设计并将该设计加载到IC器件880的电子设计自动化(EDA)工具。设计程序814位于大容量存储器设备812中,但是在处理期间,设计程序814也可以位于RAM806中。在一个实施例中,设计程序814可以包括可被用来配置IC器件880的控制器模块(例如,图2A和图3A的控制器模块202)。
应当理解,CPU804可以在通用处理器、专用处理器或具体编程的逻辑器件中体现。显示器816通过总线808和显示器接口818与CPU804、RAM806、ROM810以及大容量存储设备812通信。显示器816被配置为显示图形化的(或基于文本的)用户界面或其它可视指示符。用户接口元件830可以包括键盘820、光标控制器822等,并且其可以耦合至总线808,从而将信息或用户输入传递给CPU804。其它接口例如输入-输出接口824也可以耦合至总线808。应当理解,到达或来自外部器件(例如IC器件880)的数据可以通过输入-输出接口824传递。在一个实施例中,输入-输出接口824可以包括耦合至总线808和IC器件880的JTAG电缆。因此,可以通过输入-输出接口824将配置数据从设计程序814中传输至IC880。
到目前为止,针对可编程逻辑电路描述了实施例。这里所描述的方法和装置可以被并入任何合适的电路中。例如,所述方法和装置也可以被并入多种类型的器件中,例如微处理器或其它集成电路。示例性集成电路包括可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、现场可编程逻辑阵列(FPLA)、电可编程逻辑器件(EPLD)、电可擦除可编程逻辑器件(EEPLD)、逻辑单元阵列(PCA)、现场可编程门阵列(FPGA)、专用标准产品(ASSP)、专用集成电路(ASIC),以上仅举几例。
这里所描述的可编程逻辑器件可以是包含一个或更多下列组件的数据处理系统的一部分:处理器、存储器、I/O电路系统以及外围器件。该数据处理系统可以用于广泛的应用中,例如计算机联网、数据联网、仪表、视频处理、数字信号处理或希望使用可编程或可重新编程逻辑的优势的任何合适的其它应用。可编程逻辑器件可以被用来执行各种不同的逻辑功能。例如,可编程逻辑器件可以被配置为与系统处理器合作工作的处理器或控制器。可编程逻辑器件也可以被用来作为仲裁器,用于仲裁对数据处理系统中的共享资源的访问。在又一实施例中,可编程逻辑器件可以被配置为处理器和系统中的一个其它组件之间的接口。在一个实施例中,可编程逻辑器件可以是受让人所拥有的器件家族中的一个。
虽然以具体顺序描述了方法操作,然而应当理解,可以在所描述的操作之间执行其它操作,可以调整所描述的操作,使得这些操作在稍微不同的时间发生,或者可以将所描述的操作分布在允许处理操作以与处理相关联的不同间隔内发生的系统中,只要以期望的方式执行覆盖操作的处理。
虽然为清晰理解的目的已经详细描述了上述实施例,然而显而易见的是,可以在所附权利要求的范围内进行某些变化和修改。因此,本实施例应当被认为是说明性而非限制性的,并且本发明不限于这里所给定的细节,而是在所附权利要求的范围和等同形式之内可以对其进行修改。
在一个实施例中,操作具有多个逻辑块的集成电路的方法包括:在运行期间用接口电路从外部元件接收配置数据,其中配置数据包括标识字段和用于配置逻辑块的指令;基于标识字段,用配置电路系统识别多个逻辑块中要被配置的逻辑块;以及基于指令,用配置电路系统配置所识别的逻辑块中的存储元件。
在另一实施例中,通过第一接口利用第一协议接收配置数据,并且配置电路系统包括桥接电路。所述方法进一步包括用桥接电路将配置数据从第一协议转换为第二协议,并利用第二协议将配置数据通过多条互连路径从桥接电路路由到所识别的逻辑块。
在另一实施例中,多个逻辑块中的每个逻辑块均包含可操作以便从配置电路系统接收配置数据的译码器电路。所述方法进一步包括在配置逻辑块之前,用译码器电路将配置数据从第二协议转换为第三协议。
在另一实施例中,将配置数据从第二协议转换为第三协议包括对配置数据进行解串。
在另一实施例中,存储元件包括配置随机存取存储器电路,并且基于指令配置存储元件包括将从指令中获取的信息存储至配置随机存取存储器电路中。
在另一实施例中,接口电路包括联合测试行动小组(JTAG)接口电路,配置数据包括JTAG数据流,并且所述方法进一步包括:将JTAG数据流路由至多个逻辑块,其中多个逻辑块中的每个逻辑块包含相应的桥接电路;用每个逻辑块的桥接电路将JTAG数据流转换为具有与多个逻辑块中的相应逻辑块兼容的协议的数据流。
在另一实施例中,多个逻辑块包括多个收发器电路,并且配置所识别的逻辑块中的存储元件包括:在集成电路的正常操作期间配置所识别的逻辑块中的存储元件。
在另一实施例中,集成电路是可编程逻辑器件,多个逻辑块包括多个输入-输出块,并且配置包括:修改多个输入-输出块中的输入-输出块的输入-输出协议。
一种重新配置集成电路的方法包括:利用第一接口协议,用接口电路从外部元件接收配置数据;利用第二接口协议,通过多个互连用桥接电路将配置数据路由至多个逻辑块;以及基于配置数据,用译码器电路重新配置多个逻辑块中的逻辑块。
在另一实施例中,所述方法进一步包括:在配置逻辑块之前,将配置数据从第二接口协议转换为第三接口协议。
在另一实施例中,多个逻辑块包括多个收发器电路,外部元件包括可操作以便配置多个收发器电路的控制器模块,第一接口协议是联合测试行动小组(JTAG)协议而第二接口协议是串行接口协议,并且其中转换包括:利用第三接口协议对配置数据进行解串,从而获得并行配置数据。
在另一实施例中,所述方法进一步包括:基于配置数据中的标识字段,用译码器电路识别要被配置的逻辑块。
在另一实施例中,多个逻辑块中的每个逻辑块均包含存储元件,并且配置逻辑块包括:将从配置数据的指令字段中获取的信息存储至存储元件中。
在另一实施例中,集成电路包括:可操作以便利用第一协议从外部电路接收配置数据的接口电路;可操作以便从接口电路接收配置数据并且进一步可操作以便将配置数据从第一协议转换为第二协议的桥接电路系统;以及可操作以便利用第二协议从桥接电路系统接收配置数据的多个逻辑块,其中多个逻辑块中的每个逻辑块均包括可操作以便存储配置数据的存储元件。
在另一实施例中,配置数据包括串行数据流,集成电路进一步包括:多个逻辑块中的每个逻辑块中的串并转换器电路,其中串并转换器电路可操作以便将串行数据流转换为并行数据流。
在另一实施例中,多个逻辑块中的每个逻辑块均包括桥接电路系统。
在另一实施例中,集成电路是现场可编程门阵列(FPGA),其中接口电路包括联合测试行动小组(JTAG)电路,其中多个逻辑块包括多个输入-输出块,并且其中桥接电路系统被放置在FPGA的核心区。
在另一实施例中,多个逻辑块包括多个收发器块,其中多个收发器块可操作以便在集成电路的正常操作期间接收配置数据。
在另一实施例中,配置数据包括标识字段和指令字段。
在另一实施例中,标识字段与多个逻辑块中的至少一个逻辑块相关联。
上述仅是本发明的原理的说明,并且在不脱离本发明的范围和精神的情况下,本领域技术人员能够进行各种修改。
Claims (20)
1.一种操作具有多个逻辑块的集成电路的方法,所述方法包括:
在运行期间,用接口电路从外部元件接收配置数据,其中所述配置数据包含标识字段和用于配置逻辑块的指令;
基于所述标识字段,用配置电路系统识别所述多个逻辑块中要被配置的逻辑块;以及
基于所述指令,用所述配置电路系统配置所识别的逻辑块中的存储元件。
2.根据权利要求1所述的方法,其中使用第一协议通过第一接口接收所述配置数据,并且其中所述配置电路系统包含桥接电路,所述方法进一步包括:
用所述桥接电路将所述配置数据从所述第一协议转换至第二协议;以及
使用所述第二协议通过多条互连路径将所述配置数据从所述桥接电路路由到所识别的逻辑块。
3.根据权利要求2所述的方法,其中所述多个逻辑块中的每个逻辑块均包含译码器电路,所述译码器电路可操作以便从所述配置电路系统接收所述配置数据,所述方法进一步包括:
在配置所述逻辑块之前,用所述译码器电路将所述配置数据从所述第二协议转换至第三协议。
4.根据权利要求3所述的方法,其中将所述配置数据从所述第二协议转换至所述第三协议包括对所述配置数据进行解串。
5.根据权利要求1所述的方法,其中所述存储元件包含配置随机存取存储器电路,并且其中基于所述指令配置所述存储元件包括:
将从所述指令获取的信息存储至所述配置随机存取存储器电路中。
6.根据权利要求1所述的方法,其中所述接口电路包括联合测试行动小组即JTAG接口电路,并且其中所述配置数据包括JTAG数据流,所述方法进一步包括:
将所述JTAG数据流路由至所述多个逻辑块,其中所述多个逻辑块中的每个逻辑块包含相应的桥接电路;以及
用每个逻辑块的桥接电路将所述JTAG数据流转换为具有与所述多个逻辑块的相应的逻辑块相兼容的协议的数据流。
7.根据权利要求1所述的方法,其中所述多个逻辑块包含多个收发器电路,并且其中配置所识别的逻辑块中的所述存储元件包括:
在所述集成电路的正常操作期间配置所识别的逻辑块中的所述存储元件。
8.根据权利要求1所述的方法,其中所述集成电路是可编程逻辑器件,并且其中所述多个逻辑块包含多个输入-输出块,其中所述配置包括:
修改所述多个输入-输出块中的输入-输出块的输入-输出协议。
9.一种重新配置集成电路的方法,其包括:
利用第一接口协议,用接口电路从外部元件接收配置数据;
利用第二接口协议,用桥接电路将所述配置数据通过多个互连路由至多个逻辑块;以及
基于所述配置数据,用译码器电路重新配置所述多个逻辑块中的逻辑块。
10.根据权利要求9所述的方法,其进一步包括:
在配置所述逻辑块之前,将所述配置数据从所述第二接口协议转换至第三接口协议。
11.根据权利要求10所述的方法,其中所述多个逻辑块包含多个收发器电路,并且其中所述外部元件包含可操作以便配置所述多个收发器电路的控制器模块,其中所述第一接口协议包括联合测试行动小组即JTAG协议,并且其中所述第二接口协议包括串行接口协议,其中所述转换包括:
对所述配置数据进行解串,从而获得使用所述第三接口协议的并行配置数据流。
12.根据其权利要求9所述的方法,其进一步包括:
基于所述配置数据中的标识字段,用所述译码器电路识别要被配置的逻辑块。
13.根据权利要求9所述的方法,其中所述多个逻辑块中的每个逻辑块均包含存储元件,并且其中配置所述逻辑块包括:
将从所述配置数据中的指令字段获取的信息存储至所述存储元件中。
14.一种集成电路,其包含:
可操作以便使用第一协议从外部电路接收配置数据的接口电路;
可操作以便从所述接口电路接收所述配置数据并进一步可操作以便将所述配置数据从所述第一协议转换至第二协议的桥接电路系统;以及
可操作以便使用所述第二协议从所述桥接电路系统接收所述配置数据的多个逻辑块,其中所述多个逻辑块中的每个逻辑块均包含可操作以便存储所述配置数据的存储元件。
15.根据权利要求14所述的集成电路,其中所述配置数据包括串行数据流,所述集成电路进一步包含:
所述多个逻辑块中的每个逻辑块中的串并转换器电路,其中所述串并转换器电路可操作以便将所述串行数据流转换为并行数据流。
16.根据权利要求14所述的集成电路,其中所述多个逻辑块中的每个逻辑块包含所述桥接电路系统。
17.根据权利要求14所述的集成电路,其中所述集成电路是现场可编程门阵列即FPGA,其中所述接口电路包括联合测试行动小组即JTAG电路,其中所述多个逻辑块包含多个输入-输出块,并且其中所述桥接电路系统被放置在所述FPGA的核心区。
18.根据权利要求14所述的集成电路,其中所述多个逻辑块包含多个收发器块,其中所述多个收发器块可操作以便在所述集成电路的正常操作期间接收所述配置数据。
19.根据权利要求14所述的集成电路,其中所述配置数据包括标识字段和指令字段。
20.根据权利要求19所述的集成电路,其中所述标识字段与所述多个逻辑块中的至少一个逻辑块相关联。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/662,193 | 2012-10-26 | ||
US13/662,193 US9673824B2 (en) | 2012-10-26 | 2012-10-26 | Techniques and circuitry for configuring and calibrating an integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793356A true CN103793356A (zh) | 2014-05-14 |
CN103793356B CN103793356B (zh) | 2017-12-01 |
Family
ID=50546489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310516246.XA Active CN103793356B (zh) | 2012-10-26 | 2013-10-28 | 用于配置及校准集成电路的技术和电路系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9673824B2 (zh) |
CN (1) | CN103793356B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
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 |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US10027543B2 (en) | 2015-04-17 | 2018-07-17 | Microsoft Technology Licensing, Llc | Reconfiguring an acceleration component among interconnected acceleration components |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US10216555B2 (en) | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
US10394990B1 (en) * | 2016-09-27 | 2019-08-27 | Altera Corporation | Initial condition support for partial reconfiguration |
CN106445544A (zh) * | 2016-10-08 | 2017-02-22 | 中国科学院微电子研究所 | 一种对可编程逻辑器件进行配置或更新的装置和方法 |
US10101387B1 (en) * | 2017-02-09 | 2018-10-16 | Intel Corporation | Sharing a JTAG interface among multiple partitions |
CN109241841B (zh) * | 2018-08-01 | 2022-07-05 | 甘肃未来云数据科技有限公司 | 视频人体动作的获取方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732263B1 (en) * | 2000-06-12 | 2004-05-04 | Altera Corporation | Configuring both a programmable logic device and its embedded logic with a single serialized configuration bit stream |
US7301824B1 (en) * | 2005-10-04 | 2007-11-27 | Xilinx, Inc. | Method and apparatus for communication within an integrated circuit |
US20110068823A1 (en) * | 2009-09-23 | 2011-03-24 | Avaya Inc. | Processor programmable pld device |
US8086922B1 (en) * | 2005-11-23 | 2011-12-27 | Altera Corporation | Programmable logic device with differential communications support |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6459297B1 (en) * | 1999-09-20 | 2002-10-01 | Ag Communication Systems Corporation | System for programming field programmable devices |
US7464192B2 (en) * | 2002-09-10 | 2008-12-09 | Silicon Storage Technology, Inc. | Programmable serial interface for a semiconductor circuit |
US6842034B1 (en) * | 2003-07-01 | 2005-01-11 | Altera Corporation | Selectable dynamic reconfiguration of programmable embedded IP |
FR2860313B1 (fr) | 2003-09-30 | 2005-11-04 | Commissariat Energie Atomique | Composant a architecture reconfigurable dynamiquement |
US7126372B2 (en) * | 2004-04-30 | 2006-10-24 | Xilinx, Inc. | Reconfiguration port for dynamic reconfiguration—sub-frame access for reconfiguration |
US7599299B2 (en) | 2004-04-30 | 2009-10-06 | Xilinx, Inc. | Dynamic reconfiguration of a system monitor (DRPORT) |
US7734741B2 (en) | 2004-12-13 | 2010-06-08 | Intel Corporation | Method, system, and apparatus for dynamic reconfiguration of resources |
US7919979B1 (en) | 2005-01-21 | 2011-04-05 | Actel Corporation | Field programmable gate array including a non-volatile user memory and method for programming |
US7598768B1 (en) * | 2005-08-05 | 2009-10-06 | Xilinx, Inc. | Method and apparatus for dynamic port provisioning within a programmable logic device |
US7376037B1 (en) * | 2005-09-26 | 2008-05-20 | Lattice Semiconductor Corporation | Programmable logic device with power-saving architecture |
JP5012017B2 (ja) * | 2006-12-28 | 2012-08-29 | 富士通株式会社 | 組込装置および制御方法 |
US8072234B2 (en) * | 2009-09-21 | 2011-12-06 | Tabula, Inc. | Micro-granular delay testing of configurable ICs |
US8493089B2 (en) * | 2011-04-06 | 2013-07-23 | International Business Machines Corporation | Programmable logic circuit using three-dimensional stacking techniques |
US9543956B2 (en) * | 2011-05-09 | 2017-01-10 | Intel Corporation | Systems and methods for configuring an SOPC without a need to use an external memory |
US8610462B1 (en) * | 2011-12-21 | 2013-12-17 | Altera Corporation | Input-output circuit and method of improving input-output signals |
-
2012
- 2012-10-26 US US13/662,193 patent/US9673824B2/en active Active
-
2013
- 2013-10-28 CN CN201310516246.XA patent/CN103793356B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732263B1 (en) * | 2000-06-12 | 2004-05-04 | Altera Corporation | Configuring both a programmable logic device and its embedded logic with a single serialized configuration bit stream |
US7301824B1 (en) * | 2005-10-04 | 2007-11-27 | Xilinx, Inc. | Method and apparatus for communication within an integrated circuit |
US8086922B1 (en) * | 2005-11-23 | 2011-12-27 | Altera Corporation | Programmable logic device with differential communications support |
US20110068823A1 (en) * | 2009-09-23 | 2011-03-24 | Avaya Inc. | Processor programmable pld device |
US8174287B2 (en) * | 2009-09-23 | 2012-05-08 | Avaya Inc. | Processor programmable PLD device |
Also Published As
Publication number | Publication date |
---|---|
US9673824B2 (en) | 2017-06-06 |
US20140118026A1 (en) | 2014-05-01 |
CN103793356B (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103793356A (zh) | 用于配置及校准集成电路的技术和电路系统 | |
EP1573919B1 (en) | Reconfiguration of the programmable logic of an integrated circuit | |
US7017140B2 (en) | Common components in interface framework for developing field programmable based applications independent of target circuit board | |
TWI551068B (zh) | 用於無線電波形產生裝置的任意無線電波形技術方案之執行時生成、指派、部署及更新技術 | |
EP2283438B1 (en) | System-on-chip (soc), design structure and method | |
US11379402B2 (en) | Secondary device detection using a synchronous interface | |
US9257987B1 (en) | Partial reconfiguration using configuration transaction layer packets | |
CN108139916A (zh) | 可编程逻辑设备的多阶段引导映像加载和配置 | |
EP1927052A1 (en) | Interface device | |
CN114296808B (zh) | 一种引脚配置方法、装置、电子设备及存储介质 | |
US11379401B2 (en) | Deferred communications over a synchronous interface | |
US7904873B2 (en) | System-on-chip (SOC), design structure and method | |
US10496582B1 (en) | Flexible multi-domain GPIO expansion | |
CN103003769A (zh) | 向电子设备提供时钟信号的时钟电路、带有时钟电路的电子设备以及向电子设备提供时钟信号的方法 | |
US11650876B2 (en) | Payload parity protection for a synchronous interface | |
EP3151140B1 (en) | Control block size reduction through ip migration in an integrated circuit device | |
Astarloa et al. | Tornado: A self-reconfiguration control system for core-based multiprocessor CSoPCs | |
JP2006303730A (ja) | 半導体集積回路装置および半導体集積回路装置の設計装置 | |
US7010666B1 (en) | Methods and apparatus for memory map generation on a programmable chip | |
US7346860B1 (en) | User non-volatile memory interface megafunction | |
JP2002169602A (ja) | プログラマブルコントローラの汎用機能回路及び汎用ユニット | |
CN104572554A (zh) | 用于更新集成电路中的配置数据的电路和技术 | |
CN110955629B (zh) | 计算装置 | |
KR100519985B1 (ko) | 시리얼 메모리 확장 장치 및 방법. | |
JP2006039759A (ja) | 情報処理装置および情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Inventor after: T - S - Arad root Inventor before: Y*K*Lum Inventor before: K*H*Chong E |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |