CN1591377A - 用于与可编程逻辑设备通信的装置和方法 - Google Patents
用于与可编程逻辑设备通信的装置和方法 Download PDFInfo
- Publication number
- CN1591377A CN1591377A CNA2004100552291A CN200410055229A CN1591377A CN 1591377 A CN1591377 A CN 1591377A CN A2004100552291 A CNA2004100552291 A CN A2004100552291A CN 200410055229 A CN200410055229 A CN 200410055229A CN 1591377 A CN1591377 A CN 1591377A
- Authority
- CN
- China
- Prior art keywords
- programmable logic
- memory device
- logic device
- pld
- interface
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Logic Circuits (AREA)
- Stored Programmes (AREA)
Abstract
电路布置包括一个可编程逻辑设备。该可编程逻辑设备包括结构逻辑电路。该可编程逻辑设备还包括可配置的相互连接。该电路布置进一步包括配置用于给可编程逻辑设备提供数据的存储设备。该存储设备经由双向接口与可编程逻辑设备通信。
Description
技术领域
本专利申请通常涉及逻辑电路和可编程逻辑设备(PLD),尤其是涉及与PLD通信和配置PLD。
背景技术
PLD已经在很多技术领域中日益激增,诸如数据处理和信号处理这样的应用。PLD固有的灵活性和重新配置该PLD的能力已经在某种程度上导致其受大众欢迎。系统设计员和甚至系统终端用户可以对PLD编制程序,以及重新配置系统的部分或者全部功能。重新配置系统避免了系统或者其各种各样的组成部分或者子系统的重新设计的花费和耗时。
配置PLD典型地包括给PLD提供配置数据。常规的系统使用配置存储器,诸如只读存储器(ROM)、可擦可编程ROM(EPROM)、或者电可擦可编程ROM(EEPROM)存储配置数据。但是,这些配置存储器具有某些缺点。第一,它们具有比较高的成本,但是相对低的密度。第二,即使在EEPROM(人们可以在其上写信息)情况下,该PLD或者用户也不能访问所有的未使用的存储器容量。换句话说,对于PLD或者用户来说,该EEPROM的未使用的容量不是可利用的,并且被“浪费”。第三,常规的配置存储器或者设备典型地使用附加的逻辑电路(诸如,处理器或者控制器),这势必增加成本。存在低成本配置设备的需要,其克服常规的解决方案的缺点。
发明内容
本发明涉及与PLD通信和配置PLD。本发明的一个方面涉及用于与PLD通信和配置PLD的装置。在一个实施例中,按照本发明的电路布置包括PLD和存储设备。该存储设备适合于与PLD交换信息。该存储设备进一步适合于经由双向接口与可编程逻辑设备通信。更具体地说,该信息可以组成配置信息或者数据。
在另一个实施例中,按照本发明的装置包括第一PLD,其以串联方案耦合到第二PLD。该装置还包括存储设备。该存储设备经由双向接口与第一和第二PLD通信。更具体地说,该存储设备可以与第一和第二PLD交换配置数据。
本发明的另一个方面涉及与PLD通信和配置PLD的方法。在一个实施例中,在PLD和存储设备之间交换信息的方法包括提供PLD和提供存储设备。该方法进一步包括从存储设备中取回信息,以及经由双向接口交换该信息到PLD。
在另一个实施例中,交换信息的方法包括提供第一PLD,和以串联方案耦合到第一PLD的第二PLD。该方法还包括提供存储设备。该方法进一步包括从存储设备中取回信息,以及经由双向接口交换该信息到第一PLD。更具体地说,该方法还包括经由双向接口交换该信息到第二PLD。
附图说明
所附的附图仅举例说明本发明示范性实施例,因此不应该被认为是限制其范围。公开的发明构思支持其他同等有效的实施例。在附图中,在一个以上图中使用的相同的数字标志符表示相同的、类似的或者等效的功能、部件或者模块。
图1示出用于按照本发明的PLD结构的电路布置。
图2举例说明用于按照本发明的用于PLD结构的示范性实施例,其包括双向的串行接口。
图3描述用于按照本发明的PLD结构的示范性实施例,其包括双向并行接口。
图4示出在按照本发明说明性的实施例中存储设备的存储器映象。
图5举例说明按照本发明示范性实施例的PLD的一部分的概念性的方框图,其与存储设备对接。
图6描述按照本发明的电路布置,用于经由双向的串行接口耦合存储设备到PLD和主机(或者外部设备)。
图7示出按照本发明示范性实施例的电路布置,其提供PLD的系统内编程。
图8举例说明按照本发明的电路布置,其举例说明数据源如何耦合到双向的串行接口和用于系统内编程的PLD。
图9示出按照本发明示范性实施例的用于串联编程多个PLD的电路布置。
图10举例说明按照本发明的包括PLD的数据处理系统的说明性的实施例。
具体实施方式
本发明涉及通过使用外部存储设备,诸如闪速存储器来配置PLD的装置。该配置装置可以使用在PLD和闪速存储器之间双向的“聪明的”或者“智能的”接口。使用该接口,PLD可以与存储设备通信以获得有关该存储设备的信息,在该存储设备中存储信息,或者从该存储设备中获得信息。
按照本发明的配置装置提供了一些优点。第一,它们允许PLD充当主机,并且从存储设备(从属设备)获得配置数据,因此不需要执行所述任务的外部主机或者逻辑电路。在包括一个以上PLD的电路布置中,按照本发明的配置装置可以支持一个主PLD和一个或多个从属PLD(例如,多个充当从属设备的PLD)。做为选择,按照本发明的配置装置可以支持多个PLD,每个充当主PLD。
第二,按照本发明的配置装置通过使用电缆或者类似的耦合机构提供系统内编程(ISP)。第三,在已经完成配置之后,该新颖的配置装置允许用户访问该存储设备。如果该存储设备具有一些未由配置数据使用的存储区,则该用户可以使用该未使用的区域。第四,一旦已经结束PLD配置,则外部设备或者主机可以使用该存储设备。如果该存储设备具有一些未由配置数据使用的存储区,则该外部设备或者主机可以使用该未使用的区域。最后,通过使用在PLD和存储设备之间串行、双向接口,人们可以减少在两个设备之间相互连接的数目,因此降低了整个系统的成本,节约了材料,提高了可靠性等等。
图1示出用于按照本发明的PLD结构的电路布置100。电路布置100包括PLD103和存储设备106。PLD 103包括可编程逻辑112、可编程相互连接115和配置存储器118。可编程逻辑112包括可配置或者可编程逻辑电路模块,诸如查找表(LUT)、产品术语逻辑、多路器、逻辑门、寄存器、存储器等等。可编程相互连接115与可编程逻辑112耦合,并且允许在可编程逻辑112内的各种模块之间建立可配置的相互连接(耦合装置)。
配置存储器118和PLD配置电路121一起工作。当加电或者复位时,PLD配置电路121经由双向接口109访问存储设备106以获得配置数据。PLD配置电路121在配置存储器118中存储该配置数据。配置存储器118耦合到可编程逻辑112和可编程相互连接115。在配置存储器118内的配置数据通过可编程逻辑112和可编程相互连接115编程来确定PLD 103的功能,作为所属技术领域的专业人员具有理解本发明的描述的好处。
PLD 103经由双向接口109耦合到存储设备106。与PLD和外部配置存储器之间的常规的接口不同,双向接口109在PLD 103和存储设备106之间提供“聪明的”或者“智能的”接口。通过使用双向接口109,PLD 103可以依照需要对存储设备106做出一些确定。
当加电或者复位时,在PLD 103中的PLD配置电路121可以首先确定存储设备106的存在、功能、特性等等。如果存储设备106不存在,或者不起作用或者适当地响应,则PLD 103可以产生一个出错信号,或者不然的话警告用户或者另一个主机或者设备。如果存储设备106存在并且起作用,则PLD配置电路121可以确定有关存储设备106的附加信息,诸如其类型(例如,是否其是闪速存储器)、其状态、其容量和/或其可利用性。
在本发明说明性的实施例中,双向接口109可以构成双向的串行接口。图2示出一个用于按照本发明的PLD结构的电路布置125的示范性实施例,其包括双向的串行接口109A。双向的串行接口109A包括串行数据出(SDO)信号127、串行数据入信号(SDI)信号130、串行的时钟(SCK)信号133、芯片使能(CE*)信号136(“*”标志表示低能动的数字信号),和握手(Rdy/Busy*)信号139。此外,PLD103可以提供复位(Reset)信号142给存储设备106,以复位存储设备106(例如,在加电时)。
串行数据出(SDO)信号127从存储设备106提供串行数据给PLD 103。与此相反,串行数据入(SDI)信号130从PLD 103提供串行数据给存储设备106。串行的时钟(SCK)信号133从PLD 103到存储设备106交换时钟信号。芯片使能(CE*)信号136允许PLD 103去选择用于通信的存储设备106。经由握手(Rdy/Busy*)信号139,存储设备106可以发信号给PLD 103,用于表示其与PLD 103串行通信的可利用性或者不可利用性。除了PLD 103之外,人们可以依照需要使用以上所述的信号在存储设备106和外部设备或者主机之间提供通信。
依照需要,双向的串行接口109A可以包括比在图2中的信号更少、更多或者不同的信号。通常,人们实际上可以使用任何期望的PLD 103和存储设备106之间的双向的串行接口。依照需要,在PLD103和存储设备106之间的串行通信可以使用任何的串行通信协议和类型以及信号数目,并且作为本领域普通的技术人员具有本发明理解描述的好处。
PLD 103包括串行端口接口(SPD控制器124(通常,串行的接口控制器)。SPI控制器124包括用于经由双向的串行接口109A与存储设备106通信的电路。经由SPI控制器124,PLD配置电路121使PLD 103从存储设备106获得配置数据。SPI控制器124给配置存储器118提供配置数据。在配置存储器118中的数据通过可编程逻辑112和可编程相互连接115编程来确定PLD 103的功能,作为所属技术领域的专业人员具有理解本发明的描述的好处。
使用串行接口109A以在存储设备106和PLD 103之间提供通信机构具有一些优点。串行接口节省引脚、导电体和/或连接器,因为数据传输和接收典型地发生在两个导电体(或者导线或者电线)之上。因此,使用更少的导电体还降低整个系统的成本和各种部件的复杂度。例如,耦合PLD 103到存储设备106的印刷电路板(PCB)使用更少的导电体用于串行接口,因此成本减少。同样地,串行接口使用相对很少的导电体来实现PLD 103和存储设备106之间通信的事实势必提高PCB和整个系统的可靠性。
依照需要,人们可以经由并行接口耦合PLD 103和存储设备106,而不使用串行接口。图3示出一个用于按照本发明的PLD结构的电路布置160的示范性实施例,其包括双向并行接口109B。双向并行接口109B包括数据信号178、地址信号175、写使能(WE)信号172、输出使能(OE)信号169和芯片使能(CE)信号166。此外,PLD 103可以提供复位信号(未在图3中示出)给存储设备106,以复位存储设备106(例如,在加电时)。
数据信号178允许PLD 103(依照需要,或者外部设备或者主机)与存储设备106交换(即,发送和接收)数据。因此,PLD 103可以经由数据信号178交换数据给存储设备106。替换地,PLD 103可以经由数据信号178从存储设备106接收数据。如果使用,则依照需要,外部设备或者主机(未在图3中示出)可以经由数据信号178交换数据往/来于PLD 103和/或存储设备106。
地址信号175帮助在PLD 103(依照需要,或者外部设备或者主机)和存储设备106之间数据的交换。地址信号175起常规的地址信号所起的作用。换句话说,地址信号175指定位置,PLD 103对其设法写入数据,或者从中PLD 103设法读出数据。如果使用,则依照需要,外部设备或者主机(未在图3中示出)可以交换地址信号给存储设备106,以帮助与存储设备106的数据交换操作。
写使能(WE)信号172帮助至存储设备106的写操作。尤其是,WE信号172使存储设备写入由数据信号178指定的数据至存储设备106中由地址信号175指定的位置。输出使能(OE)信号169响应由PLD 103(依照需要,或者外部设备或者主机)施加的信号,启动存储设备106的输出信号。例如,OE信号164能使存储设备106经由数据信号178输出数据。芯片使能(CE)信号166允许PLD 103选择用于通信的存储设备106。
依照需要,双向并行接口109B可以包括比在图3中的信号更少、更多或者不同的信号。通常,人们可以实际上使用任何期望的在PLD 103和存储设备106之间的双向并行接口。依照需要,在PLD 103和存储设备106之间的并行通信可以使用任何的并行通信协议和类型以及信号数目,并且作为本领域普通的技术人员具有本发明理解描述的好处。
参考在图3中示出的实施例,PLD 103包括并行端口接口(PPI)控制器163。PPI控制器163包括用于经由双向并行接口109B与存储设备106通信的电路。经由PPI控制器163,PLD配置电路121使PLD 103从存储设备106获得配置数据。PPI控制器163给配置存储器118提供配置数据。在配置存储器118中的数据通过可编程逻辑112和可编程相互连接115编程来确定PLD 103的功能,作为所属技术领域的专业人员具有理解本发明的描述的好处。
使用并行接口109B以在存储设备106和PLD 103之间提供通信机构可以提供一些优点。虽然并行接口比串行接口使用更多的导电体,但并行接口倾向于以比可比较的串行接口更高的速率交换数据。因此,虽然并行接口势必比串行接口花费更多,但它们提供更高的性能。取决于不同的因素,诸如用于某个应用的设计和性能规范,人们可以使用或者串行接口或者并行接口,作为所属技术领域的专业人员具有本发明理解的描述的好处。通过均衡成本、性能、可靠性等等,人们可以以合适的实施方式应用每个接口,以有助于实现设计目标和技术要求。
在本发明说明性的实施例中,存储设备106可以构成闪速存储器。与常规的PLD配置电路对比,该闪速存储器经由在这里描述的双向链路对PLD 103提供一个智能的通信链路,诸如在图2中的串行接口,或者在图3中示出的并行接口。PLD 103可以与该存储设备通信,以获得有关该闪速存储器的信息,在其中存储信息,或者从其中获得信息,如上所述。
取决于用途,依照需要,人们可以或者使用串行的闪速存储器,或者使用并行的闪速存储器。更具体地说,参考图2,人们可以使用串行的闪速存储器作为存储设备106,以经由双向的串行接口109A与PLD 103(或者外部设备或者主机)通信。与此相反,参考图3,人们可以使用并行的闪速存储器作为存储设备106,以经由双向并行接口109B与PLD 103(或者外部设备或者主机)通信。
闪速存储器典型地响应外部设备提供的命令或者操作码。在图2和图3中示出的该电路布置,PLD 103可以提供各种操作码给闪速存储器,诸如用于从在闪速存储器中某个位置读出数据的操作码。通过执行该命令或者操作码,闪速存储器响应。
更具体地说,在加电(或者有关复位或者类似的事件)时,PLD 103起主机的作用。PLD 103包括硬接线逻辑(例如,状态机),在加电时“引导”PLD 103。该硬接线逻辑发送命令或者操作码给该闪速存储器,以启动配置过程。该闪速存储器通过发送配置数据给PLD 103响应命令和执行配置。这个过程继续直到闪速存储器已经提供所有的配置数据给PLD 103为止。在这点上,该配置过程结束。
应当注意,人们可以依照需要使用其他类型的存储器作为存储设备106,而不使用闪速存储器。例如,人们可以使用EEROM或者EEPROM。存储设备106的选择取决于用于某个应用的设计和性能规范,以及落在具有描述本发明的好处的本领域的普通技术人员的知识范围之内。
如上所述,在结束PLD 103的配置时,PLD 103或者外部设备或者主机(未在图1和2中示出)可以访问和使用存储设备106。当然,在配置过程结束时,依照需要,PLD 103或者其它的设备不需要访问存储设备106或者实施与其的任何交易。但是,作为另一个选择,用户可以经由串行接口109A或者并行接口109B访问存储设备106。用户可以按照要求,经由PLD 103的编程功能,或者通过外部设备或者主机这样做。
因此,在配置过程结束时,不使存储设备106空闲,而是用户可以从存储设备106读出数据和写数据到存储设备106(当然,取决于使用的存储设备类型,例如闪速存储器)。以这样的方式,用户可以依照需要访问在存储设备106内的配置数据。用户不仅可以读出配置数据,而且还可以修改配置数据。
例如,基于来自外部设备或者主机的输入,和/或来自配置的PLD的性能数据,用户可能希望改变不同的系统或者子系统参数,诸如通信协议或者参数、滤波系数等等。此外,PLD 103可以从信源(诸如外部设备或者主机或者网络)接收配置数据(例如,来自网络的数据分组),以及写它们到存储设备106用于将来重新配置PLD 103。因此,用户可以通过存储信息到存储设备106以动态和灵活的方式改变在PLD 103中实施的逻辑特征。换句话说,PLD 103可以自我配置,因此给出用户增长的灵活性和控制整个系统特性和性能。
此外,用户可以依照需要使用存储设备106作为附加的系统存储器,提供用户存储设备106所有未使用的容量的好处。图4示出在一个按照本发明说明性的实施例中存储设备106的存储器映象。在存储设备106内的数据存储空间包括配置数据存储空间190和附加的数据存储空间193。配置数据存储空间190存储用于PLD 103的配置数据。如上所述,存储设备106在适当的时间(例如,在加电时)上提供配置数据给PLD 103。
附加的数据存储空间193表示未使用的存储设备106的容量。换句话说,附加的数据存储空间193表示用户(经由PLD 103),或者外部设备或者主机对于所需应用可以访问和使用的存储设备106的存储容量。因此,用户(PLD 103)或者外部设备或者主机可以使用附加的数据存储空间193作为用于中间数据、用户数据的存储器,作为记事本,或者实际上所有需要的存储需求。此外,PLD 103和外部设备或者主机可以依照需要使用附加的数据存储空间193作为用于在它们之间交换数据和信息的存储区。
应当注意,如果存储设备106由非易失性的设备(例如,闪速存储器)构成,则其内容在经历供电中断之后将存在。用户(经由PLD 103)或者外部设备或者主机可以在附加的数据存储空间193内存储信息,他们可以在未来或者如果发生供电中断时使用。因此,在这些情形之下,附加的数据存储空间193提供长存性附加的优点。
如上所述,PLD 103或者外部设备或者主机可以访问存储设备106。图5示出一个按照本发明示范性实施例的PLD 103的一部分的概念框图,其与存储设备106对接。在图5中,PLD 103包括多个三态马区动器和接收机,其经由双向的串行接口109A与存储设备106对接。
在PLD 103中的SPI控制器124包括控制器124A、三态接收机124C和124G、和三态驱动器124B、124D、124E和124F。控制器124A经由三态接收机和驱动器与存储设备106通信。三态接收机124C和124G分别地耦合Rdy/Busy*信号139和SDO信号127给控制器124A。三态驱动器124B、124D、124E和124F分别地耦合复位信号142、CE*信号136、SCK信号133和SDI信号130给控制器124A。控制器124A耦合到在PLD 103内其它电路,诸如配置存储器118和配置电路121(参见图2)。
当PLD 103设法与存储设备106通信时,SPI控制器124激活适当的三态设备124B-124G。另一方面,当外部设备或者主机设法与存储设备106通信时,PLD103经由SPI控制器124使用控制信号124H来设置三态设备124B-124G在高阻抗(hi-Z)状态。换言之,PLD 103撤回接口信号的控制。因而,外部设备或者主机可以驱动耦合到存储设备106的不同的信号线,以实现与存储设备106通信。
应当注意,图5示出概念上用于双向串行接口的双通信机构(PLD 103或者外部设备/主机可以与存储设备106通信)。通过对图5中的电路进行修改,人们可以为双向并行接口提供类似的机构。修改的范围落在本领域普通的技术人员的知识范围之内,该技术人员具有理解本发明描述的好处。
图6示出用于经由双向的串行接口耦合存储设备106到PLD 103和主机203(或者外部设备)的电路布置200。在串行接口109A中的信号和复位信号142耦合到存储设备106、PLD 103和主机203的相应的端子。使用结合图5描述的机构,PLD 103可以与存储设备106通信,或者撤回与主机203的通信。主机203可以包括类似于在图5中示出的电路,依照需要,或者与存储设备106通信,或者撤回与PLD 103的通信。
使用电路布置200,主机203和PLD 103也可以依照需要相互通信。例如,主机203可以提供数据和信息给PLD 103,或者从PLD 103接收数据和信息。在按照本发明的一个实施例中,存储设备106最初可以提供配置数据给PLD 103。随后,主机203可以提供配置数据给PLD 103(例如,去重新设置PLD 103或者改变其配置)。因此,电路布置200为在存储设备106、PLD 103和主机203之中的通信提供灵活的机构。
应当注意,图6示出使用双向的串行接口109A用于在PLD 103、存储设备106和主机203之中的通信机构的概念上的电路布置。通过对图6中的电路进行修改,人们可以为双向并行接口提供类似的机构。修改的范围落在本领域普通的技术人员的知识范围之内,该技术人员具有理解本发明描述的好处。
如上所述,本发明的一个方面涉及PLD的系统内编程(ISP)。系统内编程用户无需从该系统除去存储设备106,就允许重新配置在存储设备106中的配置数据。当用户附上编制程序电缆到在系统板上的插座或者插孔时,通常开始系统内编程。PLD 103检测该编程电缆的连接,并且确认用户希望从事系统内编程。典型地,存储设备106储如,串行的闪速存储器)支持单个主机。为了容纳存储设备106的功能,PLD 103放弃对接口信号的控制以允许系统内编程继续进行,如在下面详细地描述地。
图7示出一个按照本发明示范性实施例的电路布置210,其提供PLD 103的系统内编程。电路布置210包括经由双向的串行接口109A耦合到存储设备106和PLD 103的电缆连接器213A。电缆连接器213A可以位于板上或者其它适当的夹具或者构件上,其共同地耦合PLD 103和存储设备106。
应当注意,依照需要,一个可以包括在板主机203(或者外部设备)上,其可以经由双向的串行接口109A耦合到PLD 103、存储设备106和电缆连接器213A。如前所述,经由双向的串行接口109A相互耦合的那些设备可以依照需要相互通信,因此提供给用户灵活的数据处理系统。
通过经由电缆连接器213A附加一个外部数据源,用户信号通知他或者她希望启动系统内编程。该外部数据源提供适当的SPI信号219给电阻216和PLD 103的芯片使能输入端(CE*)。在没有经由电缆连接器213A(即,没有经由电缆连接器213A附加的外部数据源)提供的SPI信号219的情况下,电阻216牵引PLD 103的CE*输入端到一个参考电位,诸如电路接地。因此,PLD 103的CE*输入端接收逻辑低电平,其随后启动PLD 103。因而,PLD 103可以起如上所述的作用。
如果用户希望启动系统内编程,则他或者她耦合一个外部数据源到电缆连接器213A。图8示出一个电路布置230,其举例说明数据源233如何耦合到双向的串行接口109和用于系统内编程的PLD 103。数据源233可以依照需要构成一些想要的设备,其交换数据来/往于存储设备106。例如,数据源233可以构成个人计算机、工作站、微处理器、主机等等,作为本领域普通的技术人员具有本发明理解描述的好处。
数据源233耦合到电缆连接器213B。电缆连接器213A可以配对或者耦合到电缆连接器213B,以在数据源233和PLD 103(以及存储设备106和主机203)之间建立电通信。例如,电缆连接器213B可以构成插头,而电缆连接器213A可以在电路板上构成插座,该电路板安装PLD 103及其它系统部件。电缆连接器213B可以依照需要经由电缆或者其它适当的耦合装置耦合到数据源233。
一旦数据源233经由电缆连接器213A和213B耦合到PLD 103,则其就可以给PLD 103的CE*输入端提供一个适当的信号,以示意用户希望去启动系统内编程。例如,在图7和8中示出的实施例中,数据源233给PLD 103的CE*输入端提供一个逻辑高信号(例如,电源电压VDD或者其它适当的信号)。
一旦PLD 103在其CE*输入端上检测到该逻辑高信号,则其就确认用户希望去执行存储设备106的系统内编程。在响应过程中,PLD 103结束其可能实施(例如,如果在PLD 103操作过程中用户耦合数据源233)的所有操作,然后撤回在双向的串行接口109A内信号线的控制。例如,PLD 103可以通过将耦合到SPI控制器124(参见图5)的信号线放置在三态模式来这样做,如上所述。
数据源233随后可以起存储设备106的主机的作用。数据源233可以通过与存储设备106通信并且与其交换数据和信息来继续进行系统内编程。应当注意,除了系统内编程之外,或者代替系统内编程,数据源233可以依照需要给存储设备106(不单是配置数据空间)的任何部分提供数据,或者从存储设备106的任何部分接收数据。此外,应当注意,除了系统内编程之外,人们可以依照需要使用在这里描述的机构在主机203和数据源233之间建立通信。因此,依照需要,数据源233可以发送数据给主机203,并且从主机203接收数据。
在系统内编程或者步及数据源233的其它操作结束时,用户可以从电缆连接器213A去耦电缆连接器213B。当用户这样做时,数据源233不再给PLD 103的CE*输入端提供逻辑高信号。电阻216牵引PLD 103的CE*输入端为逻辑低电平。因此,PLD 103被使能并可以恢复其作为存储设备106的主机的角色。
应当注意,人们可以使用一个PLD 103内的可选寄存器,而不使用具有电阻216的机构和PLD 103的CE*输入端来确定接口信号的模式(即,什么设备能控制这些信号)。换句话说,在配置结束时,PLD 103内的可选寄存器确定什么设备控制该接口信号(变为主机)。用户可以配置该寄存器以在配置结束时指定是否PLD 103应该保持对该接口的控制。
本发明的另一个方面涉及PLD的串联模式编程。串联模式编程允许设备,诸如存储设备106以顺序方式编程一些PLD。PLD以链式或者串联方式耦合。存储设备首先配置第一PLD,然后以链式或者串联方式等来配置下一个PLD,直到其配置所有的PLD为止。
图9示出按照本发明的一个示范性实施例,用于串联编程多个PLD的电路布置250。在图9中示出的实施例包括经由双向的串行接口109A耦合到存储设备106的PLD 103A。PLD 103B和PLD 103C起从属设备的作用。换句话说,与PLD103A形成对比,PLD 103B和PLD 103C不起双向的串行接口109A的主机的作用。PLD 103B和PLD 103C耦合到在双向的串行接口109A中的某些信号。更具体地说,PLD 103B和PLD 103C耦合到双向的串行接口109A的SDO信号127和SCK信号133。
PLD 103A-103C以顺序方式配置。在加电(或者当复位时)时,PLD 103A起双向的串行接口109A的主机的作用,并且从存储设备106获得其配置数据。一旦其已经结束其自己的配置,则PLD 103A帮助一个或多个PLD的配置,如在图9中PLD 103B和PLD 103C所表示的。
更具体地说,在加电时,PLD 103A在其CEO*(芯片使能出)输出端上输出逻辑高电平。PLD 103A的CEO*驱动PLD 103B的CE*输入端。类似地,PLD103B的CEO*输出端驱动在该链式中下一个PLD的CE*输入端等等,直到在该链式末端的PLD 103C为止。在PLD 103A的CEO*输出端上的逻辑高电平防止PLD 103B试图在双向的串行接口109A上存取数据。同样也,在PLD 103B的CE*输入端上的逻辑高电平在其CEO*输出端上引起逻辑高电平,这就防止在该链式中的后续PLD在双向的串行接口109A上存取数据,等等。
因此,在加电时,PLD 103A起主机的作用,并且采取适当的步骤从存储设备106获得其配置数据。在一个说明性的实施例中,存储设备106构成串行的闪速存储器。在这个实施例中,PLD 103A提供适当的操作码和时钟信号(经由SCK信号133)给串行的闪速存储器,使该存储器去访问在存储器内的配置数据,并且提供该数据给PLD 103A。PLD 103A进一步提供时钟信号(经由SCK信号133)给PLD 103B-103C。同样,在加电时,在该链式中所有的PLD牵引配置完成(ConDone)信号262为逻辑低电平。
一旦PLD 103A已经获得其配置数据,则PLD 103A在其CEO*输出端上输出逻辑低电平,从而启动PLD 103B。PLD 103A同样三态(tri-state)其ConDone输出。但是,PLD 103A继续使存储设备106提供配置数据(例如,通过发送适当的操作码和时钟信号给串行的闪速存储器,该串行的闪速存储器起存储设备106的作用)。PLD 103A还监控ConDone信号262的状态。
一旦PLD 103B已经变为启动(经由在PLD 103A的CEO*输出端上的逻辑低电平),则其开始经由双向的串行接口的SDO信号127获得配置数据。PLD103B继续这个过程,直到其已经获得其配置数据为止。此时,PLD 103B在其CEO*输出端上为逻辑低电平,从而启动在PLD链路中的下一个PLD。PLD103B同样地三态其ConDone输出。
PLD 103A继续使存储设备106提供配置数据,该链路中的下一个PLD使用所述配置数据作为其配置数据。这个过程继续直到在该链路中最后的PLD为止,PLD 103C获得其配置数据。此时,PLD 103C三态其ConDone输出。一旦所有的PLD已经三态其ConDone输出,则电阻256牵引ConDone信号262为逻辑高电平。通过监控ConDone信号262,PLD 103A检测ConDone信号262的逻辑高电平,将其译码为在该链电路中所有的PLD已经从存储设备106获得其配置数据。因此,达成顺序配置PLD 103A-103C。应当注意,替代或者除了PLD 103A监控ConDone信号262之外,其它的设备,诸如主机可以监控那个信号,以确定有关在链路中PLD的配置的信息。
在PLD链路中的每个PLD具有一个状态输出端,其耦合到状态*信号259。当在该链路中的每个PLD成功地达成其配置时,则三态其状态输出。但是,如果任何一个PLD遇到错误,则在其状态输出端上输出逻辑低电平。因此,在该链路中所有的PLD成功地配置,电阻253牵引状态*信号259为逻辑高电平。如果在配置过程(如ConDone信号262表示的)结束时,一个或多个PLD已经认定在其状态输出端上逻辑低电平(表示在配置中一个错误),则状态*信号259将具有逻辑低电平。
PLD 103A(和/或主机或者其它设备)可以监控状态*信号259,以确定是否在该链路中一些PLD已经在该配置过程期间遇到错误。如果是这样的话,则PLD103A可以开始再次重新配置和重复以上所述的过程以配置在链路中的PLD。
人们可以依照需要提供系统内编程能力给电路布置250。为了以串联编程来组合系统内编程,人们可以使用电缆连接器213A和电阻216与PLD 103A的CE*输入端相连。系统内编程特点如上面相对于图7-8详细地描述的那样工作。
应当注意,不使PLD 103A起主机(PLD 103B-103C起从属设备的作用)的作用,人们可以使得在该链路中所有的PLD起主设备的作用。在这样一个实施例中,所有的PLD将耦合到双向的串行接口109A,如在图9中的PLD 103A那样。在该链路中的第一PLD完成其配置并把耦合到双向的串行接口109A的引脚设置为三态。使用如上所述的该CEO*输出机构,然后,该PLD可以用信号通知在该链路中的下一个PLD,以便从存储设备106获得配置数据。这个过程重复直到在该链路中所有的PLD已经从存储设备106获得配置数据为止。
作为本领域的普通技术人员具有理解本发明描述的优势,人们可以依照需要对于在图7-9中示出的电路布置进行很多的修改,其使用在这里描述的发明构思。例如,人们可以依照需要在该电缆连接器或者接口中使用更少的、更多的或者不同的信号和引脚或者连接器。此外,通过修改示出的电路布置,人们可以依照需要使用并行接口(与并行接口存储设备106一起),诸如如上所述的双向并行接口109B。该修改取决于特定的实施例的设计和性能规范,如所注释的,落在所属技术领域的专业人员的知识范围之内,其具有本发明描述的好处。
人们可以在各种各样的数据处理系统和应用中使用PLD和配置设备(存储设备)和按照本发明相应的双向接口,诸如如上所述的那些。图10示出一个数据处理系统说明性的实施例950,其包括按照本发明(虽然在实施例950中可以依照需要包括一个以上的PLD 952)的PLD 952。依照需要,PLD 952可以类似于或者与在这个申请中描述的PLD相同(例如,PLD 103或者PLD 103A)。PLD 952经由双向接口109耦合到存储设备106。PLD 952还可以依照需要和如上所述耦合到可选择的主机(或者外部设备)203。
实施例950选择性地包括多个外部设备960-984,其经由多个信号链路955耦合到PLD 952。信号链路955可以构成一些适当的信号线路或者多个信号线路的汇集(即,耦合到外部设备960-984每一个的多个信号线路,构成信号链路955的多个信号线路的汇集)。例如,信号链路955可以构成一个或多个总线或者其他通信和耦合机构,作为本领域普通的技术人员具有理解本发明描述的好处。应当注意,实施例950依照需要可能除去外部设备960-984的某些,或者包括某些多个或者所有的外部设备960-984。PLD 952还可以包括一个或多个处理器(未明确地示出),其可以依照需要耦合到PLD 952和/或外部设备960-984的不同的部分。此外,依照需要,PLD 952可以耦合到一个或多个在PLD 952以外的处理器(未明确地示出),和与一个或多个在PLD 952以外的处理器一起工作。
本发明如上所述说明性的实施例涉及PLD。但是,应当注意,人们可以依照需要对于在本领域中为其他名称所知的电路有效地适用本发明的构思,诸如复合可编程逻辑设备(CPLD)、程控选通门阵列(PGA)和现场可编程门阵列(FPGA)。电路的选择取决于对于特定的应用的设计和性能规范,并且取决于落在所属技术领域的专业人员知识内的因素,该因素具有本发明描述的好处。
虽然本发明的描述时常涉及输入、输出等等的特定的大小,但是人们可以对于各式各样的其它情形适用所描述的电路和发明构思。例如,人们可以修改和概括电路和概念以向不同的变量提供其它大小,诸如输入大小,输出大小,输入、输出和信号的数量等等。上述的修改落在本领域普通的技术人员的知识范围之内,该技术人员具有本发明描述的好处。
参考附图,示出的不同的模块主要表明概念上的功能和信号流程。实际的电路实施可以或者不可以分别包含用于不同功能块的可识别的硬件。例如,人们可以依照需要合并不同模块的功能进入到一个电路模块之内。此外,人们可以依照需要以若干电路模块实现单个模块的功能。电路实施的选择取决于各种各样的因素,诸如对于给定实施例特定的设计和性能规范,因为本领域的普通技术人员具有理解本发明描述的好处。
除了在这里描述的那些之外,本发明其它修改和可供选择的实施例对本领域的普通技术人员来说将是显而易见的,本领域普通的技术人员具有本发明描述的好处。因此,本说明书教导那些本领域的技术人员实现本发明的方式,并且被看作仅仅是说明性的。本发明示出和描述的形式应该被认为是目前优选的实施例。所属技术领域的专业人员无需脱离在本文献中描述的本发明的范围,可以在形状、尺寸和部分电路方面进行各种各样的改变。例如,所属技术领域的专业人员可以将这里举例说明和描述的单元代替为等效的单元。此外,具有本发明描述的好处的所属技术领域的专业人员无需脱离本发明的范围,就可以独立于其它特征的使用来使用本发明的某些特征。
Claims (69)
1.一种电路布置,包括:
可编程逻辑设备(PLD);和
存储设备,该存储设备适用于与该可编程逻辑设备交换信息,该存储设备进一步适用于经由双向接口与该可编程逻辑设备通信。
2.根据权利要求1的电路布置,其中该存储设备进一步适用于给可编程逻辑设备提供配置信息。
3.根据权利要求2的电路布置,其中该双向接口包括串行接口。
4.根据权利要求3的电路布置,其中该存储设备进一步适用于经由该串行接口通信。
5.根据权利要求4的电路布置,其中该存储设备包括闪速存储器。
6.根据权利要求5的电路布置,其中该串行接口包括:
串行数据输入信号;
串行数据输出信号;
时钟信号;
芯片使能信号;和
握手信号。
7.根据权利要求6的电路布置,其中该可编程逻辑设备给闪速存储器提供时钟信号和操作码,并且其中响应时钟信号和操作码,该闪速存储器给可编程逻辑设备提供配置信息。
8.根据权利要求2的电路布置,其中该双向接口包括并行接口。
9.根据权利要求8的电路布置,其中该存储设备进一步适合于经由该并行接口通信。
10.根据权利要求9的电路布置,其中该存储设备包括闪速存储器。
11.根据权利要求10的电路布置,其中该并行接口包括:
一组数据信号;
一组地址信号;
写入使能信号;
输出使能信号;和
芯片选通信号。
12.根据权利要求2的电路布置,其中该可编程逻辑设备使用该存储设备经由双向接口存储和取回信息。
13.根据权利要求12的电路布置,其中外部设备使用该存储设备经由双向接口存储和取回信息。
14.根据权利要求2的电路布置被用于数据处理系统中。
15.根据权利要求2的电路布置被用于数据处理系统中,该数据处理系统包括以可编程逻辑设备实现的处理器。
16.根据权利要求2的电路布置被用于数据处理系统中,该数据处理系统包括耦合到该可编程逻辑设备的处理器。
17.根据权利要求1的电路布置,进一步包括耦合器,该耦合器适合于可选择地耦合到该双向接口。
18.根据权利要求17的电路布置,其中该可编程逻辑设备经由适合于可选择地去激活的耦合装置耦合到双向接口。
19.根据权利要求18的电路布置,其中当该耦合器被耦合到双向接口时,该耦合装置适合于被去激活。
20.根据权利要求19的电路布置,进一步包括适合于经由该耦合器耦合到双向接口的外部设备。
21.根据权利要求20的电路布置,其中该外部设备进一步适合于经由该双向接口与存储设备通信。
22.根据权利要求21的电路布置,其中该外部设备进一步适合于给该存储设备提供配置信息。
23.根据权利要求22的电路布置,其中该双向接口包括串行接口。
24.根据权利要求23的电路布置,其中该存储设备包括闪速存储器。
25.一种装置,包括:
第一可编程逻辑设备,以串联方案耦合到第二可编程逻辑设备;和
存储设备,该存储设备适合于与第一和第二可编程逻辑设备通信,该存储设备进一步配置以经由双向接口与该第一可编程逻辑设备通信。
26.根据权利要求25的装置,其中该第一可编程逻辑设备适合于从该存储设备接收配置信息。
27.根据权利要求26的装置,其中该双向接口包括多个接口信号,以及其中该第二可编程逻辑设备适合于经由至少一些接口信号从该存储设备接收配置信息。
28.根据权利要求27的装置,其中在第一可编程逻辑设备已经完成从存储设备接收配置信息之后,该第二可编程逻辑设备适合于从存储设备接收配置信息。
29.根据权利要求28的装置,其中该第一可编程逻辑设备适合于提供第一信号,该第一信号用于指示第一可编程逻辑设备已经完成从该存储设备接收配置信息。
30.根据权利要求29的装置,其中该第二可编程逻辑设备适合于提供第二信号,该第二信号用于指示第二可编程逻辑设备已经完成从该存储设备接收配置信息。
31。根据权利要求30的装置,其中该第一可编程逻辑设备包括双向接口的主设备。
32.根据权利要求31的装置,其中该第二可编程逻辑设备包括双向接口的从属设备。
33.根据权利要求32的装置,其中该双向接口包括串行接口。
34.根据权利要求33的装置,其中该存储设备包括闪速存储器。
35.根据权利要求34的装置,其中该第一可编程逻辑设备适合于:(a)给该闪速存储器和第二可编程逻辑设备提供时钟信号,和(b)给该闪速存储器提供至少一个操作码;以及其中响应该时钟信号和至少一个操作码,闪速存储器适合于给第一和第二可编程逻辑设备提供配置信息。
36.根据权利要求32的装置,其中如果在由第一可编程逻辑设备接收配置信息期间发生错误,该第一可编程逻辑设备进一步适合于产生第一错误信号。
37.根据权利要求36的装置,其中如果在由第二可编程逻辑设备接收配置信息期间发生错误,该第二可编程逻辑设备进一步适合于产生第二错误信号。
38.根据权利要求28的装置,进一步包括耦合器,该耦合器适合于可选择地耦合到双向接口。
39.根据权利要求38的电路布置,其中该第一可编程逻辑设备进一步适合于经由可选择地去激活的第一耦合装置耦合到该双向接口,以及其中该第二可编程逻辑设备进一步适合于经由可选择地去激活的第二耦合装置耦合到双向接口。
40.根据权利要求39的电路布置,其中当该耦合器被耦合到双向接口时,第一和第二耦合装置适合于被去激活。
41.根据权利要求40的电路布置,进一步包括外部设备,其适合于经由该耦合器耦合到该双向接口,其中该外部设备进一步适合于经由双向接口给该存储设备提供信息。
42.根据权利要求41的电路布置,其中由该外部设备提供给存储设备的信息包括配置信息。
43.一种在可编程逻辑设备(PLD)和存储设备之间交换信息的方法,该方法包括:
提供可编程逻辑设备;
提供存储设备;
从该存储设备取回信息;和
经由双向接口与可编程逻辑设备交换信息。
44.根据权利要求43的方法,其中经由双向接口交换给可编程逻辑设备的信息包括配置信息。
45.根据权利要求44的方法,其中经由双向接口交换信息给可编程逻辑设备的接口包括串行接口。
46.根据权利要求45的方法,其中该存储设备进一步适合于经由串行接口通信。
47.根据权利要求46的方法,其中该存储设备包括闪速存储器。
48.根据权利要求44的方法,其中该双向接口包括并行接口。
49.根据权利要求48的方法,其中该存储设备进一步适合于经由并行接口通信。
50.根据权利要求49的方法,其中该存储设备包括闪速存储器。
51.根据权利要求44的方法,进一步包括:使用该可编程逻辑设备以经由双向接口把信息存入该存储设备,以及经由双向接口从该存储设备取回信息。
52.根据权利要求51的方法,进一步包括使用外部设备以经由双向接口把信息存入该存储设备,以及经由双向接口从该存储设备取回信息。
53.根据权利要求43的方法,进一步包括响应外部设备耦合到该双向接口,有选择地去耦合耦合到该双向接口的该可编程逻辑设备。
54.根据权利要求53的方法,进一步包括从该外部设备经由该双向接口提供信息给该存储设备。
55.根据权利要求54的方法,其中从该外部设备经由双向接口提供给该存储设备的信息包括配置信息。
56.根据权利要求55的方法,其中该双向接口包括串行接口。
57.根据权利要求56的方法,其中该存储设备包括闪速存储器。
58.一种交换信息的方法,该方法包括:
以串联方案提供第一可编程逻辑设备和耦合到第一可编程逻辑设备的第二可编程逻辑设备;
提供存储设备;
从该存储设备取回信息;和
经由双向接口与第一可编程逻辑设备交换信息。
59.根据权利要求58的方法,其中经由双向接口交换给第一可编程逻辑设备的信息包括配置信息。
60.根据权利要求59的方法,其中经由双向接口交换信息给第一可编程逻辑设备的该双向接口包括多个接口信号,该方法进一步包括经由至少一些接口信号交换该配置信息给第二可编程逻辑设备。
61.根据权利要求60的方法,其中在交换该信息给第一可编程逻辑设备之后,交换该配置信息给第二可编程逻辑设备。
62.根据权利要求61的方法,进一步包括通过提供第一信号,指示第一可编程逻辑设备已经完成从该存储设备接收配置信息。
63.根据权利要求62的方法,进一步包括通过提供第二信号,指示第二可编程逻辑设备已经完成从该存储设备接收配置信息。
64.根据权利要求63的方法,进一步包括作为双向接口的主设备运行的第一可编程逻辑设备。
65.根据权利要求64的方法,进一步包括作为双向接口的从属设备运行的第二可编程逻辑设备。
66.根据权利要求65的方法,其中该双向接口包括串行接口。
67.根据权利要求66的方法,其中该存储设备包括闪速存储器。
68.根据权利要求65的方法,进一步包括:
如果在由第一可编程逻辑设备接收配置信息期间发生错误,产生第一错误信号;和
如果在由第二可编程逻辑设备接收配置信息期间发生错误,产生第二错误信号。
69.根据权利要求65的方法,进一步包括:使用第一可编程逻辑设备提供时钟信号给该存储设备和给第二可编程逻辑设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910132592.1A CN101546354B (zh) | 2003-06-10 | 2004-06-09 | 用于与可编程逻辑设备通信的装置和方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/457,874 | 2003-06-10 | ||
US10/457,874 US7356620B2 (en) | 2003-06-10 | 2003-06-10 | Apparatus and methods for communicating with programmable logic devices |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910132592.1A Division CN101546354B (zh) | 2003-06-10 | 2004-06-09 | 用于与可编程逻辑设备通信的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1591377A true CN1591377A (zh) | 2005-03-09 |
CN100492333C CN100492333C (zh) | 2009-05-27 |
Family
ID=33299628
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910132592.1A Expired - Fee Related CN101546354B (zh) | 2003-06-10 | 2004-06-09 | 用于与可编程逻辑设备通信的装置和方法 |
CNB2004100552291A Expired - Fee Related CN100492333C (zh) | 2003-06-10 | 2004-06-09 | 用于与可编程逻辑设备通信的装置和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910132592.1A Expired - Fee Related CN101546354B (zh) | 2003-06-10 | 2004-06-09 | 用于与可编程逻辑设备通信的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (7) | US7356620B2 (zh) |
EP (1) | EP1487107B1 (zh) |
CN (2) | CN101546354B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016753A (zh) * | 2008-04-29 | 2011-04-13 | 伯斯有限公司 | 自动可交换对接配置 |
CN101853062B (zh) * | 2009-04-03 | 2012-06-20 | 英业达股份有限公司 | 伺服器 |
CN103324511A (zh) * | 2012-02-09 | 2013-09-25 | 阿尔特拉公司 | 配置可编程设备的方法、可编程设备及机器可读存储介质 |
CN104050142A (zh) * | 2013-03-14 | 2014-09-17 | 阿尔特拉公司 | 具有片上互连的混合可编程众核设备 |
CN104778973A (zh) * | 2015-04-20 | 2015-07-15 | 陕西航天导航设备有限公司 | 一种基于CPLD的外部flash数据存储接口及其应用方法 |
CN107957967A (zh) * | 2013-07-15 | 2018-04-24 | 阿尔特拉公司 | 经高速串行链路的配置 |
US10366189B2 (en) | 2012-02-09 | 2019-07-30 | Altera Corporation | Configuring a programmable device using high-level language |
CN111192615A (zh) * | 2019-12-31 | 2020-05-22 | 杭州士兰微电子股份有限公司 | 可编程存储单元、非易失性存储系统及其控制方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356620B2 (en) | 2003-06-10 | 2008-04-08 | Altera Corporation | Apparatus and methods for communicating with programmable logic devices |
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 |
TWI267783B (en) * | 2004-12-24 | 2006-12-01 | Sunplus Technology Co Ltd | Apparatus and system having function of in-system-programming |
US7454556B1 (en) * | 2005-02-02 | 2008-11-18 | Xilinx, Inc. | Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface |
US7199608B1 (en) * | 2005-02-17 | 2007-04-03 | Xilinx, Inc. | Programmable logic device and method of configuration |
US7236010B1 (en) | 2005-08-30 | 2007-06-26 | Altera Corporation | Reduced area freeze logic for programmable logic blocks |
US20070245040A1 (en) * | 2006-04-14 | 2007-10-18 | Acsadi Peter F | Data storing |
US7539967B1 (en) | 2006-05-05 | 2009-05-26 | Altera Corporation | Self-configuring components on a device |
US8161227B1 (en) | 2006-10-30 | 2012-04-17 | Siliconsystems, Inc. | Storage subsystem capable of programming field-programmable devices of a target computer system |
FR2928005B1 (fr) * | 2008-02-22 | 2011-04-22 | Adacsys | Dispositif et procede d'observation et d'exploitation de signaux internes d'un systeme programmable. |
US8138796B1 (en) * | 2008-10-03 | 2012-03-20 | Silego Technology, Inc. | Serial configuration interface |
US7868654B1 (en) | 2009-05-13 | 2011-01-11 | Lattice Semiconductor Corporation | Reading an external memory device to determine its interface characteristics for configuring a programmable logic device |
US8873282B2 (en) * | 2011-10-18 | 2014-10-28 | Micron Technology, Inc. | Interfaces and die packages, and appartuses including the same |
KR20130045144A (ko) * | 2011-10-24 | 2013-05-03 | 삼성전자주식회사 | 출력 드라이버와 이를 포함하는 장치들, 및 접지 터미네이션 |
CN103066987A (zh) * | 2011-10-24 | 2013-04-24 | 三星电子株式会社 | 输出驱动器、集成电路及系统 |
US8990474B2 (en) * | 2011-12-02 | 2015-03-24 | Altera Corporation | Logic device having a compressed configuration image stored on an internal read only memory |
US9449134B1 (en) * | 2015-06-25 | 2016-09-20 | International Business Machines Corporation | Dynamically reconfigurable logic circuits using native field-programmable gate array primitives |
US10459773B2 (en) * | 2016-05-19 | 2019-10-29 | Hitachi, Ltd. | PLD management method and PLD management system |
US10388392B2 (en) * | 2017-04-08 | 2019-08-20 | Texas Instruments Incorporated | Safe execution in place (XIP) from flash memory |
US10540186B1 (en) | 2017-04-18 | 2020-01-21 | Amazon Technologies, Inc. | Interception of identifier from client configurable hardware logic |
US10409940B1 (en) * | 2018-10-26 | 2019-09-10 | Dell Products, L.P. | System and method to proxy networking statistics for FPGA cards |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4870302A (en) * | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
USRE34363E (en) * | 1984-03-12 | 1993-08-31 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
US4642487A (en) * | 1984-09-26 | 1987-02-10 | Xilinx, Inc. | Special interconnect for configurable logic array |
US7356620B2 (en) * | 2003-06-10 | 2008-04-08 | Altera Corporation | Apparatus and methods for communicating with programmable logic devices |
US5524243A (en) * | 1992-12-16 | 1996-06-04 | Rolm Company | Parallel programming of field programmable gate array devices |
US5590305A (en) | 1994-03-28 | 1996-12-31 | Altera Corporation | Programming circuits and techniques for programming logic |
US5835851A (en) * | 1995-01-19 | 1998-11-10 | Ericsson Inc. | Method and apparatus for echo reduction in a hands-free cellular radio using added noise frames |
US5493239A (en) * | 1995-01-31 | 1996-02-20 | Motorola, Inc. | Circuit and method of configuring a field programmable gate array |
WO1996035263A1 (en) | 1995-05-02 | 1996-11-07 | Xilinx, Inc. | Programmable switch for fpga input/output signals |
GB9508931D0 (en) * | 1995-05-02 | 1995-06-21 | Xilinx Inc | Programmable switch for FPGA input/output signals |
US5640106A (en) | 1995-05-26 | 1997-06-17 | Xilinx, Inc. | Method and structure for loading data into several IC devices |
WO1997003444A1 (en) * | 1995-07-10 | 1997-01-30 | Xilinx, Inc. | System comprising field programmable gate array and intelligent memory |
EP0767544A3 (en) * | 1995-10-04 | 2002-02-27 | Interuniversitair Micro-Elektronica Centrum Vzw | Programmable modem using spread spectrum communication |
US5794033A (en) * | 1995-10-24 | 1998-08-11 | International Business Machines Corporation | Method and system for in-site and on-line reprogramming of hardware logics with remote loading in a network device |
US5640107A (en) * | 1995-10-24 | 1997-06-17 | Northrop Grumman Corporation | Method for in-circuit programming of a field-programmable gate array configuration memory |
US5804986A (en) * | 1995-12-29 | 1998-09-08 | Cypress Semiconductor Corp. | Memory in a programmable logic device |
US5638851A (en) | 1996-01-24 | 1997-06-17 | Baldwin; David | Modular shelter |
US5635851A (en) | 1996-02-02 | 1997-06-03 | Xilinx, Inc. | Read and writable data bus particularly for programmable logic devices |
US6384630B2 (en) | 1996-06-05 | 2002-05-07 | Altera Corporation | Techniques for programming programmable logic array devices |
US5689516A (en) * | 1996-06-26 | 1997-11-18 | Xilinx, Inc. | Reset circuit for a programmable logic device |
US6097211A (en) * | 1996-07-18 | 2000-08-01 | Altera Corporation | Configuration memory integrated circuit |
US5840108A (en) * | 1996-07-26 | 1998-11-24 | Karras; George C. | Method and apparatus for continuous preparation of corrugating adhesive |
US5848026A (en) * | 1997-12-08 | 1998-12-08 | Atmel Corporation | Integrated circuit with flag register for block selection of nonvolatile cells for bulk operations |
US6102963A (en) * | 1997-12-29 | 2000-08-15 | Vantis Corporation | Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's |
US6034538A (en) * | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
US6198303B1 (en) * | 1998-03-25 | 2001-03-06 | Altera Corporation | Configuration eprom with programmable logic |
GB2350456A (en) | 1999-05-13 | 2000-11-29 | Jpc Technology Ltd | Data processing |
US6425077B1 (en) * | 1999-05-14 | 2002-07-23 | Xilinx, Inc. | System and method for reading data from a programmable logic device |
US6631520B1 (en) * | 1999-05-14 | 2003-10-07 | Xilinx, Inc. | Method and apparatus for changing execution code for a microcontroller on an FPGA interface device |
US6618686B2 (en) * | 1999-05-14 | 2003-09-09 | Xilinx, Inc. | System and method for testing a circuit implemented on a programmable logic device |
US6292116B1 (en) * | 1999-05-17 | 2001-09-18 | Altera Corporation | Techniques and circuitry for accurately sampling high frequency data signals input to an integrated circuit |
US6507425B1 (en) * | 1999-06-16 | 2003-01-14 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Infrared communication system |
US6787648B2 (en) * | 1999-06-28 | 2004-09-07 | Monterey Bay Aquarium Research Institute | Compositions and methods for detecting raphidophytes |
US6687814B1 (en) * | 1999-07-12 | 2004-02-03 | Micron Technology, Inc. | Controller with interface attachment |
US6553523B1 (en) * | 1999-08-13 | 2003-04-22 | Jeffrey V. Lindholm | System and method for verifying configuration of a programmable logic device |
US6851047B1 (en) * | 1999-10-15 | 2005-02-01 | Xilinx, Inc. | Configuration in a configurable system on a chip |
US6553526B1 (en) * | 1999-11-08 | 2003-04-22 | International Business Machines Corporation | Programmable array built-in self test method and system for arrays with imbedded logic |
JP2001142844A (ja) * | 1999-11-11 | 2001-05-25 | Nec Kofu Ltd | ライブロック防止方式 |
US6629311B1 (en) * | 1999-11-17 | 2003-09-30 | Altera Corporation | Apparatus and method for configuring a programmable logic device with a configuration controller operating as an interface to a configuration memory |
US6215689B1 (en) * | 1999-11-18 | 2001-04-10 | Cypress Semiconductor Corporation | Architecture, circuitry and method for configuring volatile and/or non-volatile memory for programmable logic applications |
GB9930145D0 (en) | 1999-12-22 | 2000-02-09 | Kean Thomas A | Method and apparatus for secure configuration of a field programmable gate array |
US6255849B1 (en) * | 2000-02-04 | 2001-07-03 | Xilinx, Inc. | On-chip self-modification for PLDs |
US6438737B1 (en) * | 2000-02-15 | 2002-08-20 | Intel Corporation | Reconfigurable logic for a computer |
US6839873B1 (en) * | 2000-06-23 | 2005-01-04 | Cypress Semiconductor Corporation | Method and apparatus for programmable logic device (PLD) built-in-self-test (BIST) |
US6538468B1 (en) * | 2000-07-31 | 2003-03-25 | Cypress Semiconductor Corporation | Method and apparatus for multiple boot-up functionalities for a programmable logic device (PLD) |
US6748456B1 (en) | 2000-09-29 | 2004-06-08 | Cypress Semiconductor Corp. | PLD configuration port architecture and logic |
US6525678B1 (en) * | 2000-10-06 | 2003-02-25 | Altera Corporation | Configuring a programmable logic device |
US6363019B1 (en) * | 2000-11-03 | 2002-03-26 | Xilinx, Inc. | Method and circuit for verifying configuration of programmable logic device |
US6366117B1 (en) * | 2000-11-28 | 2002-04-02 | Xilinx, Inc. | Nonvolatile/battery-backed key in PLD |
US6857110B1 (en) * | 2001-01-30 | 2005-02-15 | Stretch, Inc. | Design methodology for merging programmable logic into a custom IC |
SE0102199D0 (sv) | 2001-06-20 | 2001-06-20 | Ericsson Telefon Ab L M | Upgrading field programmable gate arrays over datacommunication networks |
US6748466B2 (en) * | 2001-06-29 | 2004-06-08 | Intel Corporation | Method and apparatus for high throughput short packet transfers with minimum memory footprint |
US6673263B2 (en) | 2001-07-26 | 2004-01-06 | Ppg Industries Ohio, Inc. | Compositions incorporating chitosan for paint detackification |
US20040098549A1 (en) * | 2001-10-04 | 2004-05-20 | Dorst Jeffrey R. | Apparatus and methods for programmable interfaces in memory controllers |
US6673283B2 (en) * | 2002-01-30 | 2004-01-06 | Empire Level Mfg. Corp. | Method for optical control of an adjustable core pin for vial molding |
US6970595B1 (en) * | 2002-03-12 | 2005-11-29 | Sonic Solutions, Inc. | Method and system for chroma key masking |
US7162644B1 (en) * | 2002-03-29 | 2007-01-09 | Xilinx, Inc. | Methods and circuits for protecting proprietary configuration data for programmable logic devices |
DE10244757B3 (de) * | 2002-09-25 | 2004-07-29 | Siemens Ag | Programmierung eines Speicherbausteins über ein Boundary Scan-Register |
US6920627B2 (en) | 2002-12-13 | 2005-07-19 | Xilinx, Inc. | Reconfiguration of a programmable logic device using internal control |
US6907595B2 (en) * | 2002-12-13 | 2005-06-14 | Xilinx, Inc. | Partial reconfiguration of a programmable logic device using an on-chip processor |
US7234159B1 (en) * | 2003-01-07 | 2007-06-19 | Altera Corporation | Method and apparatus for controlling evaluation of protected intellectual property in hardware |
US6948147B1 (en) | 2003-04-03 | 2005-09-20 | Xilinx, Inc. | Method and apparatus for configuring a programmable logic device using a master JTAG port |
US7278128B1 (en) * | 2003-04-11 | 2007-10-02 | Xilinx, Inc. | Method of altering a bitstream |
US6828823B1 (en) | 2003-05-16 | 2004-12-07 | Lattice Semiconductor Corporation | Non-volatile and reconfigurable programmable logic devices |
US6920827B2 (en) * | 2003-10-31 | 2005-07-26 | Raytheon Company | Vehicle-borne system and method for countering an incoming threat |
WO2008109079A2 (en) * | 2007-03-01 | 2008-09-12 | Novetide, Ltd. | High purity peptides |
US20090062511A1 (en) * | 2007-09-05 | 2009-03-05 | Raghavendracharyulu Venkata Palle | Process for the preparation of bivalirudin and its pharmaceutical compositions |
US7979827B1 (en) * | 2008-03-05 | 2011-07-12 | Xilinx, Inc. | Device having programmable resources and a method of configuring a device having programmable resources |
-
2003
- 2003-06-10 US US10/457,874 patent/US7356620B2/en not_active Expired - Lifetime
-
2004
- 2004-06-08 EP EP04013448.8A patent/EP1487107B1/en not_active Expired - Lifetime
- 2004-06-09 CN CN200910132592.1A patent/CN101546354B/zh not_active Expired - Fee Related
- 2004-06-09 CN CNB2004100552291A patent/CN100492333C/zh not_active Expired - Fee Related
-
2008
- 2008-02-27 US US12/037,935 patent/US7650438B2/en not_active Expired - Fee Related
- 2008-02-27 US US12/037,938 patent/US7574533B2/en not_active Expired - Fee Related
-
2009
- 2009-12-03 US US12/629,900 patent/US8190787B2/en not_active Expired - Fee Related
-
2012
- 2012-05-01 US US13/461,592 patent/US8554959B2/en not_active Expired - Fee Related
-
2013
- 2013-09-12 US US14/025,680 patent/US8719458B2/en not_active Expired - Fee Related
-
2014
- 2014-04-07 US US14/246,786 patent/US9274980B2/en not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016753A (zh) * | 2008-04-29 | 2011-04-13 | 伯斯有限公司 | 自动可交换对接配置 |
CN101853062B (zh) * | 2009-04-03 | 2012-06-20 | 英业达股份有限公司 | 伺服器 |
CN103324511A (zh) * | 2012-02-09 | 2013-09-25 | 阿尔特拉公司 | 配置可编程设备的方法、可编程设备及机器可读存储介质 |
US10366189B2 (en) | 2012-02-09 | 2019-07-30 | Altera Corporation | Configuring a programmable device using high-level language |
US9830300B2 (en) | 2013-03-14 | 2017-11-28 | Altera Corporation | Hybrid programmable many-core device with on-chip interconnect |
US9471537B2 (en) | 2013-03-14 | 2016-10-18 | Altera Corporation | Hybrid programmable many-core device with on-chip interconnect |
US11256656B2 (en) | 2013-03-14 | 2022-02-22 | Altera Corporation | Hybrid programmable many-core device with on-chip interconnect |
US10127190B2 (en) | 2013-03-14 | 2018-11-13 | Altera Corporation | Hybrid programmable many-core device with on-chip interconnect |
CN104050142B (zh) * | 2013-03-14 | 2018-11-16 | 阿尔特拉公司 | 具有片上互连的混合可编程众核设备 |
CN104050142A (zh) * | 2013-03-14 | 2014-09-17 | 阿尔特拉公司 | 具有片上互连的混合可编程众核设备 |
US10635631B2 (en) | 2013-03-14 | 2020-04-28 | Altera Corporation | Hybrid programmable many-core device with on-chip interconnect |
CN107957967B (zh) * | 2013-07-15 | 2021-08-17 | 阿尔特拉公司 | 经高速串行链路的配置 |
CN107957967A (zh) * | 2013-07-15 | 2018-04-24 | 阿尔特拉公司 | 经高速串行链路的配置 |
CN104778973A (zh) * | 2015-04-20 | 2015-07-15 | 陕西航天导航设备有限公司 | 一种基于CPLD的外部flash数据存储接口及其应用方法 |
CN104778973B (zh) * | 2015-04-20 | 2018-08-14 | 陕西航天导航设备有限公司 | 一种基于CPLD的外部flash数据存储接口应用方法 |
CN111192615A (zh) * | 2019-12-31 | 2020-05-22 | 杭州士兰微电子股份有限公司 | 可编程存储单元、非易失性存储系统及其控制方法 |
CN111192615B (zh) * | 2019-12-31 | 2022-11-01 | 杭州士兰微电子股份有限公司 | 可编程存储单元、非易失性存储系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120213017A1 (en) | 2012-08-23 |
US20140015565A1 (en) | 2014-01-16 |
US7356620B2 (en) | 2008-04-08 |
US20140223034A1 (en) | 2014-08-07 |
CN100492333C (zh) | 2009-05-27 |
US8190787B2 (en) | 2012-05-29 |
US20080157813A1 (en) | 2008-07-03 |
US9274980B2 (en) | 2016-03-01 |
EP1487107A3 (en) | 2006-06-14 |
US8554959B2 (en) | 2013-10-08 |
US8719458B2 (en) | 2014-05-06 |
US7650438B2 (en) | 2010-01-19 |
US20080143378A1 (en) | 2008-06-19 |
US7574533B2 (en) | 2009-08-11 |
CN101546354A (zh) | 2009-09-30 |
US20060038586A1 (en) | 2006-02-23 |
EP1487107B1 (en) | 2013-11-20 |
EP1487107A2 (en) | 2004-12-15 |
CN101546354B (zh) | 2016-09-07 |
US20100082891A1 (en) | 2010-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1591377A (zh) | 用于与可编程逻辑设备通信的装置和方法 | |
CN1812693A (zh) | 一种双总线接口电路板组件及其装配方法 | |
CN1645511A (zh) | 叠层型半导体存储装置 | |
CN1890654A (zh) | 存储外壳中的多个接口 | |
CN101040251A (zh) | 用于在存储区域网络中的存储器件间直接传输数据的方法和系统 | |
CN1340196A (zh) | 内建高速汇流排端接器的高容量记忆体模组 | |
CN1828574A (zh) | 使用串行连接总线的计算机系统及多cpu互连方法 | |
CN1866394A (zh) | 用于在存储模块中设置行列地址的方法 | |
CN1700701A (zh) | 对基于链路的系统互连进行物理层初始化的方法和装置 | |
CN1696917A (zh) | 主从系统中直接内存存取控制器及总线结构 | |
CN1811480A (zh) | 一种电平信号的实时监测方法及装置 | |
CN1053979C (zh) | 逻辑上连续的总线的物理分隔 | |
CN1562654A (zh) | 基于ccp协议的混合动力电动汽车控制器标定方法 | |
CN101859288A (zh) | 一种板载isp存储器芯片的pcb拼板及其烧录方法 | |
CN1287259C (zh) | 在通信设备中操作多个i2c从器件的装置及其方法 | |
CN1584816A (zh) | 一种具有多重接口功能的存储卡及其传输模式选择方法 | |
CN1838200A (zh) | 用于驱动控制的装置和方法以及计算机产品 | |
CN1956392A (zh) | 实现多业务板架构的方法、装置和系统 | |
CN1203645C (zh) | 公用组件 | |
CN2513159Y (zh) | 具有串行总线接口的微型闪存存储卡 | |
CN1190925C (zh) | 通用串行总线复合装置及其实现方法 | |
CN100351827C (zh) | 引脚共用系统 | |
CN1879371A (zh) | 组合异类硬件接口以用于下一代分组语音模块设备的方法和装置 | |
CN2770200Y (zh) | 电力负荷监控终端的输入输出模块 | |
CN1599369A (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 |
Granted publication date: 20090527 Termination date: 20190609 |
|
CF01 | Termination of patent right due to non-payment of annual fee |