用于配置可编程逻辑器件的设备和方法

文档序号:6503910阅读:167来源:国知局
专利名称:用于配置可编程逻辑器件的设备和方法
技术领域
0001本发明的基本原理一般涉及配置可编程电子电路,特别是涉及配置可编程逻辑器件(PLD)。
背景技术
0002PLD为电路和系统设计者提供了在相对较短的时间内设计和测试电路或系统的能力。如名称所提示的,周转时间(turnaround time)之所以相对较短,原因在于PLD的可编程性。通常,PLD从外部设备或主机接收配置数据,利用配置数据来配置或编程PLD的功能。
0003然而,用于编程PLD的传统技术有一些缺点。例如,PLD可能无法及时接收或处理外部设备或主机所提供的信息。因此,外部设备或主机可能阻塞,从而使总体效率较少或导致配置问题。因此,需要一种配置PLD的改进方式,以避免传统技术中出现的阻塞问题。

发明内容
0004所公开的发明原理涉及用于配置可编程电子电路(如PLD)的设备和相关方法。本发明的一个方面涉及用于配置PLD的设备。
0005在一个说明性实施例中,根据本发明的PLD包括配置电路。配置电路适于从配置装置接收串行配置数据。配置电路编程或配置PLD的功能,而不需要利用输入缓冲器来存储配置数据。
0006在另一说明性实施例中,一种数据处理系统包括PLD和配置装置。配置装置提供串行配置数据至PLD。PLD包括数据转换器电路。数据转换器电路将串行配置数据转换成并行配置数据。并行配置数据被用来编程PLD的功能而不阻塞配置装置。
0007在另一说明性实施例中,一数据处理系统包括PLD和配置装置。配置装置提供串行配置数据至PLD。PLD包括数据转换器电路。数据转换器电路将串行配置数据转换成并行配置数据。并行配置数据被用来编程PLD的功能,用缓冲器来存储串行配置数据。
0008本发明的另一方面涉及编程PLD。在一个说明性实施例中,用于配置PLD的方法包括接收串行配置数据。该串行配置数据适合用于配置PLD的功能。所述方法还包括通过利用串行配置数据来配置PLD的功能。配置PLD无需缓冲串行配置数据。


0009附图仅示出了本发明的示例性实施例,因而不应被认为是对本发明范围的限定。得益于本发明说明书的本领域普通技术人员应认识到,所公开的发明原理适用于其它等效实施例。附图中,在一个以上的附图中使用的相同数字符号表示相同、相似、或相等的功能、部件、或模块。
0010图1示出了根据本发明一个说明性实施例的PLD的总体框图。
0011图2描述了根据本发明示例性实施例用于配置PLD的电路方案的详细框图,更具体地说,展示了PLD配置电路的额外细节。
0012图3描述了根据本发明示例性实施例用于被动方式PLD配置的电路方案。
0013图4示出了根据本发明示例性实施例用于主动方式PLD配置的电路方案。
0014图5展示用在本发明说明性实施例中的配置电路的框图。
0015图6描述了根据本发明用在说明性实施例中的压缩配置数据的示例,该示例采用示例性技术来压缩配置数据。
0016图7示出了根据本发明示例性实施例的数据转换器电路的框图。
0017图8描述了根据本发明的数据转换器的说明性实施例。
0018图9描述了根据本发明的数据转换器的示例性实施例中各种信号和事件的时序图。
具体实施例方式
0019本发明设计了配置可编程电子电路(例如PLD)的设备和相关方法。传统上,因为PLD的控制电路不能解压缩配置数据和同时编程或配置PLD,从而令PLD配置受困于配置装置阻塞或配置过程减慢。
0020反之,根据本发明的设备和方法提供了同时解压缩配置数据以及配置或编程PLD的机制,因此避免了阻塞配置装置或减慢配置过程。
0021更具体地说,在传统方案中,配置装置可能以高于PLD所能适应的速率向PLD提供配置数据。配置数据可具有的压缩格式可能导致配置装置的阻塞(因为PLD不包括解压缩电路)。
0022在试图解决该问题时,传统方案有时包括缓冲器用于配置数据。然而缓冲器可能尺寸不足(因为配置数据量的不可预测性),并且在所有情况下缓冲器都增加了尺寸、复杂性、及成本。即便是在PLD能够控制配置装置提供配置数据的速率的情况下,它也缺乏以足够快的速率处理配置数据从而避免减慢配置过程的能力。
0023本发明的原理克服了上述传统技术的缺点。第一,本发明的原理提供了同时接收配置数据以及配置或编程PLD的方式。通过这种方式,即可用比传统技术更短的时间量来执行对PLD的编程。
0024第二,是能够运用压缩PLD配置数据。压缩配置数据避免了阻塞配置装置,避免了用缓冲器来存储配置数据(因其变成可从配置装置取得),并且避免了减慢配置过程。
0025第三,因为本发明的原理设想在PLD内包括解压缩硬件,所以能够使用缺乏内装解压缩硬件的配置装置。因此,便可按需采用较廉价的现货(或较少定制的)配置装置。根据本发明的描述,这些优点对本领域普通技术人员而言将会变为显而易见的。
0026图1示出了根据本发明说明性实施例的PLD 103的总体框图。PLD 103包括配置电路118、可编程逻辑电路115、及可编程互连电路112。此外按照需要,PLD 103可包括一个或多个数据处理模块或硬件114,例如处理器、通信电路、存储控制器等等,如受益于本发明描述的本领域普通技术人员所理解的。
0027注意图1所示的是PLD 103的简化框图。因此,PLD 103可按本领域普通技术人员的理解包括其它模块和电路。这种电路的示例包括时钟产生和分配电路、输入/输出(I/O)电路、控制和计时电路、测试/排错电路,以及类似电路。
0028可编程逻辑电路115包括可配置或可编程逻辑电路的模块,如查找表(LUT)、乘积项逻辑、多路复用器、逻辑门、寄存器、存储器,等等。可编程互连电路112耦合到可编程逻辑电路115,并且按照需要提供可编程逻辑电路115与PLD 103内部或外部的其它电路之内的各个模块之间的可配置互连(耦合机制)。
0029PLD配置电路118用配置数据来编程或配置PLD 103的功能。配置电路118从配置装置121获得配置数据。配置装置121可构成各种各样的装置,如存储器(闪速存储器、随机存储存储器(RAM)、只读存储器(ROM)、可编程ROM、及类似存储器)。作为选择,配置装置121可根据需要构成PLD 103外部的主机设备,如计算机、处理器,或一般构成其它数据处理设备,或网络如以太网。
0030如图1所示,配置装置121经由信号链路125与PLD 103通信。信号链路125可根据需要包括多条信号线,如数据线、一个或多个控制线、及一个或多个状态线。通过信号链路125,配置装置能够获得配置数据以编程PLD 103。
0031配置数据决定PLD 103的功能。更具体地说,PLD 103用配置数据来编程或配置可编程逻辑电路115、可编程互连电路112(及根据需要编程或配置PLD 103的其它部分),如受益于本发明描述的本领域技术人员所理解的。
0032图2示出了根据本发明示例性实施例用于配置PLD的电路方案的更详细的框图。更具体地说,图2展示了配置电路118的附加细节。
0033配置电路118包括配置数据处理电路141和配置随机存储存储器(CRAM)138。配置数据处理电路141从配置装置121接收配置数据、处理配置数据(如下面详细描述的),并向CRAM 138提供被处理的配置数据。
0034配置数据处理电路141经信号链路130与CRAM 138通信。信号链路130可包括所需数量的信号线(例如导体),以供作被处理配置数据从配置数据处理电路141到CRAM 138的通路。CRAM 138经由信号链路135与PLD 103的各个部分通信,信号链路135可包括所需数量的信号线。
0035CRAM 138用被处理配置数据来配置PLD 103的功能,如受益于本发明描述的本领域技术人员所理解的。因此,CRAM 138可配置PLD 103的可编程或可配置资源,如可编程逻辑电路115和可编程互连电路112的功能。
0036可利用本发明的原理,以多种配置方式配置PLD。更具体地,如下文将会详细描述的,可根据需要使用被动配置方式或主动配置方式。
0037图3描述了根据本发明示例性实施例用于以被动方式配置PLD 103的电路方案。在此电路方案中,配置装置121经数据信号链路125B(下述信号链路125的一部分)提供配置数据至配置电路118。配置装置121还经信号链路125A(下述信号链路125的一部分)提供时钟信号。
0038响应时钟信号,PLD 103,且更具体地说是配置电路118的配置数据处理电路141,接收配置数据。配置数据处理电路141随后用配置数据来编程PLD 103,如上所述。
0039请注意,在被动方式配置方案中,PLD 103在向它提供配置数据方面没有控制权。更具体地说,配置装置121不能确定何时PLD103准备好从它那里接收配置数据。在典型的传统被动方式方案中,配置装置将会持续地传送配置数据至PLD,若PLD不能跟上配置装置,就会导致阻塞配置过程。
0040可通过使用缓冲器来努力避免阻塞问题。然而这种努力带来了附加的问题(例如附加的成本和复杂性),如上所述。本发明的原理通过在被动方式配置方案中允许PLD 103的不间断配置,克服了这些问题。
0041与图3相反,图4展示了根据本发明示例性实施例用于以主动方式配置PLD 103的电路方案。在这一电路方案中,PLD 103,更具体地说是配置电路118的配置数据处理电路141,经信号链路125A(上述信号链路125的一部分)提供时钟信号至配置装置121。
0042响应时钟信号,配置装置121经数据信号链路125B(上述信号链路125的一部分)提供配置数据至PLD 103。PLD 103,且更具体地说是配置电路118的配置数据处理电路141,接收配置数据。配置数据处理电路141随后用配置数据来编程PLD 103,如上所述。
0043在主动方式配置方案中,PLD 103能够中断来自配置装置121的配置数据流。更具体地说,PLD 103能够停止给配置装置121提供时钟信号,并由此防止配置装置121进一步向PLD 103提供配置数据。
0044典型的传统主动方式方案利用这种技术来避免阻塞配置过程。然而在此方案中,这趋向于减慢配置过程并使其效率变低。如下面详细描述的,本发明的原理允许在主动方式配置方案中不间断配置PLD 103。
0045如上所述,根据本发明的PLD包括处理配置数据的解压缩电路。在PLD 103内包括解压缩能力使得能够使用成本较低且较不复杂的配置装置121。更具体地说,在这样一种方案中,配置装置121不包括解压缩能力,并因此包括较少硬件,成本较低,而且更易于获得(例如可利用现货或普通而非定制的配置装置)。
0046图5描述了根据本发明说明性实施例的配置电路118的框图。配置电路118包括控制器153和转换器电路150。
0047配置电路118经由信号链路125接收配置数据,如上所述。配置数据具有串行格式。换句话说,配置电路118可从一个信号链路或导体上接收配置数据。串行数据格式有助于避免阻塞配置过程。如下面详细描述的,根据本发明的配置技术将串行配置数据转换为并行格式以编程PLD 103。
0048所述配置数据还有压缩或编码格式,这提供了若干优于传统技术的优点。与未压缩(原始数据)格式相比,压缩允许在给定容量的配置装置中存储更大量的配置数据。压缩(以及如下所述PLD 103中的相应解压缩)允许同时接收配置数据以及配置或编程PLD 103。因此,它就避免了减慢配置过程。使用压缩数据还避免了阻塞配置过程,并进一步避免了使用缓冲器,如上所述。
0049可采用各种各样的压缩技术来压缩数据,如受益于本发明描述的本领域普通技术人员所理解的。作为一个示例,可采用利用了典型配置数据内所显示特性的压缩算法或技术。更具体地说,与二进制的“1”相比,典型的配置数据包括更多的二进制“0”。可利用该特性来压缩数据。因此,可在配置装置121中压缩配置数据(如下所述)和存储被压缩的数据。
0050图6展示在根据本发明的说明性实施例中所用配置数据的压缩示例。图6中的示例显示16比特配置数据字。然而如受益于本发明描述的本领域普通技术人员所理解的,可根据需要使用其它数据宽度(例如32比特)。数据方案的选择取决于各种因素,例如给定实施方案的设计和性能规格,且这属于由本发明说明受益的本领域技术人员的知识范围内。
0051参看图6,所述压缩技术将每个数据字分成四个半字节,或四个4比特部分。每个数据半字节接收一相关头比特。因此,一个16比特数据字有四个头比特。各头比特结合便构成一个控制半字节。控制比特中的头比特的二进制数值取决于相应数据半字节中的比特的二进制数值。
0052更具体地说,如果一个数据半字节中的所有比特均有二进制的“0”值,则对应于该数据比特的控制半字节中的头比特接收二进制的“0”值。因此,具有数值0000的数据半字节将导致具有二进制数值0000的控制半字节。因为具有二进制数值0000的控制半字节表示全为二进制“0”而没有二进制“1”的数据字,所以可放弃该数据字而用控制半字节作为该数据字的压缩表示。
0053另一方面,如果数据半字节中的任一比特具有二进制的“1”值,则该数据半字节的控制半字节中的相应头比特接收二进制的“1”值。对于控制半字节中的二进制的“1”值,连同对应于该控制半字节中的二进制“1”值的数据半字节一起,使用控制半字节。在此情况下,连同一个或多个数据半字节(所述数据半字节对应于控制半字节中的二进制“1”值)一起,使用控制半字节作为数据字的压缩表示。
0054例如,如图6所示,假定数据字具有二进制数值010000010000000。将该数据字分成四个半字节,或0100 0000 10000000。第一个半字节具有二进制的“1”值(左起第二位),因此相应的头比特接收二进制的“1”值。第二个半字节全为“0”,因此相应的头比特具有二进制的“0”值。第三个半字节有一个二进制的“1”位,因此第三个头比特接收二进制的“1”值。最后,第四个半字节全为“0”,导致第四个头比特具有二进制的“0”值。
0055装配头比特导致控制半字节具有二进制数值1010。控制半字节1010,连同具有二进制的“1”位的数据半字节即0100和1000一起,构成原始数据字的压缩表示。
0056作为另一示例,如图6进一步展示的,具有二进制数值0000000000000001的数据字导致四个数据半字节0000 0000 00000001,头比特0、0、0、和1,以及控制半字节0001。控制半字节0001,连同具有二进制的“1”位的数据半字节(最后一个数据半字节)一起,构成0001 0001,即原始数据字的压缩表示。
0057图6中的第三个数据字包括16个二进制的“0”。如上所述,各头比特均具有二进制的“0”值。因此,具有二进制数值0000的控制半字节构成数据字的压缩表示。
0058图6中的最后一个数据字具有二进制数值0001100001011010,这导致数据半字节0001 1000 0101 1010,头比特1、1、1、和1,以及控制半字节1111。控制半字节1111和原始数据比特构成数据字的表示。请注意,在此情况下,当每个数据半字节包括二进制的“1”位时,数据字的表示并不导致任何压缩。
0059返回参考图5,转换器电路150处理PLD 103所接收的配置数据。更具体地说,转换器电路150解压缩该配置数据。解压缩操作将来自配置装置121的压缩配置数据转换成解压缩的配置数据。配置电路118利用解压缩的配置数据来编程PLD 103。
0060解压缩操作构成上述压缩操作的对应操作。换句话说,特定的解压缩操作取决于压缩操作的选择。类似于压缩操作,特定解压缩操作的选择取决于各种各样的因素,例如设计和性能规格,如受益于本发明描述的本领域技术人员所理解的。
0061转换器电路150还将配置数据从串行格式转换到并行格式。换句话说,除了对配置数据进行解压缩之外,转换器电路150还将配置数据的格式从串行改变成并行。转换器电路150经由信号链路130对CRAM138提供被解压缩的并行格式的配置数据。
0062图7示出了根据本发明示例性实施例的转换器电路150的框图。转换器电路150包括解压缩电路163和数据格式转换器电路166。解压缩电路163执行上述解压缩功能。
0063更具体地说,解压缩电路163经由信号链路125接收压缩配置数据,解压缩该数据,并将解压缩数据经由信号链路160提供给数据格式转换器电路166。信号链路160可根据需要包括多个信号线,如数据线、一个或多个控制线、及一个或多个状态线。数据格式转换器电路166执行上述串并行数据转换操作。
0064参看图5,控制器153监管或控制配置电路118的操作。例如,控制器153根据需要直接或间接地控制解压缩操作、串并行转换操作、或这两种操作。控制器153还可根据需要直接或间接地控制经由信号链路125接收配置数据、经由信号链路130提供被处理配置数据至CRAM 138,或根据需要直接或间接地控制这两种操作。
0065请注意控制器153可至少部分位于PLD 103的其它部分或区域中。此外,控制器153可不构成分离的可识别模块或电路,如受益于本发明描述的本领域普通技术人员所理解的。
0066此外请注意,在根据本发明的示例性实施例可按需要使用未压缩配置数据。换句话说,配置装置121可将串行数据格式的未压缩配置数据提供给PLD 103。在这类实施例中,可在配置电路118中略去一些功能、电路、或这二者,如受益于本发明描述的本领域普通技术人员所理解的。
0067图8示出了根据本发明的数据转换器的说明性实施例200。实施例200包括控制半字节寄存器203、解压缩状态机209、数据寄存器215A-215D、及多路复用器(MUX)230。
0068如受益于本发明描述的本领域技术人员所理解的,实施例200中的各个模块和电路表示示例性的实施方案。因此,可用其它模块或电路来实施落入本发明原理范围内的类似实施例。
0069作为示例,可利用各种电路而不是利用状态机来实现解压缩状态机209所提供的控制和监管功能。因此,可用一般控制器电路、标准单元、或处理器来提供那些功能。实施例200中各种模块和电路的实施方案的选择取决于多种因素,这属于受益于本发明描述的本领域技术人员的知识范围内。那些因素例如包括设计和性能规格以及基于可用或所需技术的实施方案的选择。
0070实施例200中的数据转换器从配置装置(未明确显示)接收串行数据信号224。如其名称所提示的,串行数据信号224具有串行格式。而且,串行数据信号224可根据需要具有压缩格式或未压缩格式。如上所述,可利用各种压缩技术和算法来产生压缩数据,如受益于本发明描述的本领域普通技术人员所理解的。
0071数据转换器还接收时钟信号221。时钟信号221有利于数据转换器的各个部分或模块的操作。更具体地说,时钟信号221馈送控制半字节寄存器203、解压缩状态机209、和数据寄存器215A-215D的时钟输入。数据转换器可从PLD 103内的另一电路,例如图5中的控制器153,接收时钟信号221。
0072解压缩状态机209用启动(EN)信号212A-212D来启动和控制将数据分别装载到数据寄存器215A-215D中。更具体地说,数据寄存器215A-215D各自接收串行数据信号224。解压缩状态机209用启动信号212A-212D来控制当时钟信号221下一次出现时,数据寄存器215A-215D中的哪一个装载串行数据224。
0073数据寄存器215A-215D各自将其输出数据(每个4比特)提供给MUX 230。在解压缩状态机209的监管和控制下,MUX 230提供并行配置数据233以用来编程其中有实施例200的PLD。
0074请注意实施例200提供8比特并行输出数据(配置数据233)。然而如受益于本发明描述的本领域普通技术人员所理解的,可根据需要修改实施例200中所示电路以适应其它数据格式、宽度、配置,等等。
0075解压缩状态机209提供并行数据时钟239。并行数据时钟239允许为并行配置数据233计时并将其装载到其中有实施例200的PLD的其它部件之内。
0076当串行数据224具有压缩格式时,数据转换器工作如下。数据转换器的以下描述假定的是,利用上面联系图6所描述的压缩技术来压缩串行数据224。然而如上所述,通过对所示实施例进行修改,即可使用其它压缩及相应的解压缩技术和设备。这些修改属于受益于本发明描述的本领域普通技术人员知识范围内。
0077响应时钟信号221,控制半字节寄存器203装载串行数据224内出现的控制半字节。并且在同一时间,解压缩状态机209清除数据寄存器215A-215D。更具体地说,解压缩状态机209施加清除(CLR)信号218至数据寄存器215A-215D的相应的同步清除输入端。因此,数据寄存器215A-215D相应的Q输出端227A-227D得到清除。
0078解压缩状态机209利用串行数据224中出现的控制半字节来决定如何路由控制半字节之后的数据。如果控制半字节有非零值,则解压缩状态机209将控制半字节之后的数据路由到数据寄存器215A-215D。解压缩状态机209利用控制半字节中比特的二进制数值来决定数据寄存器215A-215D中的哪一个进行装载以及数据寄存器215A-215D中的哪一个进行清除。
0079随着下一个控制半字节装载,解压缩状态机209经由MUX230提供两字节的解压缩并行数据。更具体地说,响应于选择(SEL)信号236,MUX 230提供两字节数据作为并行配置数据233。PLD 103的其它部分可随后利用该并行配置数据来编程PLD 103内的各个模块和电路,如上所述。
0080如果控制半字节具有二进制的“0”值(即每个比特具有二进制“0”值),数据寄存器215A-215D即在其相应的Q输出端227A-227D已经具有正确数值(即二进制的“0”)。因此,解压缩状态机209和MUX233提供并行配置数据233至PLD 103的其它部分以进行后续配置。
0081请注意,四个控制半字节要用四个时钟周期来装载。还要注意,在第三个时钟周期时,解压缩状态机209清除数据寄存器215A-215D。因为事件的这种顺序,解压缩状态机209有足够时间在装载其后四个控制半字节之前,提供两字节数据作为并行配置数据233。通过这种方式,实施例200不使用缓冲器,避免了阻塞配置装置或减慢配置过程。
0082如果串行数据224具有未压缩格式,数据转换器的工作如下。数据转换器响应时钟信号221接收串行数据224。解压缩状态机209使得数据寄存器215A-215D装载从串行数据中抽取的四个半字节(即16比特)数据。
0083解压缩状态机209还使得数据寄存器215A-215D和MUX 230提供两字节配置数据作为并行配置数据233。PLD 103的其它部分可随后用该并行配置数据来编程PLD 103内的各个模块和电路,如上所述。请注意,在这种操作方式中,数据转换器内其它电路和信号如上所述那样工作。
0084作为实施例200如何处理压缩配置数据的一个示例,假定它接收二进制数值1010作为控制半字节。该控制半字节表明它后面有多少比特。根据控制半字节,电路接收并处理构成配置数据一部分的任何附加的数据比特。控制半字节的数值表明是否其后有附加比特(由多个半字节组成)或其后没有附加比特。
0085更具体地说,控制半字节中二进制“1”值比特的数目对应于配置数据的附加半字节的数目。在此例中,控制半字节(即1010)有两个二进制“1”值的比特。因此,数据转换器接收并处理两个附加的半字节数据。
0086所述控制半字节装载到控制半字节寄存器203内。解压缩状态机209持续跟踪装载到控制半字节寄存器203内的半字节的数目。在控制半字节装载时,解压缩状态机同步清除数据寄存器215A-215D,如上所述。
0087一旦装载了控制半字节,解压缩状态机即指示用输入串行数据装载哪个数据寄存器。控制半字节中二进制“1”位的位置表示出那些装载有串行数据的数据寄存器215A-215D。在本例中,控制半字节的数值1010表明,数据寄存器215A和数据寄存器215C装载有数据。
0088解压缩状态机209利用启动信号212A来启动将输入数据的随后四个比特装载到数据寄存器215A中。一旦数据装载完成,解压缩状态机209即截止(de-assert)启动信号212A。
0089其后,解压缩状态机209利用启动信号212C来启动将输入数据的附加的四个比特装载到数据寄存器215C内。在数据装载之后,解压缩状态机209截止启动信号212C。请注意,数据寄存器215B和数据寄存器215D在上述操作期间保持在其清除状态。
0090一旦其已经截止启动信号212C,解压缩状态机209即允许控制半字节寄存器203接收附加压缩输入数据包的控制半字节。在接收新的控制半字节时,解压缩状态机使得被装配在数据寄存器215A-215D内的数据作为两字节并行配置数据233输出。解压缩状态机209利用MUX 233和选择信号236来执行这一操作,如上所述。
0091图9展示在根据本发明的示例性实施例中各种信号和事件的时序图。更具体地说,该时序图对应于图8中的实施例200。
0092图9中的时序图示出了时钟信号221、串行数据信号224、并行配置数据233、清除信号218、和并行数据时钟信号239的波形。请注意,该时序图并未显示或表示出本发明原理的完整操作。反之,它展示的是本发明的一个实施例中的一组示例性波形。此外,下述事件的顺序假定数据转换器电路(见图8)已操作了一段时间,并且已经接收并处理串行配置信息。
0093参看图9,串行数据信号224与时钟信号221同步地变值。时刻303表示开始装载串行数据的两个后续字节的控制半字节。时刻303还表示提供并行配置数据的两个被装配字节的第一个字节。并行配置数据的波形对应于并行数据是可用且有效的周期。
0094时刻306表示提供并行配置数据的两个被装配字节的第二个字节。时刻309对应于清除信号218的触发(assertion),清除信号218清除所有数据寄存器(参见图8及以上相应描述)。随后可重复整个周期以接收串行配置数据并提供并行配置数据从而编程PLD。
0095请注意,可按照需要并且如受益于本发明描述的本领域技术人员所理解地,将本发明的原理有效地应用于本领域中以其它名称为人所知的可编程电路或IC。这类电路包括被称为复杂可编程逻辑器件(CPLD)、可编程门阵列(PGA)、和现场可编程门阵列(FPGA)的器件。
0096参看附图,本领域普通技术人员将会注意到,所示各个模块可大体上展示出原理性功能和信号流。实际电路实施方案可包括或可不包括各种功能模块的分离的可识别硬件。
0097例如,可根据需要将各种模块的功能结合到一个电路模块中。此外,可根据需要以多个电路模块来实现单个模块的功能。电路实施方案的选择取决于各种各样的因素,例如给定实施方案的特定设计和性能规格,如受益于本发明描述的本领域普通技术人员所理解的。
0098除了本说明书所述实施例外,本发明的其它修改和替代性实施例对受益于本发明描述的本领域普通技术人员来说将会是显而易见的。因此,本说明书指导了本领域技术人员实施本发明的方式并且仅被解释为是说明性的。
0099所显示和描述的本发明的形式应被认为是目前的优选实施例。本领域技术人员可在部件的形状、尺寸和安排上进行各种改动而不偏离本文件中描述的本发明的范围。例如,本领域技术人员可用等效元件替换这里所展示和描述的元件。此外,受益于本发明的说明的本领域技术人员可独立于其它特征,使用本发明某一些特征,而不偏离本发明的范围。
权利要求
1.一种可编程逻辑器件PLD,所述可编程逻辑器件PLD包括配置电路,该配置电路适于接收串行配置数据,该配置电路还适于编程所述可编程逻辑器件PLD的功能而不需要利用输入缓冲器来存储所述配置数据。
2.根据权利要求1所述的可编程逻辑器件PLD,其中所述配置电路从所述可编程逻辑器件PLD外部的配置装置接收所述串行配置数据。
3.根据权利要求2所述的可编程逻辑器件PLD,其中所述可编程逻辑器件PLD的功能被编程而不阻塞所述配置装置。
4.根据权利要求1所述的可编程逻辑器件PLD,其中所述可编程逻辑器件PLD的功能是以主动配置方式被编程的。
5.根据权利要求1所述的可编程逻辑器件PLD,其中所述可编程逻辑器件PLD的功能是以被动配置方式被编程的。
6.根据权利要求5所述的可编程逻辑器件PLD,其中所述配置电路进一步适于接收压缩的串行配置数据。
7.根据权利要求6所述的可编程逻辑器件PLD,其中所述配置电路包括解压缩电路,该解压缩电路适于将所述压缩的串行配置数据解压缩成解压缩的配置数据。
8.根据权利要求7所述的可编程逻辑器件PLD,其中所述配置电路进一步包括数据格式转换器电路,该数据格式转换器电路适于将解压缩的配置数据转换成并行配置数据。
9.一种数据处理系统,包括配置装置,该配置装置适于提供串行配置数据;以及可编程逻辑器件PLD,包括数据转换器电路,该数据转换器电路适于将所述串行配置数据转换成并行配置数据,以编程所述可编程逻辑器件PLD的功能;其中所述可编程逻辑器件PLD的功能被编程而不阻塞所述配置装置。
10.根据权利要求9所述的数据处理系统,其中所述串行配置数据包括串行压缩数据。
11.根据权利要求10所述的数据处理系统,其中所述数据转换器电路包括解压缩电路,该解压缩电路适于解压缩所述串行压缩数据以提供解压缩数据。
12.根据权利要求11所述的数据处理系统,其中所述数据转换器进一步包括数据格式转换器电路,该数据格式转换器电路适于将所述解压缩数据转换成并行数据。
13.根据权利要求12所述的数据处理系统,其中所述并行数据被用来编程所述可编程逻辑器件PLD的功能。
14.根据权利要求13所述的数据处理系统,其中所述解压缩电路包括解压缩状态机。
15.根据权利要求14所述的数据处理系统,其中所述数据转换器进一步包括第一寄存器,该寄存器适于响应时钟信号接收所述串行压缩数据。
16.根据权利要求15所述的数据处理系统,其中所述数据转换器进一步包括多个寄存器,所述多个寄存器中的每一个都适于响应由所述解压缩状态机提供的各自的控制信号,接收所述串行压缩数据。
17.根据权利要求16所述的数据处理系统,其中所述数据格式转换器电路包括多路复用器,该多路复用器耦合到所述多个寄存器和所述解压缩状态机。
18.根据权利要求10所述的数据处理系统,其中所述配置装置包括闪速存储器。
19.根据权利要求10所述的数据处理系统,其中所述可编程逻辑器件PLD的功能是以被动配置方式编程的。
20.根据权利要求19所述的数据处理系统,其中所述配置装置提供控制信号至所述可编程逻辑器件PLD。
21.一种数据处理系统,包括配置装置,该配置装置适于提供串行配置数据;以及可编程逻辑器件PLD,包括数据转换器电路,该数据转换器电路适于将所述串行配置数据转换成并行配置数据,以编程所述可编程逻辑器件PLD的功能;其中在所述数据转换器电路处理所述配置数据之前,所述可编程逻辑器件PLD被编程,而不利用缓冲器来存储所述串行配置数据。
22.根据权利要求21所述的数据处理系统,其中所述串行配置数据包括串行压缩数据。
23.根据权利要求22所述的数据处理系统,其中所述数据转换器电路包括解压缩电路,该解压缩电路适于解压缩所述串行压缩数据以提供解压缩数据。
24.根据权利要求23所述的数据处理系统,其中所述数据转换器进一步包括数据格式转换器电路,该数据格式转换器电路适于将所述解压缩数据转换成并行数据。
25.根据权利要求24所述的数据处理系统,其中所述并行数据被用来编程所述可编程逻辑器件PLD的功能。
26.根据权利要求25所述的数据处理系统,其中所述解压缩电路包括解压缩状态机。
27.根据权利要求26所述的数据处理系统,其中所述数据转换器进一步包括第一寄存器,该寄存器适于响应时钟信号接收所述串行压缩数据。
28.根据权利要求27所述的数据处理系统,其中所述数据转换器进一步包括多个寄存器,所述多个寄存器中的每一个都适于响应由所述解压缩状态机提供的各自的控制信号,接收所述串行压缩数据。
29.根据权利要求28所述的数据处理系统,其中所述数据格式转换器电路包括多路复用器,该多路复用器耦合到所述多个寄存器和所述解压缩状态机。
30.根据权利要求22所述的数据处理系统,其中所述配置装置包括闪速存储器。
31.根据权利要求22所述的数据处理系统,其中所述可编程逻辑器件PLD的功能是以主动配置方式编程的。
32.根据权利要求22所述的数据处理系统,其中所述可编程逻辑器件PLD的功能是以被动配置方式编程的。
33.一种可编程逻辑器件PLD,包括用于接收串行压缩配置数据的装置;用于解压缩所述串行压缩配置数据以提供解压缩数据的装置;以及用于将所述解压缩数据转换成并行配置数据的装置。
34.根据权利要求33所述的可编程逻辑器件PLD,进一步包括用于通过利用所述并行配置数据来编程所述可编程逻辑器件PLD的功能的装置。
35.根据权利要求34所述的可编程逻辑器件PLD,其中编程所述可编程逻辑器件PLD的功能包括对可编程逻辑电路进行编程。
36.根据权利要求34所述的可编程逻辑器件PLD,其中编程所述可编程逻辑器件PLD的功能包括对可编程互连进行编程。
37.根据权利要求35所述的可编程逻辑器件PLD,其中所述可编程逻辑器件PLD的功能是以主动配置方式编程的。
38.根据权利要求35所述的可编程逻辑器件PLD,其中所述可编程逻辑器件PLD的功能是以被动配置方式编程的。
39.根据权利要求36所述的可编程逻辑器件PLD,其中所述可编程逻辑器件PLD的功能是以被动配置方式编程的。
40.根据权利要求36所述的可编程逻辑器件PLD,其中所述可编程逻辑器件PLD的功能是以被动配置方式编程的。
41.一种配置可编程逻辑器件PLD的方法,所述方法包括接收串行配置数据,该串行配置数据适于配置所述可编程逻辑器件PLD的功能;以及通过利用所述串行配置数据,来配置所述可编程逻辑器件PLD的功能;其中所述可编程逻辑器件PLD是在不缓冲所述串行配置数据的情况下配置的。
42.根据权利要求41所述的方法,其中接收串行配置数据进一步包括从所述可编程逻辑器件PLD外部的配置装置接收串行配置数据。
43.根据权利要求42所述的方法,其中配置所述可编程逻辑器件PLD的功能进一步包括配置所述可编程逻辑器件PLD的功能而不阻塞所述配置装置。
44.根据权利要求41所述的方法,其中配置所述可编程逻辑器件PLD的功能进一步包括以主动方式执行所述配置。
45.根据权利要求41所述的方法,其中配置所述可编程逻辑器件PLD的功能进一步包括以被动方式执行所述配置。
46.根据权利要求45所述的方法,其中接收串行配置数据进一步包括接收压缩的串行配置数据。
47.根据权利要求46所述的方法,其中配置所述可编程逻辑器件PLD的功能进一步包括解压缩所述压缩的串行配置数据以提供解压缩的配置数据。
48.根据权利要求47所述的方法,其中配置所述可编程逻辑器件PLD的功能进一步包括将解压缩的配置数据转换成并行配置数据。
49.根据权利要求48所述的方法,其中配置所述可编程逻辑器件PLD的功能进一步包括用所述并行配置数据来配置可编程逻辑。
50.根据权利要求48所述的方法,其中配置所述可编程逻辑器件PLD的功能进一步包括用所述并行配置数据来配置可编程互连。
全文摘要
可编程逻辑器件PLD包括配置电路。配置电路适于从配置装置接收串行配置数据。配置电路还适于编程PLD的功能而不需要利用输入缓冲器存储配置数据。
文档编号G06F17/50GK1902632SQ200480039180
公开日2007年1月24日 申请日期2004年12月15日 优先权日2003年12月15日
发明者M·克里希纳帕, K·杜维, 夏任新 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1