CN101546354A - 用于与可编程逻辑设备通信的装置和方法 - Google Patents

用于与可编程逻辑设备通信的装置和方法 Download PDF

Info

Publication number
CN101546354A
CN101546354A CN200910132592A CN200910132592A CN101546354A CN 101546354 A CN101546354 A CN 101546354A CN 200910132592 A CN200910132592 A CN 200910132592A CN 200910132592 A CN200910132592 A CN 200910132592A CN 101546354 A CN101546354 A CN 101546354A
Authority
CN
China
Prior art keywords
pld
memory device
programmable logic
signal
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
Application number
CN200910132592A
Other languages
English (en)
Other versions
CN101546354B (zh
Inventor
夏仁信
尤尤·查克·乔伊斯
尼汀·普拉丝达
凯瑞·韦恩斯特拉
凯斯·都威尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altera Corp
Original Assignee
Altera Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Altera Corp filed Critical Altera Corp
Publication of CN101546354A publication Critical patent/CN101546354A/zh
Application granted granted Critical
Publication of CN101546354B publication Critical patent/CN101546354B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17748Structural details of configuration resources
    • H03K19/1776Structural 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

用于与可编程逻辑设备通信的装置和方法
本申请是申请号为200410055229.1、申请日为2004年6月9日、发明名称为“用于与可编程逻辑设备通信的装置和方法”的发明专利申请的分案申请。
技术领域
本专利申请通常涉及逻辑电路和可编程逻辑设备(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.根据权利要求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的方法,进一步包括:使用第一可编程逻辑设备提供时钟信号给该存储设备和给第二可编程逻辑设备。
附图说明
所附的附图仅举例说明本发明示范性实施例,因此不应该被认为是限制其范围。公开的发明构思支持其他同等有效的实施例。在附图中,在一个以上图中使用的相同的数字标志符表示相同的、类似的或者等效的功能、部件或者模块。
图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包括PLD 103和存储设备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,PLD103可以依照需要对存储设备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。此外,PLD 103可以提供复位(Reset)信号142给存储设备106,以复位存储设备106(例如,在加电时)。
串行数据出(SDO)信号127从存储设备106提供串行数据给PLD103。与此相反,串行数据入(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之间的双向的串行接口。依照需要,在PLD 103和存储设备106之间的串行通信可以使用任何的串行通信协议和类型以及信号数目,并且作为本领域普通的技术人员具有本发明理解描述的好处。
PLD 103包括串行端口接口(SPI)控制器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交换数据往/来于PLD103和/或存储设备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中的信号更少、更多或者不同的信号。通常,人们可以实际上使用任何期望的在PLD103和存储设备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。该硬接线逻辑发送命令或者操作码给该闪速存储器,以启动配置过程。该闪速存储器通过发送配置数据给PLD103响应命令和执行配置。这个过程继续直到闪速存储器已经提供所有的配置数据给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耦合到在PLD103内其它电路,诸如配置存储器118和配置电路121(参见图2)。
当PLD103设法与存储设备106通信时,SPI控制器124激活适当的三态设备124B-124G。另一方面,当外部设备或者主机设法与存储设备106通信时,PLD 103经由SPI控制器124使用控制信号124H来设置三态设备124B-124G在高阻抗(hi-Z)状态。换言之,PLD 103撤回接口信号的控制。因而,外部设备或者主机可以驱动耦合到存储设备106的不同的信号线,以实现与存储设备106通信。
应当注意,图5示出概念上用于双向串行接口的双通信机构(PLD103或者外部设备/主机可以与存储设备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的功能,PLD103放弃对接口信号的控制以允许系统内编程继续进行,如在下面详细地描述地。
图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的系统内编程。在响应过程中,PLD103结束其可能实施(例如,如果在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起从属设备的作用。换句话说,与PLD 103A形成对比,PLD 103B和PLD 103C不起双向的串行接口109A的主机的作用。PLD 103B和PLD 103C耦合到在双向的串行接口109A中的某些信号。更具体地说,PLD 103B和PLD103C耦合到双向的串行接口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输入端。类似地,PLD 103B的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。PLL103A进一步提供时钟信号(经由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获得配置数据。PLD 103B继续这个过程,直到其已经获得其配置数据为止。此时,PLD 103B在其CEO输出端上为逻辑低电平,从而启动在PLD链路中的下一个PLD。PLD 103B同样地三态其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已经在该配置过程期间遇到错误。如果是这样的话,则PLD 103A可以开始再次重新配置和重复以上所述的过程以配置在链路中的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)的PLD952。依照需要,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 (4)

1.一种电路布置,包括:
可编程逻辑设备(PLD);和
存储设备,该存储设备适用于与该可编程逻辑设备交换信息,该存储设备进一步适用于经由双向接口与该可编程逻辑设备通信。
2.一种装置,包括:
第一可编程逻辑设备,以串联方案耦合到第二可编程逻辑设备;和
存储设备,该存储设备适合于与第一和第二可编程逻辑设备通信,该存储设备进一步配置以经由双向接口与该第一可编程逻辑设备通信。
3.一种在可编程逻辑设备(PLD)和存储设备之间交换信息的方法,该方法包括:
提供可编程逻辑设备;
提供存储设备;
从该存储设备取回信息;和
经由双向接口与可编程逻辑设备交换信息。
4.一种交换信息的方法,该方法包括:
以串联方案提供第一可编程逻辑设备和耦合到第一可编程逻辑设备的第二可编程逻辑设备;
提供存储设备;
从该存储设备取回信息;和
经由双向接口与第一可编程逻辑设备交换信息。
CN200910132592.1A 2003-06-10 2004-06-09 用于与可编程逻辑设备通信的装置和方法 Expired - Fee Related CN101546354B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/457,874 US7356620B2 (en) 2003-06-10 2003-06-10 Apparatus and methods for communicating with programmable logic devices
US10/457,874 2003-06-10
CNB2004100552291A CN100492333C (zh) 2003-06-10 2004-06-09 用于与可编程逻辑设备通信的装置和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100552291A Division CN100492333C (zh) 2003-06-10 2004-06-09 用于与可编程逻辑设备通信的装置和方法

Publications (2)

Publication Number Publication Date
CN101546354A true CN101546354A (zh) 2009-09-30
CN101546354B CN101546354B (zh) 2016-09-07

Family

ID=33299628

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB2004100552291A Expired - Fee Related CN100492333C (zh) 2003-06-10 2004-06-09 用于与可编程逻辑设备通信的装置和方法
CN200910132592.1A Expired - Fee Related CN101546354B (zh) 2003-06-10 2004-06-09 用于与可编程逻辑设备通信的装置和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB2004100552291A Expired - Fee Related CN100492333C (zh) 2003-06-10 2004-06-09 用于与可编程逻辑设备通信的装置和方法

Country Status (3)

Country Link
US (7) US7356620B2 (zh)
EP (1) EP1487107B1 (zh)
CN (2) CN100492333C (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
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
WO2007120439A2 (en) * 2006-04-14 2007-10-25 Raytheon Company 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.
US7913020B2 (en) * 2008-04-29 2011-03-22 Bose Corporation Automated exchangeable docking configuration
US8138796B1 (en) * 2008-10-03 2012-03-20 Silego Technology, Inc. Serial configuration interface
CN101853062B (zh) * 2009-04-03 2012-06-20 英业达股份有限公司 伺服器
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
US8937490B2 (en) * 2011-10-24 2015-01-20 Samsung Electronics Co., Ltd. Output driver, devices having the same, and ground termination
KR20130045144A (ko) * 2011-10-24 2013-05-03 삼성전자주식회사 출력 드라이버와 이를 포함하는 장치들, 및 접지 터미네이션
US8990474B2 (en) * 2011-12-02 2015-03-24 Altera Corporation Logic device having a compressed configuration image stored on an internal read only memory
US8959469B2 (en) 2012-02-09 2015-02-17 Altera Corporation Configuring a programmable device using high-level language
US20130212366A1 (en) * 2012-02-09 2013-08-15 Altera Corporation Configuring a programmable device using high-level language
US9471537B2 (en) 2013-03-14 2016-10-18 Altera Corporation Hybrid programmable many-core device with on-chip interconnect
US9690741B2 (en) * 2013-07-15 2017-06-27 Altera Corporation Configuration via high speed serial link
CN104778973B (zh) * 2015-04-20 2018-08-14 陕西航天导航设备有限公司 一种基于CPLD的外部flash数据存储接口应用方法
US9449134B1 (en) * 2015-06-25 2016-09-20 International Business Machines Corporation Dynamically reconfigurable logic circuits using native field-programmable gate array primitives
WO2017199383A1 (ja) * 2016-05-19 2017-11-23 株式会社日立製作所 Pld管理方法及びpld管理システム
US10388392B2 (en) * 2017-04-08 2019-08-20 Texas Instruments Incorporated Safe execution in place (XIP) from flash memory
US10963001B1 (en) 2017-04-18 2021-03-30 Amazon Technologies, Inc. Client configurable hardware logic and corresponding hardware clock metadata
US10409940B1 (en) * 2018-10-26 2019-09-10 Dell Products, L.P. System and method to proxy networking statistics for FPGA cards
CN111192615B (zh) * 2019-12-31 2022-11-01 杭州士兰微电子股份有限公司 可编程存储单元、非易失性存储系统及其控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5804986A (en) * 1995-12-29 1998-09-08 Cypress Semiconductor Corp. Memory in a programmable logic device
GB2350456A (en) * 1999-05-13 2000-11-29 Jpc Technology Ltd Data processing
US6366117B1 (en) * 2000-11-28 2002-04-02 Xilinx, Inc. Nonvolatile/battery-backed key in PLD

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE34363E (en) * 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4870302A (en) * 1984-03-12 1989-09-26 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
GB9508931D0 (en) * 1995-05-02 1995-06-21 Xilinx Inc Programmable switch for FPGA input/output signals
EP0769223B1 (en) 1995-05-02 2003-10-15 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
US5640107A (en) * 1995-10-24 1997-06-17 Northrop Grumman Corporation Method for in-circuit programming of a field-programmable gate array configuration memory
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
US6425077B1 (en) * 1999-05-14 2002-07-23 Xilinx, Inc. System and method for reading data from a programmable logic device
US6618686B2 (en) * 1999-05-14 2003-09-09 Xilinx, Inc. System and method for testing a circuit implemented on 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
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
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
US20080287650A1 (en) * 2007-03-01 2008-11-20 Avi Tovi 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5804986A (en) * 1995-12-29 1998-09-08 Cypress Semiconductor Corp. Memory in a programmable logic device
GB2350456A (en) * 1999-05-13 2000-11-29 Jpc Technology Ltd Data processing
US6366117B1 (en) * 2000-11-28 2002-04-02 Xilinx, Inc. Nonvolatile/battery-backed key in PLD

Also Published As

Publication number Publication date
EP1487107A2 (en) 2004-12-15
US20080143378A1 (en) 2008-06-19
US20060038586A1 (en) 2006-02-23
US8190787B2 (en) 2012-05-29
EP1487107B1 (en) 2013-11-20
CN101546354B (zh) 2016-09-07
US9274980B2 (en) 2016-03-01
US8554959B2 (en) 2013-10-08
US20140015565A1 (en) 2014-01-16
CN100492333C (zh) 2009-05-27
US7356620B2 (en) 2008-04-08
US20100082891A1 (en) 2010-04-01
CN1591377A (zh) 2005-03-09
US7574533B2 (en) 2009-08-11
US7650438B2 (en) 2010-01-19
US8719458B2 (en) 2014-05-06
US20080157813A1 (en) 2008-07-03
EP1487107A3 (en) 2006-06-14
US20140223034A1 (en) 2014-08-07
US20120213017A1 (en) 2012-08-23

Similar Documents

Publication Publication Date Title
CN100492333C (zh) 用于与可编程逻辑设备通信的装置和方法
CN103559053B (zh) 一种板卡系统及通信接口卡fpga在线升级方法
CN100568211C (zh) 用可编程器件实现访问多个i2c从器件的方法及装置
US5734872A (en) CPU interconnect system for a computer
CN1212540A (zh) 具有相同节点的自动节点配置
CN102227806A (zh) 堆叠的多芯片封装中的硅过孔的重新配置
CN107704285A (zh) 现场可编程门阵列多版本配置芯片、系统和方法
CN107408095A (zh) 通道资源的重定向
CN112463702B (zh) 一种级联背板的cpld i2c通道地址分配方法及系统
CA2092631C (en) Physical partitioning of logically continuous bus
CN103795517A (zh) 可缩放多功能串行链路接口
CN100478935C (zh) Pcie通道扩展装置、系统及其配置方法
CN111948971A (zh) 一种智能卡管理装置及其数据转接方法
EP1194852B1 (en) Data storage system
TW201239890A (en) Memory controller address and data pin multiplexing
CN113626359A (zh) 一种服务器的闪存芯片的信号切换装置及方法
CN102147735B (zh) 接口单板和业务逻辑加载的方法
CN113407480A (zh) 一种集中式管理的框式交换机
CN113033134A (zh) 多业务板间触发信号同步系统、同步方法及半导体测试设备
CN212411050U (zh) 一种智能卡管理装置和智能卡系统
US6901460B2 (en) Competitive management system and method for external input/output devices and recording medium recording program
CN219352001U (zh) 一种兼容不同WiFi模块的主板及终端设备
CN208888804U (zh) 一种多处理器电子设备
CN100525259C (zh) 组合异类硬件接口以用于下一代pvdm设备的方法和装置
EP1001349B1 (en) Software controllable termination network for high speed backplane bus

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: 20160907

Termination date: 20190609