CN1194702A - 具有分布ram并提高了单元利用率的现场可编程门阵列 - Google Patents

具有分布ram并提高了单元利用率的现场可编程门阵列 Download PDF

Info

Publication number
CN1194702A
CN1194702A CN97190570A CN97190570A CN1194702A CN 1194702 A CN1194702 A CN 1194702A CN 97190570 A CN97190570 A CN 97190570A CN 97190570 A CN97190570 A CN 97190570A CN 1194702 A CN1194702 A CN 1194702A
Authority
CN
China
Prior art keywords
unit
logical block
input
bus
output
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
CN97190570A
Other languages
English (en)
Other versions
CN1105970C (zh
Inventor
弗雷德里卡·C·富尔塔克
马丁·T·马索
罗伯特·B·卢金
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.)
Atmel Corp
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Publication of CN1194702A publication Critical patent/CN1194702A/zh
Application granted granted Critical
Publication of CN1105970C publication Critical patent/CN1105970C/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
    • 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/17736Structural details of routing resources
    • 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/1733Controllable logic circuits
    • H03K19/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • 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/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • 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/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables

Abstract

一种现场可编程门阵列,具有可编程逻辑单元(11;12)和本地和直快总线(19,21,23,25)总线网络。总线网络有效地把矩阵分成单元块(15),每个块具有其自己不同的本地总线。直快总线利用中继开关单元(27)延伸过一个以上的单元块,中继开关单元(27)还把本地总线连接到直快总线上。把单元分成块,中继器在块之间边界(13)上以行和列对齐,从而在块的角上产生空间,可以用RAM块(83)、其它存储结构、特殊逻辑结构或连接到总线网络上的其它专用功能元件填充。RAM块(图13)可以是单端或双端SRAM(85),通过总线(86;178,179)寻址。RAM块中相邻的列对可以用同一组总线(图14)来寻址。其它特殊或专用逻辑也可以填充这些角空间。逻辑单元直接连接到相邻单元,包括对角相邻的单元(图3),还连接到本地总线上。直快总线的结构最好是交叉的,这样,它们以另一种方式连接到非连续中继器(27)上(图11)。I/O端口(17)连接到矩阵周边的单元和总线网络上。较佳的是端口连接到一个以上的单元和一根以上的总线行或列上,每个周边单元可以连接到几个I/O端口的任何一个上(图16,18,19)。

Description

具有分布RAM并提高了单元利用率的现场可编程门阵列
技术领域
本发明涉及一种称为现场可编程门阵列(FPGA)类型的可编程多功能数字逻辑阵列集成电路,尤其涉及对这种FPGA的可配置逻辑单元的结构的改进,以及直接单元至单元连接和这种FPGA的互连总线网络,这种设计改善了执行逻辑功能的单元利用率和功能性。本发明还涉及其内包括用户可访问的存储器单元的FPGA,以综合一些存储器的存储容量,供FPGA装置的逻辑单元使用。
背景技术
数字逻辑可以利用几种可得到的集成电路构造来实现,包括硬接线专用集成电路(ASIC)、掩膜或熔断编程定制门阵列(CGA)、可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)和通常使用非易失性EPROM或EEPROM存储器单元技术的,由用户来配置的其它可编程逻辑器件(PLD)以及一般使用在芯片每次加电期间设置的SRAM配置位的现场可编程门阵列(FPGA)。在这些各种构造中,具有用户可编程、可擦除和可再编程能力的构造一般优于固定或仅可编程一次功能的构造。FPGA能实现大规模高复杂性逻辑功能,它不需要转换成两电平积之和形式,以对这些器件进行编程。SRAM受控开关不仅可以装载不同的功能,以极容易地再配置器件,而且被优化以高速地工作。
现在可以得到很多种FPGA,它们在部件逻辑单元的复杂性以及提供的互连资源上不同。在例如美国专利4,706,216;4,758,985;4,758,985;5,019,736;5,144,166;5,185,726;5,231,588;5,258,688;5,296,759;5,343,406;5,349,250;5,352,940;5,408,434以及其它许多专利中揭示了FPGA。
通常的FPGA构造由两维阵列或者可配置的矩阵组成,用可编程的互连结构在相邻逻辑单元与总线网络之间提供两直接连接以及在矩阵的单元行和列之间分配连接的开关可以有选择地把它连接在一起。在矩阵周边附近,一组输入/输出端连接到总线网络、周边逻辑单元或者两者之上,使信号传入和传出芯片。对每个单独的逻辑单元进行编程,以实现较简单的逻辑功能。每个逻辑单元通常包括输入和输出选择逻辑(MUX)、组合逻辑、以便同步操作的一个或多个存储单元(触发寄存器)以及可能的进行后继逻辑的一个或多个内部反馈线。一些FPGA单元的组合逻辑是固定功能逻辑门的形式,可以具有可选择输入的配置。然而,较佳的FPGA单元使用查找表存储器(配置的SRAM)以提供多种逻辑功能。查找表的存储器单元存储一组数据位,它们的值对应于特定功能的真值表。存储器的地址线上表现出的一组输入信号使存储器提供一位输出,该输出是存储在这些输入信号指示的址上的值。因此,查找表存储器实现了存储器内存储的真值确定的功能。这种互连结构提供了每个单元与在矩阵的同一行或同一列上最相邻单元之间的直接连接。美国专利No.5,296,759另外提供了一种单向对角连接到相邻的单元上。除了单元到单元的直接连接之外,还有一组“逻辑”总线线路在单元与总线网络之间进行连接。在规则地间隔的可配置开关(称为中继单元)把短本地总线段连接到长直快总线上。中继器通常在行和列上对齐,从而把整个阵列分成单元块。一种通常的布置是把64逻辑单元组组织成8×8的块,每个块具有一组相关的本地总线部分。与本地总线部分不同,直快总线穿过中继器跨越一个以上的单元块,使信号在不同的单元块之间传送。直快总线线路仅通过本地总线部分访问逻辑单元,以减少直快线路上信号的传播延时。
FPGA设计者继续在尝试进行改进,以提供器件的速率和功能灵活性。例如,一种设计目的是提高各逻辑单元的功能能力,同时保持作为FPGA构造主要特性的单元小型和简单。需要改进的另一个方面是电路的所有单元的利用率。尤其是,由于总线网络和单元总线接口中权衡的数量和低效率,FPGA单元常常仅用作“接线单元”,以在其它单元之间传送信号,提供右转角、交错连接和信号扇出。这种信号路由低效率地使用了逻辑单元。理想的路由应仅由直接的连接和总线网络提供,而把逻辑单元仅用于逻辑。而且,因为各单元实现的功率较简单,一些设计提供了一些专用于进行特定功能的单元,例如编码和快速运送操作。不幸的是,如果不需要该特定的功能,则该单元就被浪费了。单元设计本身有助于全面利用阵列中的单元。较佳的是,单元具有镜象并相对于其多个输入和输出可以得到的功能旋转对称,以减少对信号旋转的需要,简化单元阵列的功能布线。最后,在大多数的FPGA中,需要有用户可访问的随机存取存储器(RAM)。各制造商使用不同的方案来提供这种需要的片上存储器。例如,Altera公司在阵列的外边缘上设置RAM,而Actel公司设置逻辑单元和RAM的交叉带。Xilinx公司由用户在器件工作期间更新逻辑单元内的查找表存储器,以改变这些单元提供的功能。
本发明的目的在于提供一种FPGA,它提高了逻辑单元的功能性,改善了单元的利用率,通过总线网络和单元至单元的直接连接使信号路由更有效,在器件中综合了用户可访问的存储器能力。
发明内容
该目的是通过这样一种FPGA矩阵来实现的,即在这种FPGA矩阵中,在中继开关单元的行和列交错点上逻辑单元每个块的角上形成的空间内提供用户可访问的存储结构(或专用逻辑),即可看作“专用功能元件”的存储结构和专用逻辑。一种存储结构可以是随机访问存储器,即,RAM结构。与RAM的写允许和输出允许控制端一样,RAM的地址和数据线连接到总线上。RAM可以是单端或双端SRAM。相邻RAM列的对可以由同一组总线寻址。存储结构还可以是非易失性存储结构。
该目的还可以通过这样一种FPGA矩阵来实现,在这种FPGA中,连接到与逻辑单元相关的本地总线部分的中继开关单元按每N个逻辑单元均匀地间隔,因而把单元分成N×N单元块,每个块中的单元仅连接到关联的本地总线部分组上,而不连接到与另一单元块关联的本地总线部分上。中继开关单元把每个本地总线部分连接到块相对端部的直快总线上,中继器以交错结构布置,所以每根直快总线与中继单元的常常相遇少于与本地总线,例如每2.N个逻辑单元,之后相遇。
该目的还可以通过这样一种FPGA来实现,在这种FOGA中,逻辑单元矩阵有至同一单元行和单元列内的四个最邻近的逻辑单元的第一组直接连接,还具有至其它对角相邻的逻辑单元的第二组直接连接。
该目的还可以通过这样一种FPGA来实现,在这种FPGA中,每个逻辑单元包括以对形式的组合逻辑,它们可以起到查找表、用户可访问存储元件或这两者的作用。这些结构都是可由同一组输入来寻址的,其输出可选择地用于同一组输出,其中一个输出具有选择接入到寄存器中,另一对单元的输入可以有选择地输出一个或者其它存储元件输出,以有效地把两个存储元件组合成一个更大的全面的可寻址存储单元。该两个存储元件地址输入可以接收从四个直接连接输入或本地总线输入中任何输入选出的输入。
而且,单元的每列可以有许多全局时钟信号,这些全局信号可以根据单元列中的多个单元扇区,具有极性和允许选择。全局设置或复位信号也可以根据不同扇区具有极性并允许选择。
I/O端口可以在单元矩阵的周边连接到多个逻辑单元,还可以连接到多行或多列总线上。每个周边逻辑单元和每行或每列总线可以连接到几个I/O端口的任何端口上。可以有额外的I/O端口,仅连接到总线上。
附图概述
图1是本发明FPGA电路的俯视平面图。
图2是图1的FPGA电路的四个逻辑单元的俯视平面图,示出了单元之间的直接连接。
图3是本发明FPGA电路的四个逻辑单元的俯视平面图,示出了直接单元至单元连接的另一种实施例。
图4是图1的FPGA电路的4×4逻辑单元块的俯视平面图,连接了总线网络和RAM。
图5是图1的FPGA电路的一个逻辑单元块的逻辑电路图。
图6是图5的逻辑单元的单元-总线接口的示意性电路图。
图7和8是本发明FPGA电路的两种逻辑单元实施例的逻辑电路图。
图9和图10是图1的FPGA电路的部分平面图,示出了本发明时钟和复位信号分配。
图11是图4的四个单元块的俯视图,示出了本发明的FPGA电路中继开关单元的交错结构。
图12是图1和图4的FPGA的3×3组单元块的俯视平面图,示出了专用功能元件(DEF)的位置,例如在中继行和列之间每个块角上的RAM。
图13是本发明FPGA电路的RAM和RAM-总线接口的逻辑电路图。
图14是本发明FPGA电路的部分平面图,含有八个逻辑单元块和与它们相关的RAM块,示出了如图4所示的另一种RAM到总线网络的连接方案。
图15是图14的虚线150中的RAM块的放大图。
图16是图1的FPGA电路周边上的一组逻辑单元的部分示意图,示出了单元到电路的一组I/O端口的连接。
图17是根据本发明一个实施例的FPGA的角上逻辑单元和单元至端口接口的逻辑电路图。
图18是图1的FPGA电路周边上的一组逻辑单元的部分示意图,示出了这种单元至图16所示的电路的I/O端的另一种连接。
图19是图18所示的连接的单元-端接口的逻辑电路图。
图20和21是根据第三个连接实施例的两种类型的I/O端的单元-端口接口的逻辑电路图。
本发明的实施方式
参照图1,本发明的现场可编程门阵列(FPGA)集成电路包括一个矩阵或有多行和多列的可编程逻辑单元11的两维阵列。可以对各逻辑单元11中的每个单元实行配置或编程,以实现具体的逻辑功能。这些单元连接在一起,如图2或3所示,双向连接相邻单元,并且,如图4所示,通过总线线路网络连接开关,使所有FPGA器件或芯片实现更复杂的整体逻辑功能,FPGA器件或芯片是由每个单独的单元提供的很多简单的功能组成的。因此,在FPGA器件中,该功能不需要计算成两级积之和,因为这种互连结构使它可以把任一逻辑单元的输出馈送到任一其它逻辑单元的输入端。从而形成逻辑单元链,可以产生具有多级逻辑的功能。
图11总线网络的逻辑和直快总线线路以及它们的连接中继开关的图形把逻辑单元的基本阵列分成更小的直线单元块。图1中看到的虚线集表示了这种划分布置,在这种布置中,把16个逻辑单元组组织成4×4正方形单元块。每个块15具有其自已的相关本地总线部分集,专用于该特定逻辑单元组,如下面参照图4和图11所看到的,而直快总线线路延伸过1个以上的块,以在不同逻辑块之间传送信号。虽然图1所示的电路具有32行和32列单元(总计1024个逻辑单元),组织成4×4单元块的8×8矩阵,但其它器件一般可以具有小到16行和列的单元或者多到64(或更多)行和列单元。在整个FPGA器件上,逻辑单元11的块15的大小并不需要相同。例如,器件的不同的象限可以含有4×4、6×6或8×8的正方块,或者4×6、4×8、6×6、6×12或8×16的矩形块等。
FPGA电路还具有输入/输出(I/O)端17,沿单元矩阵的周边连接到总线线路和逻辑单元上,使信号传输进入芯片和从芯片传输出端。下面将参照图16-21详细描述输入/输出端的连接。
图2示出了该电路的一个实施例的单元至单元直接连接。每个逻辑单元11具有每一组相同的A输出端和第二组相同的B输出。任一单元的A输出端连接到同一行或列上的所有四个相接的最邻近的逻辑单元上作为输出单元。同样,该单元的B输出端也连接到所有四个最邻近的单元上。每个逻辑单元还具有一组A输入端(标为An,Ae,As,Aw),接收四个最邻近的单元的各A输出端的信号输出。每个逻辑单元具有一组B输入端(这里标为Bn,Be,Bs,Bw),接收四个最邻近单元的各B输出端的信号输出。因此,在同一行或列上的任两个最邻近单元之间,有四条连接信号路径,在每个方向上有两条路径。
图3示出了根据本发明的FPGA电路的另一实施例的单元至单元直接连接。在该实施例中,每个单元12具有第一组相同的A输出端和第二组相同的B输出端。任一单元的A输出端连接到同一行或列上相接的所有四个最邻近的逻辑单元,作为输出单元,但该单元的B输出端连接到四个对角相邻的单元上。每个逻辑单元还具有一组A输入端(标为An,Ae,As,Aw),接收同一行或列上的四个最邻近的单元的各A输出端的信号输出,作为接收单元,以及一组B输入端(这里标为Bnw,Bne,Bse,Bsw),接收四个最邻近单元的各B输出端的信号输出。因此,每个逻辑单元连接到所有八个相邻单元上,并且在任两个单元之间,有两条连接信号路径,每个方向一条。
图4示出了FPGA电路的单元至总线的连接。在一个块中的4×4组逻辑单元11具有总线线路,分布在单元的行与列之间。尤其,邻接到逻辑单元的每列上可以有五组三条垂直总线线路19,邻接到逻辑单元的每行上可以有五组三条水平总线线路21。每组三条总线线路包括一条本地总线线路23和两条直快总线线路25。逻辑单元11仅直接连接到本地总线线路23上,对直快总线线路25的访问是直接通过连接中继单元27上的本地总线线中,连接中继单元27位于每个单元块的周边。如下面参照图11所示解释的,中继器27具有交错的总线连接,以使每个直快总线线路仅每8个单元与一个中继器相交,而不是每四个单元。每个逻辑单元11具有10条双向数据总线线路29,把逻辑单元连接到与特定逻辑单元位于其内的单元的各行和列相邻的5条水平本地总线线路和5条垂直本地总线线路上。这些10条双向线路29(在图6中标为V0-V4和H0-H4),以下面将参照图6更详细描述的这样一种方式连接到它们相应的逻辑单元上,以提供数据信号路径,通过该路径,单元输入端(图5和图6中的AL、BL、CL和DL)和单元输出端(图5和图6中的L)可以在逻辑单元与总线网络之间进行通信。
参照图5,本发明的FPGA内的逻辑单元的一个实施例具有四组输入端,包括那些标为A的输入端(从相邻单元来的直接连接An,Ae,As,Aw和本地总线输入AL)、第二组标为B的输入端(从相邻单元来的直接连接Bn,Be,Bs,Bw以及本地总线输入BL)、标为CL的第三本地总线输入端以及标为DL的第四本地总线输入端。逻辑单元还具有三组输出端,包括连接到四个相邻单元的各A输入端和B输入端的A输出端和B输出端,还包括本地总线输出端L、A和B输出端和直接A和B输入端如上述参照图2所述的一样连接。如前面参照图4所描述的一样,单元的本地总线输入端(AL、BL、CL、DL)和本地总线输出端(L)通过连接信号路径29连接到十个相邻的水平和垂直本地总线线路23上(在图6中将更详细地描述)。尤其是,在图6中,每条本地总线连接信号路径(H0-H4和V0-V4)通过相应的传递门31到达单元内的五条中间信号线330-334中之一。每条中间信号线330-334可以由传递门耦连到两条本地总线之一上,连接信号路径,它们中之一来自相应垂直总线(通过路径V0-V4),另一来自水平总线线路(通过路径H0-H4)。接着,这些五个中间信号线330-334中的每条线路连接到四个总线输入选择多路复用器35A-35D上。因此,每个多路复用器35A-35D具有五个输入端,每个用于各中间信号线330-334。每个多路复用器35A-35D的输出形成单元的四个本地总线输入(AL、BL、CL、DL)。因此,由于传递门31的配置和多路复用器35A-35D的选择作用,逻辑单元连接的十条相邻本地总线中的任一条可以向四个本地总线输入端中的任一输入端提供输入信号。逻辑单元的本地总线输出端L还通过一组传递门37连接到五条中间信号线330-334上。因此,由于传递门37和31的配置,输出端L可以连接成向十个相邻本地总线线路中任一条线提供输出信号。如果有要求,把两个相应的连接传递门31打开,也可以把输出端L同时连接到水平总线线路和垂直总线线路上。虽然,通常一个传递门37选择中间信号线中的一条线用于本地总线输出L,另四条中间信号线33由多路复用器35A-35D选择(并关闭相应的输出传递门37)以接收本地总线输入信号,但如果需要额外的反馈路径,则用户可以选择对输出传递门37和输入选择多路复用器35A-35D,把本地总线输出L的反馈路径提供给本地总线输入AL、BL或DL之一。(如图5所示,内部单元结构已经允许用多路复用器39对CL本地总线输入选择反馈。)
返回到图5,每个逻辑单元的内部逻辑可以包括两个8比特的查找表(L.U.T.)45和47,它们由A、B和C输入端来寻址。查找表通常由工作成只读存储器的静态RAM存储单元组成,即在FPGA器件初始配置期间装载,在工作期间不进行动态再编程。A组输入端(An,Ae,As,Aw,AL)由多路复用器41接收,并选择它们中的一个输入。把该A多路复用器所选的输出连接到第一L.U.T.45的a0地址输入和第二L.U.T.47的a1地址输入。同样由B输入选择多路复用器43选择B组输入(Bn,Be,Bs,Bw,BL),并把所选的输出连接到第二L.U.T.47的a0地址输入和第一L.U.T.45的a1地址输入。第三多路复用器39在反馈线40上接收本地总线输入CL和内部反馈信号,并把这些信号之一输出到第一和第二L.U.T.45和47的a2地址输入。本地单元使用两个8比特相找表45和47,以提供多种组合逻辑。两L.U.T.45和47的SRAM存储单元存储一组数据位,其值对应于特定逻辑功能的真值表。当一组输入信号出现在在每个L.U.T的三个地址输入(a0-a2)时,两个表读取存储在这些输入信号指示的地址上的各位值。因此,每个L.U.T.45和47把该组输入的特定功能的一位输出信号表示在其各输出端49和51上,其中,由存储的真值确定存储器实现的功能。
查找表45和47的输出49和51分成多路信号路径,把它们导入到单元A和B以及本地总线输出L。尤其,L.U.T.输出49和51连接到各数据线52和53上,各数据线52和53可以由各第一和第二输出多路复用器54和55耦连到输出线56和57上,以把输出信号提供给各A和B输出。L.U.T.输出49和51还连接到各第二数据线59和60上,导入到第三输出多路复用器61。多路复用器61的控制信号从本地总线输入DL或从固定逻辑电平信号(“0”或“1”)由多路复用器62选择取得。当选择逻辑“0”信号时,第三输出多路复用器61把通过第二数据线59接收到的第一查找表45的输出传输到其输出端63,但当选择逻辑“1”信号时,第三输出多路复用器61把通过另一第二数据线60接收到的第二查找表47的输出传输到其输出端63。当选择本地总线输入DL时,对第三输出多路复用器61的控制是动态的。实际上,两个8比特查找表45和47一起起到一个16比特查找表的作用,其中本地总线输入DL用作第四地址输入,以访问存储在组合查找表中所要求的数据位。把选出的第三多路复用输出63分成两个并行的路径,一路是组合或非寄存路径65,另一路是含有触发器66的寄存路径。第四输出多路复用器67把这两路径中的一路连接到其输出69。第四多路复用器输出69还分成几路并行的路径。这些路径的一路70连到可能选择以耦连到单元的A输出上的第一输出多路复用器54上,这些路径中的另一路71连到可能选择的以耦连到单元的B输出上的第二输出多路复用器55。第三路径通过输出缓存器73连到输出线75上,把输出信号提供给单元的本地总线输出L。输出缓存器73可以是三态缓存器,受再一个多路复用器74提供的允许信号控制。可选项包括缓存器73总是允许的逻辑“1”信号和两从专用的总线线路上接收到的动态输出允许信号OEH和OEV。第四多路复用器输出69的第四路径是反馈路径40,连到本地总线输入CL处可能选择的输入多路复用器39上。
这种单元结构为它提供了显著的灵活性,同时保持了较简单的结构和小型的体积。A和B输入多路复用器41和43与四个最邻近单元完全对称。同样,图6的本地总线输入电路为所有十个单元的本地总线连接提供了完全相同的选项。在单元的输出端,A和B输出设置有匹配的选项。非寄存地通过直接信号线52或寄存地通过第二信号线59以及寄存器66和信号线70,可以为A输出设置第一查找表45的输出。或者,通过第二信号线60和信号线70,再寄存或非寄存地为它提供第二查找表47的输出。或者当多路复用器62选择本地总线输入DL作为第四地址输入时,可以寄存或非寄存组合的16位L.U.T.提供输出。同样,可以为B输出提供第二查找表47、第一查找表45或组合16比特查找表的输出,这些输出的任一数据都可以寄存或者不寄存。相同的项可用于单元的本地总线输出L。
除了对称和灵活的输入和输出选项之外,单元结构还产生较快的从输入到单元的直接单元至单元输出的通过率。由于单元结构简单,所以在单元的输入和输出之间可以有少至三个电路电路元件。尤其是,A、B、C和D输入信号在到达地址输入a0、a1、a2或集中控制对存储在查找表45和47内的数据位进行访问的多路复用器61的控制输入之前,仅通过一个选择电路,即多路复用器41、43、39和62之一。同样,在查找表45和47的输出侧,查找表输出线49和51提供的信号可以仅通过一个多路复用器54或55,以到达单元的A或B输出。
图7示出了根据本发明的另一个逻辑单元。该单元包括一组输入多路复用器41′、43′、39′和62′,以接收和选择A、B、C和D输入。如图5所示,A输入包括与上述单元同行或同列内的最邻近逻辑单元来的直接单元至单元输入An,Ae,As和Aw,还包括逻辑总线输入AL。B输入也可以与图5所示的相同,或者另一情况除了本地总线输入BL之外还可以包括对角相邻逻辑单元的单元至单元输入Bnw,Bne,Bse和Bsw。因此,B输入可以对应于图3所示的单元至单元连接。输入多路复用器39′选择本地总线输入CL或逻辑“1”信号。其输出42′连接到与门44′的一个输入端。多路复用器38′选择反馈线34′上的反馈信号、逻辑总线输入DL或逻辑“1”信号,并把所选的信号放在其输出40′上,送到与门44′的另一输入端。因而,与门44′可以把本地总线输入CL或DL或反馈信号传送到其输出46′上,或者可以逻辑地组合(与)本地总线输入CL和DL(或把输入CL与反馈信号组合)以形成这两输入的逻辑积。具有与门44′的单元提供了可在单个单元内实现一个元件的阵列多路复用器的可能性。如图5所示,把所选的输入多路复用器41′和43′的输出连接到两个8比特查找表45′和47′的两个地址输入a0和a1。与门44′的输出46′连接到查找表45′和47′的第三地址输入a2
如图5所示,查找表45′和47′的输出通过多路复用器54′和55′的输出连接到逻辑单元的各A和B输出上。表45′和47′也连接到受固定“0”或“1”控制信号控制,或受再一多路复用器62′所选择的本地总线输入DL控制的第三多路复用器61′上。如前面所述,当选择本地总线输入DL时,两查找表45′和47′与作为第四地址输入的本地总线输入DL有效地组合成单一16比特表。所选的第三多路复用器61′的输出连接到由非寄存信号路径65′、寄存信号路径内的触发寄存器66′以及选择这两个信号路径中一路的多路复用器67′组成的寄存/非寄存电路。得到的输出69′通过多路复用器54′和55′连接到单元的A和B输出,通过输出缓存器73′连接到单元的本地总线输出L。再者,响应于多路复用器74′所选的输出允许信号,输出缓存器73′可以是三态缓存器。图7还示出了输出缓存器电路73′还可以包括通过再一多路复用器72′的输出极性控制。
参照图8,根据本发明的另一个逻辑单元用两个8×1的静态RAM,它们在器件工作期间通过从总线网络提供写允许和对单元的数据访问可以进行写入。这可以把单元用作片上存储器,或另一方面可以实现工作期间动态改变的预装载的和固定的查找表进行的逻辑功能,例如由该器件本身作为FPGA器件内其它单元进行的一些功能的结果来实现。在该实施例中,输入多路复用器44”、43”和39”连接到A、B和C直接和本地总线输入以及反馈线40”上,还与图5所示一样的方式连接到SRAM45″和47″的地址输入a0、a1和a2。SRAM45″和47″的输出49″和51″都分成非寄存路径64″和65″和含有触发器66″和68″的寄存路径,这些触发器分别连到输出复用器54″和55″。多路复用器54″和55″的输出沿信号路径56″和57″连接到逻辑单元的单元至单元直接A和B输出,还沿第二信号路径59″和60″连到受多路复用器62″选择的信号控制的本地总线输出选择多路复用器61″。该选择包括固定低电平(“0”)和逻辑高电平(“1”)以及分别从水平和垂直本地总线得到的动态本地总线输入DH和DV。如果选择动态本地总线输入DH或DV,来控制输出多路复用器61″,则高效地把该输入用作由两个8比特SRAM45″和47″组成的组合16比特SRAM的第四地址输入。输出多路复用器61″所选的输出69″连接到反馈线40″上,连接到输入多路复用器39″,还通过缓存器73″连接到本地总线L上。如前所述,缓存器73″可以具有通过多路复用器74″从本地总线OEH或OEV来的输出允许控制。另一方面,SRAM输出49″和51″之间的电路以及地址A和B输出和本地总线输出L可以与图5所示的一样。
通过连接到FPGA总线网络和两SRAM45″的47″的数据输入d0的DATA_IN(数据输入)线84″以及地址输入a0-a2,并通过向SRAM45″和47″之一提供写允许信号WE的写电路提供了本实施例单元独有的对SRAM45″和47″的写访问。写允许电路包括两个与门76″和77″,每个与门具有三个输入端78″-80″,并具有一个输出端,把写允许输入耦连到SRAM45″和47″之一上。与门输入78″之一接收与本地总线输出多路复用器61″相同的多路复用器62″所选的控制信号。即,输入78″有选择地接收固定逻辑低电平(″0″)或高电平(″1″),或动态本地总线输入信号DH或DV。在达到与门76″之前把输入78″反转,而在达到另一与门77″之前不反转。因此,在某一时刻,SRAM45″和47″中仅有一个SRAM将接收到写信号。如果输入78″为低逻辑电平,则左面的SRAM45″将被允许,而如果输入78″为高逻辑电平,则右边的SRAM47″将被允许。用本地总线输出多路复用器61″的相同控制信号可以确保在本地总线输出L上检验从数据输入线84″写入的数据。第二个与门输入79″向与门76″和77″提供了反转的时钟(CLOCK)信号,以保证要写入的输入数据在写允许信号WE传送到所选的SRAM45″和47″之前已在数据输入线84″上适当地建立了。第三与门输入80″通过多路复用器82″提供了写允许信号WE本身,它可以进行该逻辑单元(由固定逻辑低电平输入“0”)选择禁止的写操作。
参照图9和10,每个单元(各图5,6和8)内的触发寄存器(或寄存器)66、66′、66″和68″接收时钟输入和复位(或置位)输入。图9示出了本发明的FPGA的时钟分配电路。可以有多个全局时钟线CK0-CK7,以提供频率、相位或两者都彼此不同的时钟信号。其它可能的时钟分配结构可以包括一些其它的时钟线,部分总体多路复用器88等。逻辑单元11的每列可以设置有其自已的时钟选择多路复用器88,该多路复用器88的输入端分别连接到部分或全部全局时钟线CK0-CK7。因此,可以为逻辑单元11的每列提供与逻辑单元11其它列不同的时钟信号。每个时钟选择多路复用器88的输出形成主列线92,把所选的时钟信号分配给该列内的每个单元。可以把逻辑单元的列再分成4个或8个扇区,通常,每个为N个单元。在图9中,可以看出扇区14由4个单元组成。对于单元的每个扇区,从主列线92分出,提供有时钟极性选择和分配允许电路94。该电路94包括第一多路复用器106,其一个输入端连接到主列线92以接收时钟信号,另一输入端接收固定逻辑高电平(“1”)信号。如果多路复用器106选择了时钟信号,则把该信号分配给单元11相应的扇区14,但如果选择了固定信号,则不向该扇区14提供时钟信号。电路94还包括二分叉的信号路径(105和107),连到第二多路复用器108。第二多路复用器的一个输入直接来自第一多路复用器106的输出105,而另一输入首先通过反相器107。第二多路复用器108能使时钟信号的极性选择相应的扇区,因而可使逻辑单元11的同列中的其他扇区接收相反极性的时钟信号。最后,单元的一些扇区而不是最接近全局时钟线CK0-CK7的最上面的扇区组可以交替地接收同一列的相邻扇区内的单元的直接A输出110。
在图10中,全局复位(RESET)线114提供的对列线115进行复位的复位(RESET)信号同样可以具有其极性,由逻辑单元的扇区通过以与时钟电路94相同方式构成的复位极性选择和分配允许电路116确定。
参照图11,逻辑单元11组织成4×4的单元块15,在其边界13上,设置有一组总线网络的连接开关,称为“中继器”27。如前所述,总线网络包括在逻辑单元11的行之间运行的水平总线21组和在逻辑单元11的列之间运行的垂直总线19组。每组总线19或21包括限制到单元的一个块15的本地总线23和通过中继器27延伸通过单元的多个块的两条直快总线25。为简便起见,单元的每行和每列仅示出了一组三条总线23和25。然而,也与前面所提到的一样,如从图4中所看到的,单元的每行和每列通常有五组三条总线19和21。中继器27可以把本地总线23连接到直快总线25上。本地总线仅直接连接到本地单元11上。中继器27具有交错结构,其中,任一个中继器27都在本地总线23和该组内的两条直快总线25的仅一条之间提供可选择的连接,后面的中继器27连接到该组内的另一直快总线上。因此,每条直快总线25每隔8个单元11的行或列的与一个中继器27相遇,而不是每4行或列,而每条本地总线23每隔4个单元11的行或列与一个中继器27相遇。单元11的块15内的每条本地总线23在该块15的相反端上连接到其相应的每条直快总线25上。一种对中继器27布线以获得所要求的交错结构的方便方法是使中继器27的所有行或列能连接到各三条总线的组内的匹配直快总线上(例如,所有都连接到最左边或最上边的直快线上),使中继器27后续的行或列,四个远的逻辑单元等,都连接到该组内相对的匹配直快线上(例如,所有都连接到最右边或最下边的直快线上),等等。图11还示出了可以在总线的行和列相交的地方设置另外的开关81,以使信号在总线的行和列之间转90度。这些开关81把本地总线连接到其它本地总线,以及把直快总线连接到其它直快总线上。
参照图12,逻辑单元11的每块15的角上,在块15边界上的中继器27的行列交叉点上的空间上,是专用的功能元件83(DFE),它可以是存储器结构,例如随机存取存储器(RAM)块或者其它专用的或特殊的电路,例如多路复用器、移位寄存器、固定功能数字或模拟逻辑、微控制器、比较器以及模数或数模转换器等。由于角上的空间是由单元以及与它们相关的总线和中继器的块结构产生的,因此该空间内的存储器专用逻辑可以布置得较小或不消耗整个器件的硅面积。
每个专用功能元件83可以是RAM块或其它存储器结构(例如非易失性存储器),如图4和13所示,组织成32个4比特数据字,每块总计有128个比特。参照图13,每个RAM块83可以包含SRAM85,它具有五个同步地址输入a0-a4,通过一组触发寄存器87接收地址线860-864的地址信号,还具有四个双向数据端d0-d3。数据端d0-d3连接到各数据线890-893上,每根数据线再连接到一对输入和输出缓存器90和91上。输入缓存器90通过触发器93连接到数据线950-953上。输出缓存器91直接连接到数据线950-953上。通过触发寄存器97从写允许线96接收写允许信号WE。触发器97的寄存器输出Q通过第一分支连接到SRAM85的写允许输入端,通过第二分支99经各侧的分支990-993连接到每个数据端d0-d3的输入缓存器90的三态控制输入。还通过触发寄存器103从输出允许线102接收输出允许信号OE。寄存器103的输出104连接到与门101第一输入,而触发寄存器97输出的第三分支100连接到与门101的第二个补输入。与门101的输出105通过各侧分支1050-1053连接到每个数据端d0-d3的输出缓存器91的三态控制输入。
因此,为了把数据写入到SRAM85中,要在地址端90-94上从寄存器87的输出同步接收5比特地址,还在SRAM85的写允许端WE上通过第一分支98从触发寄存器97同步接收写允许信号。写允许信号也能通过侧面分支990-993允许输入缓存器90,通过与门101和侧面分支1050-1053禁止输出缓存器91。因此,在数据线950-953上接收到的数据比特通过输入缓存器90和数据线890-893传输到各数据端d0-d3,并在地址端a0-a4接收到的地址端口上写入到SRAM85。为了从SRAM85读取存储的数据,在地址端a0-a4以及与门101上分别通过寄存器87和103同步接收地址和输出允许信号OE。寄存器97传输的写允许信号WE为低电平,通过分支线990-993禁止输入缓存器90,通过分支线1050-1053允许输出缓存器91。把存储在接收到的地址上的数据通过数据端d0-d3输出到数据线950-953。另一方面,可以适当地改动RAM块83,使写允许和输出允许信号为低电平有效。
回到图4,图13的RAM块83可以连接到总线网络上,使五根地址线86中的每根连接到对应于单元11一列的五根垂直本地总线23不同的一根上,写允许和输出允许线96和102连接到对应于单元同一列的两垂直直快总线25上,四根数据线95中的每根连接到对应于邻接于该RAM块83的4×4单元组内的单元中的四行的每一行的不同水平本地总线上。也可以采用其它连接方法。
另一方面,不用图4和图13所示的结构,以如图14和图15所示的方式,可以把RAM块83连接到总线网络上。图14示出了八个4×4逻辑单元11块15以及一些在单元11之间运行和在块15之间的垂直和水平直快总线19和21。转动开关81把所选的垂直和水平总线19和21在它们交错的地方彼此连接。在逻辑单元11的每个块15的右下角是RAM块83。如图15所示,每个RAM块83可以是双端SRAM,具有写允许端WE、写地址端Ain和数据输入端Din,以对SRAM进行写操作,还具有读允许端OE、单独的读地址端Aout以及单独的数据输出端Dout,以从SRAM进行读数据。因此,读和写操作可以独立进行,甚至在单独的地址和数据线上同时进行。
回到图14,从总线网络或器件的外部端接收对应于要写入8个数据位的RAM内的一组位置的6比特写地址(WRITE ADDR.)。六个比特中的两个比特输入到传统的2至4比特译码器171。译码器171根据它接收到的四个可能的两比特输入值中的一些值激活其四个输出173中的一个,并且仅仅激活一个。四个译码器输出173中的每个输出连接到四个或门175之一的一个输入上。在四个或门175的另一输入上接收全局写允许信号WE。或门输出177连接到对应于块15中四列的每一列的垂直直快总线19和RAM块83上与它们对应于的列上。这些RAM块的写允许端WE连接到这些特定垂直直快总线上,以从相应的或门输出177接收经译码的写允许信号。因此,对于两个写地址比特的任一种组合,如果全局写允许信号WE被激活,则将激活RAM块83的四列中的一列。6比特地址中的其它四位写地址连接到水平直快总线21上,然后通过转换开关81到垂直总线19,而这些总线19连接到每个RAM块83的写地址端Ain。8条数据输入线Din(0)-Din(7)通过相邻于逻辑单元11每行的水平总线19连接到RAM块83的数据输入端Din上,每个RAM块83从Din(0)-Din(3)或Din(4)-Din(7)接收四个平行的数据输入信号。因此,需要两行RAM块把数据的写信号字节写到任一指定的地址上。
同样,对于读操作,向6比特读地址(READ ADDRESS)提供连接到另一个提供四个输出174的2至4比特译码器172的两个地址比特,以及通过水平直快总线21和转换开关81连接到垂直直快总线19以连到RAM块的读地址端的四个余下的地址比特。再者,向所有8个RAM块提供四个地址比特,但仅向一列RAM块提供从输入到译码器172的两个地址比特得到的读允许信号。8根数据输出线Dout(0)-Dout(7)通过水平直快总线连接到两行RAM块83内的数据输出端Dout
一种有用的结构在RAM块83的相邻列内的读和写地址端Ain和Aout之间提供了镜象对称。当构筑了双端RAM元件时,减少了约一半地址信号需要的垂直总线资源。请注意,在图14中,前两列RAM块共用同一根读地址线176。同样,最后两列RAM块共用同一读地址线178。第二和第三列RAM块共用同一根写地址线179。在有更大组的存储器块中,诸如具有8列或16列RAM块和3至8或4至16比特译码器的存储器块中,用垂直总线资源把一列逻辑块15的读地址线用作下一列逻辑块15的写地址线。
逻辑单元每块角上的专用功能元件也可以是特定的逻辑结构,例如多路复用器。例如可以把4×4多路复用器用相同方式连接到总线网络上,作为图14和15中看到的双端SRAM,用一个四比特操作数代替一组地址输入,用每二个四比特操作数代替另一组地址输入。多路复用器的8比特积输出代替RAM数据输出线上的两个四比特数据。
参照图16,阵列边缘上的逻辑单元11能以多种方法中的任一种方法连接到输入/输出(I/O)端17上。这里所示的一种方法把每个逻辑单元,例如单元112通过I/O线121-123连接到三个相邻的I/O端117-119,还把每个I/O端,例如端118通过I/O线122、124和125连接到三个相邻的逻辑单元111-113。这种方法通常在阵列的角上和在端口线的端点上有例外。因此,端点的端口131通过I/O线132和133仅连接到两个逻辑单元134和135上。角上的逻辑单元135通过I/O线132和136-138连接到四个I/O端口,即I/O端口一条线上的端口130和131以及端口的另一条线上的端口139和140。也可能有其它的结构。
图17详细示出了角上的连接方式。其它逻辑单元和I/O端口的连接是相似的。从图17中看到的特定逻辑单元135是阵列的右下角单元,即,图1最下一行和最右一列的单元。如图16所示,该特定单元135连接到最下一行端口内的两个最右边的I/O端口139和140,还连接到电路最右一行端口内的两个最下面的I/O端口130和131。图17的单元135与阵列中所有其它单元一样连接到一组相邻的垂直和水平总线19和21上,通过本地总线23和可重复的开关27直接连接到本地总线23或间接连接到直快总线25上。如图4和图6所示,单元135与5根水平和5根垂直本地总线23之间的连接可以通过一组双向数据总线29来实现。角上的单元135还如图2所示与最近的相邻单元(未示出)直接连接。然而,由于单元135的右边和下面没有相邻的单元,所以把四个未用的A和B直接输入(AE,BE,AS和BS)以及四个未用的A和B直接输出(两个A′的和两个B′的)用于与I/O端口以及与某些直快总线25的方便的连接。
尤其是,不与端部中继单元27相交的5根直快线25中的每根连接到一对5至1多路复用器141和143和一对五单元开关组145和147。同样,不与总线列结束处的端部中继单元27相交的5根垂直直快线25连接到多路复用器142和144以及开关组146和148。多路复用器141和142的输出连接到各个直接B输入BE和BS,还连接到输出信号路径153和154上,以连接到I/O端口上。多路复用器143和144的输出仅连接到输出信号路径155和156上,以连到I/O端口上。开关组145和146把单元135的直接B输出连接到没有被中继器27结束的10根水平和垂直直快线25上。开关组147和148把I/O端口的输入信号路径169和170连接到相同的10根水平和垂直直快线25上。输入信号路径169和170还连接到单元135的各个直接A输入AE和AS
右侧输入信号路径151、153和155都进入到图16中右边的端口线上最下面的两个端130和131和底部端口线上最右边的端口139。底部输出信号路径152、154和156都进入到图16中下部端口线上的最右边两个端139和140和右边端口线上最底下在端口131。因此,利用四种可用的端口连接可以把每个输入信号路径151-156有选择地连接到三个不同的端口中的任一个端口。信号路径155和156还可以用来向路径151-154与I/O端口之间的输出缓存器提供三态允许信号。输入信号路径169和170同样可以连接到I/O端口。导线161、163和165连接到图16中看到的各端口130、131和139,而导线162、164和166连接到图16中看到的各端口131、139和140上。输入选择多路复用器167和168都把所选的导线161-166连接到输入信号路径169和170。
参照图18和19,增加了I/O端口的数量,从图16的每个周边逻辑单元11一个端口17增加到图18和19所示的每对周边逻辑单元12三个端口17′,或者如果要求的话,甚至可以多达每个周边逻辑单元2个端口。在图18中,与非角上周边逻辑单元187-190直接面对的I/O端口180、181、183、184等可以连接到三个周边逻辑单元和图16所示的与它们相关的总线上。例如,I/O端口181可连接一周边逻辑单元187-189和下面参照图19将看到的相关的总线上。除了I/O端口182、185等之外,如图19所示,与周边逻辑单元非直接面对但分别相对于逻辑单元188和189与逻辑单元190和191之间空间设置的通过与它们相关的总线被间接地连接到两个最近的周边逻辑单元上。同样,每个非角上的周边逻辑单元187-190等可连接到四个I/O端口上。例如,单元188可连接到I/O端口180-183。角上的单元191等连接到六个I/O端口184-186和192-194,三个来自每条端口线。
如图19所示,I/O端口181连接到输入缓存器201上,其输出202分成三条输入线203-205,连到逻辑单元187-189的直接单元输入206-208上。缓存器的输出202还通过可编程开关209连接到双向信号线210-212上,以在与包括单元187-189的三行逻辑单元的每行相关的水平总线端部上连到中继开关单元27上。与I/O端口181关联的是输出多路复用器213。该多路复用器213连接到来自与逻辑单元187-189关联的三行水平总线21的双向信号线210-212,还连接到来自逻辑单元187-189的直接单元输出217-219的单元输出线214-216上。这些信号线210-212和217-219中每条都连接到多路复用器213的输入,多路复用器至多选择它们中的一个信号用于通过输出缓存器220传输到I/O端口181。与单元187和189直接面对的I/O端口180和183以与I/O端口181相同的方式连接。
附加I/O端口182位于I/O端口181和183之间。当I/O端口181和183设置成直接面对周连逻辑单元188和189时,端口182不与任一逻辑单元面对,而是设置成与单元188和189相关并含有与单元189相关的水平总线21的行之间的空间相对。I/O端口182连接到输入缓存器221上,其输出可通过可编程开关222连接到双向信号线223和224上。这些信号线223和224还通过输出多路复用器耦连到输出缓存器226上,这输出缓存器连接到I/O端口182。双向信号线223和224连接到信号线210上,使信号线210连到和来自与单元188和189关联的水平总线21的端部中继开关。
参照图20和21,对两个I/O端口230和231,示出了本发明的FPGA的输入/输出接口的又一个实施例。为了能容易地观看到多路信号路径,图20仅示出了与直接面对逻辑单元228的一个I/O端口231关联的路径。该图在FPGA器件的单元矩阵周边周围的每个单元227、228、229等上重复。同样,图21仅示出了与设置成面对两逻辑单元227和228之间位置的一个I/O端口230关联的路径。虽然通常这些第二I/O端口230仅在单元之间的每个其它可用位置上出现,但该图也在FPGA周边周围上重复。如从图19的第二I/O接口实施例中所看到的,这两种类型的I/O端口,即直接面对逻辑单元的端口和面对单元之间的端口通常在FPGA中都可以找到。
如在图20和21中所看到的,I/O端口231和230具有上拉晶体管232和252,其栅极受可用户配置的比特控制(上拉)。这些晶体管232和252的主要功能是向未用的端口提供逻辑“1”。当晶体管232或252导通时,它对电源VCC来说约等效于10K的电阻器。每个端口231和230分别具有一个与其连接的输入缓存器234和254,还分别具有一个也与其连接的输出缓存器233和253。输入缓存器234和254具有可选择的阈值电平,TTL或CMOS,它由可用户配置的比特(TTL/CMOS)确定。输出缓存器233和253具有可选择的驱动电平,受另一个可用户配置的比特(HALF/FULLDRIVE)控制。各驱动电平在它们的直流电流吸收能力方面不同。另一方面,各缓存器具有可控制的旋转速率,或快或慢,具有相同的全直流电流吸收能力。对速率并非关键问题的输出来说,推荐使用半驱动或慢旋转速率(其中之一降低了噪声和接地振动)。“开放集电极”配置比特可选择地允许或禁止输出缓存器233或253的有效上拉。多路复用器235和255从多个选项中选出三态输出缓存器233和253的允许信号(TRI-STATE)。这些选项通常包括缓存器要么总是驱动,要么从不驱动的固定逻辑电平“0”和“1”以及阵列中产生的多个动态信号。与周边逻辑单元228直接面对的主I/O端口231具有与三个可用的输出单元227、228和229关联的三个动态信号选择(CELL1,CELL2,CELL3),而位于单元间位置上的次级I/O端口230具有与其两个可用的输出单元227和228关联的两个动态信号选择(CELL1,CELL2)。动态信号可以在各单元本身内产生,或者可以由与这些单元相关的总线247、248或249提供。
现在仅参照图20,I/O端口231通过输出选择多路复用器237和输出缓存器233利用线241-244连接到与三个相邻周边逻辑单元227、228和229(分别标为CELL1、CELL2和CELL3)关联的总线247、248和249上。请注意,两个信号选项可从与面对端口231的单元228关联的总线248上得到,而仅一个信号选项从相邻总线247和249得到。输出选择多路复用器237还从逻辑单元228接收直接单元输出245。I/O端口231通过输入缓存器234连接到直接单元输入250,并连到逻辑单元228上,还通过用户可配置开关251连接到同一线路组241-244上,以连到总线247-249上。
现在参照图21,设置成面对单元227和228之间位置的端口230通过输出选择多路复用器257和输出缓存器253利用线路261和262连接到与单元227和228相关的总线247和248上。多路复用器257还从单元227和228接收直接对角单元输出263和264。I/O端口230通过输入缓存器254连接到单元227和228的直接对角单元输入265和266上,还通过用户可配置开关267连接到线路261和262上,以连到总线247和248上。
FPGA器件也可以用如图16-21所示不同的其它I/O接口结构。

Claims (36)

1、一种可配置的逻辑集成电路,包含:
一组输入和输出端,
多个非专用的可编程逻辑单元,组织成具有单元的单元块,在每个块中,沿块内的路径彼此通信,块沿跨越一个以上块的路径彼此通信,至少一些所述路径可耦连到所述端子上,以及
多个设置在所述块之间空间内的专用功能元件,每个专用功能元件与单元块相关联,并可连接到与该块相关的路径上。
2、如权利要求1所述的电路,其特征在于,所述逻辑单元布置成单元行列矩阵,所述电路形成现场可编程门阵列。
3、如权利要求2所述的电路,其特征在于,所述单元块同样以块的行和列栅格图形布置。
4、如权利要求3所述的电路,其持征在于,所述专用功能单元设置在所述块的角上提供的空间内。
5、如权利要求2所述的电路,其特征在于,所述路径形成总线网络,沿逻辑单元的行和列分布。
6、如权利要求5所述的电路,其特征在于,所述总线网络包括各块内部的本地总线组和跨过多个块的直快总线组,任一组内的本地总线可彼此连接,还可有选择地连接到与该组相关的块内的逻辑单元上,直快总线有选择地彼此连接和与本地总线连接,但不直接连接到任一逻辑单元上。
7、如权利要求6所述的电路,其特征在于,所述总线网络还包括沿所述总线间隔设置一组中继开关单元,并有选择地把直快总线彼此连接和连接到相关本地总线上,还使连接到其上的直快总线,跨过一个以上的逻辑单元块。
8、如权利要求7所述的电路,其特征在于,所述中继开关单元沿所述块之间的边界以行和列对齐,因而,在中继开关单元的所述行和列交叉的块的角上留出空间,所述专用功能元件位于中继开关单元的行和列交叉的所述空间内。
9、如权利要求1所述的电路,其特征在于,所述专用功能元件包含存储器结构。
10、如权利要求9所述的电路,其特征在于,所述存储器结构包含随机存取存储器(RAM)。
11、如权利要求9所述的电路,其特征在于,所述存储器结构包含非易失性存储器。
12、如权利要求9所述的电路,其特征在于,所述存储器结构包含双部分存储器,它具有单独的读和写操作的地址输入,还有进行所述读和写操作用的单独的数据总线。
13、如权利要求1所述的电路,其特征在于,所述专用功能元件包含专用的逻辑结构。
14、如权利要求13所述的电路,其特征在于,所述专用逻辑结构包含多路复用器。
15、一种现场可编程门阵列(FPGA),包含:
一组输入和输出端,
一组总线,至少一些所述总线耦连到所述端子上,所述总线组包括一组本地总线、一组直快总线和一组把本地总线连接到所述直快总线上的中继开关单元,以及
多个可编程逻辑单元,每个单元连接到所述本地总线组上,
其中每根直快总线连接到非连续中继开关单元上。
16、如权利要求15所述的电路,其特征在于,所述逻辑单元以单元的行列矩阵形式布置,并组织成N×N的单元块,其中所述中继开关单元按每N个逻辑单元均匀间隔。
17、如权利要求16所述的FPGA,其特征在于,N=4。
18、如权利要求15所述的FPGA,其特征在于,直快总线对以交错的方式连接到中继开关单元上,使连续的中继开关单元交替地连接到所述对的不同直快总线上。
19、一种现场可编程门阵列(FPGA),包含:
彼此互连并连接到电路的输入和输出端上的可编程逻辑单元行列矩阵,矩阵中的每个逻辑单元在与该逻辑单元相同的行或列上有多至四个直接相邻并正交的最邻近逻辑单元,沿包括该逻辑单元的两个在对角上的逻辑单元之一上有多至四个直接相邻的在对角上最邻近逻辑单元,每个逻辑单元具有到至少一个直接相邻的正交最邻近逻辑单元的直接单元至单元输入连接,并具有到至少一个直接相邻在对角上最邻近的逻辑单元的直接单元至单元输入连接,每个逻辑单元还具有到与其直接单元至单元输入连接同组的最邻近逻辑单元的直接单元至单元输出连接,每个逻辑单元具有选择所述正交直接单元至单元输入连接之一的第一装置和选择所述对角直接单元至单元输入连接之一的第二装置。
20、如权利要求19所述的FPGA,其特征在于,每个单元具有至所有与其最邻近的逻辑单元的直接单元至单元输入连接和直接单元至单元输出连接。
21、一种现场可编程门阵列(FPGA),包含:
可编程逻辑单元行列矩阵,矩阵中的每个逻辑在沿包括该逻辑单元的两个对角上的单元之一上具有多到四个直接相邻在对角上最邻近的逻辑单元,每个逻辑单元把直接单元至单元输入连接到每个与其在对角上最邻近的逻辑单元,每个逻辑单元具有仅从所述对角直接单元至单元连接中选择的装置,以及
包括水平和垂直总线的总线网络,沿单元的行和列分布,每个逻辑单元具有到至少一根水平总线和至少一根垂直总线的选择总线连接。
22、如权利要求21所述的FPGA,其特征在于,矩阵中的每个逻辑单元在与该逻辑单元相同的行或列上还具有多至四个直接相邻正交最邻近的逻辑单元,每个逻辑单元还具有至每个与其正交的最邻近逻辑单元的直接单元至单元输入连接和直接单元至单元输出连接。
23、一种现场可编程门阵列(FPGA),包含:
多个可编程逻辑单元,彼此互连并连接到电路的输入和输出端上,每个逻辑单元包括第一和第二查找表,每个查找表具有一组地址输入和输出,两查找表的地址输入从同一组单元输入中接收信号,每个逻辑单元还具有一个设置在其内的与逻辑门,一对门输入有选择地连接到两个单元输入上,门输出连接到两查找表的一个地址输入上,所述第一和第二查找表的输出有选择地连接到各第一和第二单元输出上,每个逻辑单元还包括一个输出多路复用器,该多路复用器有选择地连接到第三单元输出上,并具有第一和第二多路复用器输入,连接到各第一和第二查找表输出上,还具有有选择地连接到额外单元输入上控制输入。
24、如权利要求23所述的FPGA,其特征在于,所述单元输入和单元输出包括在对角相邻的逻辑单元之间的直接单元至单元连接,所述两个单元输入之一连接到所述“与”逻辑门的输入端上,作为所述直接单元至单元连接之一。
25、一种现场可编程门阵列(FPGA),包含:
多个可编程逻辑单元,它们彼此互连并连接到电路的输入和输出端上,每个逻辑单元包含:
(a)一对查找表,每个查找表具有N个地址输入和一个输出,其中N为大于1的整数,两个查找表的N个地址输入从同一单元输入中接收信号,
(b)响应于所述查找表对之一的额外单元输入和输出进行动态选择的装置,以有效地根据所述查找表对形成组合的(N+1)输入查找表,
(c)寄存至少一个所述查找表的输出的装置,以及
(d)一对输出选择装置,每个选择装置从(i)N输入查找表的输出,(ii)动态选出的组合(N+1)输入查找表的输出以及(iii)所述查找表之一的寄存输出中接收数据信号,每个选择装置向单元输出提供从接收到数据信号选出的一个信号。
26、如权利要求25所述的FPGA,其特征在于,还包含第三输出装置,以向连接到总线网络上的另一单元输出提供动态选出的组合(N+1)输入查找表的输出。
27、一种现场可编程门阵列,包含:
彼此相连并连接到电路的输入和输出端的可编程逻辑单元行列矩阵,每个逻辑单元包括至少一个响应于时钟信号的同步单元,
一组时钟线,包括多根接收不同时钟信号的主时钟线和多根彼此相关的并有选择地连接到逻辑单元特定列上的列时钟线,每个列时钟线有选择地连接到所述主时钟线中的任何线上,以从其接收选出的时钟信号,以及
每个列时钟线通过连接到该列时钟线上的多根扇区时钟线有选择地连接到其特定相关的逻辑单元列上,每个扇区时钟线连接到逻辑单元相关列内的逻辑单元子组上。
28、一种现场可编程门阵列(FPGA),包含:
彼此互连并连接到电路的输入和输出端上的可编程逻辑单元行列矩阵,每个逻辑单元包括至少一个响应于时钟信号的同步元件,以及
一组时钟线,包括至少一根接收时钟信号的主时钟线、连接到所述至少一根主时钟线并与逻辑单元特定列相关的多根列时钟线,以及用于每根列时钟线的多根连接到该列时钟线的扇区时钟线,每根扇区线连接到一列逻辑单元子集上并提供时钟信号。
29、如权利要求28所述的FPGA,其特征在于,沿每个扇区时钟线设置有选择地反转所述时钟信号的装置。
30、一种现场可编程门阵列(FPGA),包含:
彼此互连并连接到电路的输入和输出端上的可编程逻辑单元的行列矩阵,每个逻辑单元其内包括至少一个寄存元件,它具有响应一置位/复位信号置位/复位能力,以及
一组控制线,包括接收所述置位/复位控制信号的一根全局置位/复位线、多根连接到所述全局置位/复位线并每个与逻辑单元的特定列相关联的列置位/复位线以及用于每根列置位/复位线的连接到该列置位/复位线上的多根扇区置位/复位线,每根扇区设置/复位线连接到逻辑单元关联列内的逻辑单元子组上,并向它提供所述置位/复位控制信号。
31、如权利要求30所述的FPGA,其特征在于,沿每个扇区置位/复位线设置有选择地反转所述置位/复位控制信号的装置。
32、如权利要求30所述的FPGA,其特征在于,每个逻辑单元具有有选择地把所述置位/复位控制信号指定为置位信号或复位信号的装置。
33、一种现场可编程门阵列(FPGA),包含:
多个输入/输出端,
多个可编程逻辑单元,它们彼此互连并连接到所述输入/输出端上,
把多个所述输入/输出端中的每个端子通过直接连接连到一个以上逻辑单元上的装置,以及
把多个所述逻辑单元中的每个单元通过直接连接连到一个以上输入/输出端的装置。
34、如权利要求33所述的FPGA,其特征在于,多个所述输入/输出端中的每个端子不通过单元连接到总线网络上。
35、一种现场可编程门阵列(FPGA),包含:
彼此互连的可编程逻辑单元的行列矩阵,一组连接到矩阵最外层逻辑单元的输入/输出端,每个输入/输出端直接连接到直接相邻的逻辑单元和两对角相邻的逻辑单元的单元输入上,矩阵中至少一些所述最外层逻辑单元连接到一个以上包括直接相邻端的输入/输出端和至少一个对角相邻的端子上。
36、如权利要求35所述的FPGA,其特征在于,所述逻辑单元通过布置在逻辑单元的行和列之间的总线网络连接,至少一些所述输入/输出端连接到所述总线网络上。
CN97190570A 1996-05-20 1997-05-09 具有分布ram的现场可编程门陈列 Expired - Fee Related CN1105970C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/650,477 1996-05-20
US08/650,477 US5894565A (en) 1996-05-20 1996-05-20 Field programmable gate array with distributed RAM and increased cell utilization

Publications (2)

Publication Number Publication Date
CN1194702A true CN1194702A (zh) 1998-09-30
CN1105970C CN1105970C (zh) 2003-04-16

Family

ID=24609080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97190570A Expired - Fee Related CN1105970C (zh) 1996-05-20 1997-05-09 具有分布ram的现场可编程门陈列

Country Status (8)

Country Link
US (5) US5894565A (zh)
EP (5) EP1150431B1 (zh)
JP (1) JPH11510038A (zh)
KR (1) KR100429063B1 (zh)
CN (1) CN1105970C (zh)
DE (5) DE69711159T2 (zh)
HK (1) HK1011227A1 (zh)
WO (1) WO1997044730A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495696C (zh) * 2005-11-17 2009-06-03 中国科学院电子学研究所 可编程逻辑器件的对称型连线通道
CN101310443B (zh) * 2005-11-28 2012-04-18 太阳诱电株式会社 半导体器件
CN102855932A (zh) * 2011-06-27 2013-01-02 三星电子株式会社 可重新配置的逻辑器件
CN103259528A (zh) * 2012-02-17 2013-08-21 京微雅格(北京)科技有限公司 一种异构可编程逻辑结构的集成电路
CN103777136A (zh) * 2012-10-24 2014-05-07 中国科学院微电子研究所 一种现场可编程门阵列的配置方法
CN104678815A (zh) * 2013-11-27 2015-06-03 京微雅格(北京)科技有限公司 Fpga芯片的接口结构及配置方法
CN108365843A (zh) * 2017-01-26 2018-08-03 株式会社东芝 集成电路和电子设备
CN108427829A (zh) * 2018-02-09 2018-08-21 京微齐力(北京)科技有限公司 一种具有公共线结构的fpga

Families Citing this family (196)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943242A (en) 1995-11-17 1999-08-24 Pact Gmbh Dynamically reconfigurable data processing system
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
US5933023A (en) * 1996-09-03 1999-08-03 Xilinx, Inc. FPGA architecture having RAM blocks with programmable word length and width and dedicated address and data lines
US6034547A (en) * 1996-09-04 2000-03-07 Advantage Logic, Inc. Method and apparatus for universal program controlled bus
US6624658B2 (en) * 1999-02-04 2003-09-23 Advantage Logic, Inc. Method and apparatus for universal program controlled bus architecture
AU1546797A (en) * 1996-10-10 1998-05-05 Semiconductores Investigacion Y Diseno, S.A. - (Sidsa) Process for the prototyping of mixed signal applications and field programmable system on a chip for applying said process
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US6338106B1 (en) 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
ATE243390T1 (de) * 1996-12-27 2003-07-15 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.)
DE19654846A1 (de) 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
DE19704728A1 (de) 1997-02-08 1998-08-13 Pact Inf Tech Gmbh Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de) * 1997-02-11 1998-09-24 Pact Inf Tech Gmbh Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
US6160419A (en) * 1997-11-03 2000-12-12 Altera Corporation Programmable logic architecture incorporating a content addressable embedded array block
US6262595B1 (en) * 1997-06-10 2001-07-17 Altera Corporation High-speed programmable interconnect
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
US9092595B2 (en) 1997-10-08 2015-07-28 Pact Xpp Technologies Ag Multiprocessor having associated RAM units
US6185724B1 (en) * 1997-12-02 2001-02-06 Xilinx, Inc. Template-based simulated annealing move-set that improves FPGA architectural feature utilization
US6069490A (en) * 1997-12-02 2000-05-30 Xilinx, Inc. Routing architecture using a direct connect routing mesh
US6202194B1 (en) * 1997-12-11 2001-03-13 Intrinsity, Inc. Method and apparatus for routing 1 of N signals
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6034545A (en) * 1998-01-30 2000-03-07 Arm Limited Macrocell for data processing circuit
US6198304B1 (en) * 1998-02-23 2001-03-06 Xilinx, Inc. Programmable logic device
DE19807872A1 (de) 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6020756A (en) * 1998-03-03 2000-02-01 Xilinx, Inc. Multiplexer enhanced configurable logic block
DE19810294A1 (de) * 1998-03-10 1999-09-16 Bayerische Motoren Werke Ag Datenbus für mehrere Teilnehmer
US7146441B1 (en) * 1998-03-16 2006-12-05 Actel Corporation SRAM bus architecture and interconnect to an FPGA
US7389487B1 (en) 1998-04-28 2008-06-17 Actel Corporation Dedicated interface architecture for a hybrid integrated circuit
US6242814B1 (en) * 1998-07-31 2001-06-05 Lsi Logic Corporation Universal I/O pad structure for in-line or staggered wire bonding or arrayed flip-chip assembly
US6204686B1 (en) * 1998-12-16 2001-03-20 Vantis Corporation Methods for configuring FPGA's having variable grain blocks and shared logic for providing symmetric routing of result output to differently-directed and tristateable interconnect resources
JP3616518B2 (ja) 1999-02-10 2005-02-02 日本電気株式会社 プログラマブルデバイス
US7003660B2 (en) 2000-06-13 2006-02-21 Pact Xpp Technologies Ag Pipeline configuration unit protocols and communication
US6407576B1 (en) 1999-03-04 2002-06-18 Altera Corporation Interconnection and input/output resources for programmable logic integrated circuit devices
JP4206203B2 (ja) * 1999-03-04 2009-01-07 アルテラ コーポレイション プログラマブルロジック集積回路デバイスの相互接続ならびに入力/出力リソース
CA2372364A1 (en) * 1999-05-07 2000-11-16 Stephen L. Wasson Apparatus and method for programmable datapath arithmetic arrays
US6150841A (en) * 1999-06-06 2000-11-21 Lattice Semiconductor Corporation Enhanced macrocell module for high density CPLD architectures
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US6360348B1 (en) * 1999-08-27 2002-03-19 Motorola, Inc. Method and apparatus for coding and decoding data
US6215327B1 (en) * 1999-09-01 2001-04-10 The United States Of America As Represented By The Secretary Of The Air Force Molecular field programmable gate array
US6438737B1 (en) * 2000-02-15 2002-08-20 Intel Corporation Reconfigurable logic for a computer
US6256253B1 (en) * 2000-02-18 2001-07-03 Infineon Technologies North America Corp. Memory device with support for unaligned access
US6769109B2 (en) * 2000-02-25 2004-07-27 Lightspeed Semiconductor Corporation Programmable logic array embedded in mask-programmed ASIC
US6694491B1 (en) 2000-02-25 2004-02-17 Lightspeed Semiconductor Corporation Programmable logic array embedded in mask-programmed ASIC
US20010025363A1 (en) * 2000-03-24 2001-09-27 Cary Ussery Designer configurable multi-processor system
US6661812B1 (en) * 2000-04-05 2003-12-09 Triscend Corporation Bidirectional bus for use as an interconnect routing resource
WO2001093426A1 (en) * 2000-05-30 2001-12-06 Koninklijke Philips Electronics N.V. Integrated circuit with a matrix of programmable logic cells
US6294927B1 (en) * 2000-06-16 2001-09-25 Chip Express (Israel) Ltd Configurable cell for customizable logic array device
US6476636B1 (en) * 2000-09-02 2002-11-05 Actel Corporation Tileable field-programmable gate array architecture
US7055125B2 (en) * 2000-09-08 2006-05-30 Lightspeed Semiconductor Corp. Depopulated programmable logic array
JP2004512716A (ja) * 2000-10-02 2004-04-22 アルテラ・コーポレイション 専用プロセッサ装置を含むプログラマブルロジック集積回路装置
US20040015899A1 (en) * 2000-10-06 2004-01-22 Frank May Method for processing data
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US6981090B1 (en) * 2000-10-26 2005-12-27 Cypress Semiconductor Corporation Multiple use of microcontroller pad
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) * 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6892310B1 (en) * 2000-10-26 2005-05-10 Cypress Semiconductor Corporation Method for efficient supply of power to a microcontroller
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6990555B2 (en) * 2001-01-09 2006-01-24 Pact Xpp Technologies Ag Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US20090300262A1 (en) * 2001-03-05 2009-12-03 Martin Vorbach Methods and devices for treating and/or processing data
US20090210653A1 (en) * 2001-03-05 2009-08-20 Pact Xpp Technologies Ag Method and device for treating and processing data
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US7444531B2 (en) * 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
WO2002103532A2 (de) * 2001-06-20 2002-12-27 Pact Xpp Technologies Ag Verfahren zur bearbeitung von daten
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
SE0102199D0 (sv) * 2001-06-20 2001-06-20 Ericsson Telefon Ab L M Upgrading field programmable gate arrays over datacommunication networks
DE10139610A1 (de) 2001-08-11 2003-03-06 Daimler Chrysler Ag Universelle Rechnerarchitektur
US7996827B2 (en) * 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7139292B1 (en) * 2001-08-31 2006-11-21 Cypress Semiconductor Corp. Configurable matrix architecture
US7434191B2 (en) * 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) * 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US6839886B2 (en) * 2001-09-24 2005-01-04 Broadcom Corporation Method and apparatus for facilitating circuit design
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
DE10159480B4 (de) * 2001-12-04 2006-05-24 Daimlerchrysler Ag Steuervorrichtung
US7577822B2 (en) * 2001-12-14 2009-08-18 Pact Xpp Technologies Ag Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
WO2003071418A2 (en) * 2002-01-18 2003-08-28 Pact Xpp Technologies Ag Method and device for partitioning large computer programs
EP1483682A2 (de) 2002-01-19 2004-12-08 PACT XPP Technologies AG Reconfigurierbarer prozessor
US8127061B2 (en) * 2002-02-18 2012-02-28 Martin Vorbach Bus systems and reconfiguration methods
AU2003223892A1 (en) * 2002-03-21 2003-10-08 Pact Xpp Technologies Ag Method and device for data processing
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US20070011433A1 (en) * 2003-04-04 2007-01-11 Martin Vorbach Method and device for data processing
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US6970967B2 (en) * 2002-06-18 2005-11-29 Texas Instruments Incorporated Crossbar circuit having a plurality of repeaters forming different repeater arrangements
AU2003252157A1 (en) * 2002-07-23 2004-02-09 Gatechange Technologies, Inc. Interconnect structure for electrical devices
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
US7782398B2 (en) * 2002-09-04 2010-08-24 Chan Thomas M Display processor integrated circuit with on-chip programmable logic for implementing custom enhancement functions
US7480010B2 (en) * 2002-09-04 2009-01-20 Denace Enterprise Co., L.L.C. Customizable ASIC with substantially non-customizable portion that supplies pixel data to a mask-programmable portion in multiple color space formats
US7136108B2 (en) * 2002-09-04 2006-11-14 Darien K. Wallace Segment buffer loading in a deinterlacer
US7202908B2 (en) * 2002-09-04 2007-04-10 Darien K. Wallace Deinterlacer using both low angle and high angle spatial interpolation
AU2003289844A1 (en) * 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US6774670B1 (en) * 2002-12-30 2004-08-10 Actel Corporation Intra-tile buffer system for a field programmable gate array
US6996785B1 (en) 2003-04-25 2006-02-07 Universal Network Machines, Inc . On-chip packet-based interconnections using repeaters/routers
US6882555B2 (en) * 2003-06-18 2005-04-19 Lattice Semiconductor Corporation Bi-directional buffering for memory data lines
WO2005008893A1 (ja) * 2003-07-16 2005-01-27 Innotech Corporation 半導体集積回路
WO2006082091A2 (en) * 2005-02-07 2006-08-10 Pact Xpp Technologies Ag Low latency massive parallel data processing device
EP1676208A2 (en) * 2003-08-28 2006-07-05 PACT XPP Technologies AG Data processing device and method
US7306977B1 (en) 2003-08-29 2007-12-11 Xilinx, Inc. Method and apparatus for facilitating signal routing within a programmable logic device
DE102004056322B4 (de) * 2003-11-21 2012-07-19 Infineon Technologies Ag Logik-Grundzelle und Logik-Grundzellen-Anordnung
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7167022B1 (en) 2004-03-25 2007-01-23 Altera Corporation Omnibus logic element including look up table based logic elements
WO2011061099A1 (en) * 2004-04-02 2011-05-26 Panasonic Corporation Reset/load and signal distribution network
DE102004021047B3 (de) * 2004-04-29 2005-10-06 Koenig & Bauer Ag Verfahren zum Vergleich eines Bildes mit mindestens einem Referenzbild
US7243329B2 (en) 2004-07-02 2007-07-10 Altera Corporation Application-specific integrated circuit equivalents of programmable logic and associated methods
JP2006053687A (ja) * 2004-08-10 2006-02-23 Sony Corp 演算装置
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
KR100718216B1 (ko) * 2004-12-13 2007-05-15 가부시끼가이샤 도시바 반도체 장치, 패턴 레이아웃 작성 방법, 노광 마스크
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
JP2006285572A (ja) * 2005-03-31 2006-10-19 Toshiba Corp 半導体集積回路のレイアウト方法
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7571395B1 (en) * 2005-08-03 2009-08-04 Xilinx, Inc. Generation of a circuit design from a command language specification of blocks in matrix form
US7571406B2 (en) * 2005-08-04 2009-08-04 Freescale Semiconductor, Inc. Clock tree adjustable buffer
US7281942B2 (en) * 2005-11-18 2007-10-16 Ideal Industries, Inc. Releasable wire connector
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US7352602B2 (en) 2005-12-30 2008-04-01 Micron Technology, Inc. Configurable inputs and outputs for memory stacking system and method
US8250503B2 (en) * 2006-01-18 2012-08-21 Martin Vorbach Hardware definition method including determining whether to implement a function as hardware or software
US8352242B2 (en) * 2006-02-21 2013-01-08 Mentor Graphics Corporation Communication scheme between programmable sub-cores in an emulation environment
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7702616B1 (en) 2006-06-21 2010-04-20 Actuate Corporation Methods and apparatus for processing a query joining tables stored at different data sources
US7720838B1 (en) * 2006-06-21 2010-05-18 Actuate Corporation Methods and apparatus for joining tables from different data sources
CN101496283A (zh) * 2006-07-27 2009-07-29 松下电器产业株式会社 半导体集成电路、程序变换装置以及映射装置
US8018248B2 (en) * 2006-09-21 2011-09-13 Quicklogic Corporation Adjustable interface buffer circuit between a programmable logic device and a dedicated device
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US7535254B1 (en) 2007-05-14 2009-05-19 Xilinx, Inc. Reconfiguration of a hard macro via configuration registers
US7557607B1 (en) * 2007-05-14 2009-07-07 Xilinx, Inc. Interface device reset
US7702840B1 (en) 2007-05-14 2010-04-20 Xilinx, Inc. Interface device lane configuration
US7573295B1 (en) 2007-05-14 2009-08-11 Xilinx, Inc. Hard macro-to-user logic interface
US7626418B1 (en) 2007-05-14 2009-12-01 Xilinx, Inc. Configurable interface
US7979228B2 (en) 2007-07-20 2011-07-12 The Regents Of The University Of Michigan High resolution time measurement in a FPGA
US7941777B1 (en) * 2007-08-08 2011-05-10 Xilinx, Inc. Generating a module interface for partial reconfiguration design flows
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8131909B1 (en) * 2007-09-19 2012-03-06 Agate Logic, Inc. System and method of signal processing engines with programmable logic fabric
US7970979B1 (en) * 2007-09-19 2011-06-28 Agate Logic, Inc. System and method of configurable bus-based dedicated connection circuits
US7759972B1 (en) * 2007-10-31 2010-07-20 Altera Corporation Integrated circuit architectures with heterogeneous high-speed serial interface circuitry
CN101903798B (zh) 2007-11-02 2012-12-12 华盛顿大学 用于正电子发射断层摄影术的数据采集
GB0802245D0 (en) * 2008-02-07 2008-03-12 Univ Durham Self-repairing electronic data systems
JP5260077B2 (ja) * 2008-02-15 2013-08-14 太陽誘電株式会社 プログラマブル論理デバイスおよびその構築方法およびその使用方法
US8217700B1 (en) * 2008-07-01 2012-07-10 Cypress Semiconductor Corporation Multifunction input/output circuit
US8441298B1 (en) 2008-07-01 2013-05-14 Cypress Semiconductor Corporation Analog bus sharing using transmission gates
FR2933826B1 (fr) * 2008-07-09 2011-11-18 Univ Paris Curie Reseau logique programmable, commutateur d'interconnexion et unite logique pour un tel reseau
US20100057685A1 (en) * 2008-09-02 2010-03-04 Qimonda Ag Information storage and retrieval system
KR101515568B1 (ko) * 2009-02-03 2015-04-28 삼성전자 주식회사 재구성 가능 어레이의 스케줄러, 스케줄링 방법 및 이를 이용한 컴퓨팅 장치
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8487655B1 (en) 2009-05-05 2013-07-16 Cypress Semiconductor Corporation Combined analog architecture and functionality in a mixed-signal array
US8179161B1 (en) 2009-05-05 2012-05-15 Cypress Semiconductor Corporation Programmable input/output circuit
US9612987B2 (en) * 2009-05-09 2017-04-04 Cypress Semiconductor Corporation Dynamically reconfigurable analog routing circuits and methods for system on a chip
US8085603B2 (en) * 2009-09-04 2011-12-27 Integrated Device Technology, Inc. Method and apparatus for compression of configuration bitstream of field programmable logic
FR2954023B1 (fr) 2009-12-14 2012-02-10 Lyon Ecole Centrale Matrice interconnectee de cellules logiques reconfigurables avec une topologie d'interconnexion croisee
US8120382B2 (en) * 2010-03-05 2012-02-21 Xilinx, Inc. Programmable integrated circuit with mirrored interconnect structure
US8380911B2 (en) 2010-09-13 2013-02-19 Lsi Corporation Peripheral device, program and methods for responding to a warm reboot condition
US8913601B1 (en) * 2010-10-01 2014-12-16 Xilinx, Inc. Programmable integrated circuit and method of asynchronously routing data in a circuit block of an integrated circuit
US8930872B2 (en) * 2012-02-17 2015-01-06 Netronome Systems, Incorporated Staggered island structure in an island-based network flow processor
US8608490B2 (en) * 2012-03-21 2013-12-17 Ideal Industries, Inc. Modular wiring system
WO2013147831A1 (en) 2012-03-30 2013-10-03 Intel Corporation Spin transfer torque based memory elements for programmable device arrays
US8902902B2 (en) 2012-07-18 2014-12-02 Netronome Systems, Incorporated Recursive lookup with a hardware trie structure that has no sequential logic elements
US8645892B1 (en) * 2013-01-07 2014-02-04 Freescale Semiconductor, Inc. Configurable circuit and mesh structure for integrated circuit
JP2016513363A (ja) * 2013-02-08 2016-05-12 ザ トラスティーズ オブ プリンストン ユニヴァーシティ ファイングレイン構造の動的に再構成可能なfpgaアーキテクチャ
FR3003969B1 (fr) 2013-03-28 2015-04-17 Nanoxplore Dispositif d'interconnexion programmable
CN105191139B (zh) * 2013-04-02 2018-12-07 太阳诱电株式会社 可重构逻辑器件
US20170031621A1 (en) * 2013-12-23 2017-02-02 Aaron Brady Grid Processing Electronic Memory
US9378326B2 (en) * 2014-09-09 2016-06-28 International Business Machines Corporation Critical region identification
US20160358653A1 (en) * 2015-06-08 2016-12-08 Altera Corporation Hardware programmable device with integrated search engine
US10116311B2 (en) 2016-08-03 2018-10-30 Silicon Mobility Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment
US10454480B2 (en) 2016-08-03 2019-10-22 Silicon Mobility Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment
US10797706B2 (en) * 2016-12-27 2020-10-06 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US11043823B2 (en) * 2017-04-06 2021-06-22 Tesla, Inc. System and method for facilitating conditioning and testing of rechargeable battery cells

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US34363A (en) * 1862-02-11 Improvement in machinery for cleaning cotton
USRE34363E (en) * 1984-03-12 1993-08-31 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
CA1234224A (en) * 1985-05-28 1988-03-15 Boleslav Sykora Computer memory management system
DE3630835C2 (de) * 1985-09-11 1995-03-16 Pilkington Micro Electronics Integrierte Halbleiterkreisanordnungen und Systeme
US4700187A (en) * 1985-12-02 1987-10-13 Concurrent Logic, Inc. Programmable, asynchronous logic cell and array
US4758745B1 (en) * 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
US4918440A (en) * 1986-11-07 1990-04-17 Furtek Frederick C Programmable logic cell and array
US5019736A (en) * 1986-11-07 1991-05-28 Concurrent Logic, Inc. Programmable logic cell and array
US5377123A (en) * 1992-06-08 1994-12-27 Hyman; Edward Programmable logic device
US5253363A (en) * 1988-03-15 1993-10-12 Edward Hyman Method and apparatus for compiling and implementing state-machine states and outputs for a universal cellular sequential local array
US5343406A (en) * 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5255203A (en) * 1989-08-15 1993-10-19 Advanced Micro Devices, Inc. Interconnect structure for programmable logic device
US5185706A (en) * 1989-08-15 1993-02-09 Advanced Micro Devices, Inc. Programmable gate array with logic cells having configurable output enable
US5260881A (en) * 1989-10-30 1993-11-09 Advanced Micro Devices, Inc. Programmable gate array with improved configurable logic block
US5457409A (en) * 1992-08-03 1995-10-10 Advanced Micro Devices, Inc. Architecture of a multiple array high density programmable logic device with a plurality of programmable switch matrices
US5231588A (en) * 1989-08-15 1993-07-27 Advanced Micro Devices, Inc. Programmable gate array with logic cells having symmetrical input/output structures
US5295090A (en) * 1992-05-10 1994-03-15 Xilinx, Inc. Logic structure and circuit for fast carry
US5144166A (en) * 1990-11-02 1992-09-01 Concurrent Logic, Inc. Programmable logic cell and array
US5245227A (en) * 1990-11-02 1993-09-14 Atmel Corporation Versatile programmable logic cell for use in configurable logic arrays
US5224056A (en) * 1991-10-30 1993-06-29 Xilinx, Inc. Logic placement using positionally asymmetrical partitioning algorithm
US5313119A (en) * 1991-03-18 1994-05-17 Crosspoint Solutions, Inc. Field programmable gate array
US5204556A (en) * 1991-05-06 1993-04-20 Lattice Semiconductor Corporation Programmable interconnect structure for logic blocks
US5317209A (en) * 1991-08-29 1994-05-31 National Semiconductor Corporation Dynamic three-state bussing capability in a configurable logic array
US5260610A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic element interconnections for programmable logic array integrated circuits
US5513124A (en) * 1991-10-30 1996-04-30 Xilinx, Inc. Logic placement using positionally asymmetrical partitioning method
US5296090A (en) * 1991-12-03 1994-03-22 New England Medical Center Hospitals, Inc. High resolution track etch autoradiography
US5367209A (en) * 1992-01-07 1994-11-22 Hauck Scott A Field programmable gate array for synchronous and asynchronous operation
US5208491A (en) * 1992-01-07 1993-05-04 Washington Research Foundation Field programmable gate array
US5258668A (en) * 1992-05-08 1993-11-02 Altera Corporation Programmable logic array integrated circuits with cascade connections between logic modules
US5254886A (en) * 1992-06-19 1993-10-19 Actel Corporation Clock distribution scheme for user-programmable logic array architecture
US5365125A (en) * 1992-07-23 1994-11-15 Xilinx, Inc. Logic cell for field programmable gate array having optional internal feedback and optional cascade
US5386154A (en) * 1992-07-23 1995-01-31 Xilinx, Inc. Compact logic cell for field programmable gate array chip
US5317698A (en) * 1992-08-18 1994-05-31 Actel Corporation FPGA architecture including direct logic function circuit to I/O interconnections
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5384497A (en) * 1992-11-04 1995-01-24 At&T Corp. Low-skew signal routing in a programmable array
US5414377A (en) * 1992-12-21 1995-05-09 Xilinx, Inc. Logic block with look-up table for configuration and memory
US5424589A (en) * 1993-02-12 1995-06-13 The Board Of Trustees Of The Leland Stanford Junior University Electrically programmable inter-chip interconnect architecture
US5302865A (en) * 1993-02-16 1994-04-12 Intel Corporation High-speed comparator logic for wide compares in programmable logic devices
GB9303084D0 (en) * 1993-02-16 1993-03-31 Inmos Ltd Programmable logic circuit
US5311080A (en) * 1993-03-26 1994-05-10 At&T Bell Laboratories Field programmable gate array with direct input/output connection
US5352940A (en) * 1993-05-27 1994-10-04 Altera Corporation Ram convertible look-up table based macrocell for PLDs
US5457410A (en) * 1993-08-03 1995-10-10 Btr, Inc. Architecture and interconnect scheme for programmable logic circuits
US5386156A (en) * 1993-08-27 1995-01-31 At&T Corp. Programmable function unit with programmable fast ripple logic
US5349250A (en) * 1993-09-02 1994-09-20 Xilinx, Inc. Logic structure and circuit for fast carry
US5455525A (en) * 1993-12-06 1995-10-03 Intelligent Logic Systems, Inc. Hierarchically-structured programmable logic array and system for interconnecting logic elements in the logic array
US5425039A (en) * 1994-02-24 1995-06-13 Micron Optics, Inc. Single-frequency fiber Fabry-Perot micro lasers
WO1995025348A1 (en) * 1994-03-15 1995-09-21 National Semiconductor Corporation Logical three-dimensional interconnections between integrated circuit chips using a two-dimensional multi-chip module package
US5426379A (en) * 1994-07-29 1995-06-20 Xilinx, Inc. Field programmable gate array with built-in bitstream data expansion
US5442306A (en) * 1994-09-09 1995-08-15 At&T Corp. Field programmable gate array using look-up tables, multiplexers and decoders
US5537057A (en) * 1995-02-14 1996-07-16 Altera Corporation Programmable logic array device with grouped logic regions and three types of conductors
US5671432A (en) * 1995-06-02 1997-09-23 International Business Machines Corporation Programmable array I/O-routing resource
US5732246A (en) * 1995-06-07 1998-03-24 International Business Machines Corporation Programmable array interconnect latch
US5692147A (en) * 1995-06-07 1997-11-25 International Business Machines Corporation Memory mapping method and apparatus to fold sparsely populated structures into densely populated memory columns or rows by selectively transposing X and Y address portions, and programmable gate array applications thereof
US5559450A (en) * 1995-07-27 1996-09-24 Lucent Technologies Inc. Field programmable gate array with multi-port RAM
US5712579A (en) * 1995-10-16 1998-01-27 Xilinx, Inc. Deskewed clock distribution network with edge clock
US5841295A (en) * 1996-02-09 1998-11-24 Hewlett-Packard Company Hybrid programmable logic device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495696C (zh) * 2005-11-17 2009-06-03 中国科学院电子学研究所 可编程逻辑器件的对称型连线通道
CN101310443B (zh) * 2005-11-28 2012-04-18 太阳诱电株式会社 半导体器件
CN102855932A (zh) * 2011-06-27 2013-01-02 三星电子株式会社 可重新配置的逻辑器件
CN103259528A (zh) * 2012-02-17 2013-08-21 京微雅格(北京)科技有限公司 一种异构可编程逻辑结构的集成电路
CN103777136A (zh) * 2012-10-24 2014-05-07 中国科学院微电子研究所 一种现场可编程门阵列的配置方法
CN104678815A (zh) * 2013-11-27 2015-06-03 京微雅格(北京)科技有限公司 Fpga芯片的接口结构及配置方法
CN108365843A (zh) * 2017-01-26 2018-08-03 株式会社东芝 集成电路和电子设备
CN108427829A (zh) * 2018-02-09 2018-08-21 京微齐力(北京)科技有限公司 一种具有公共线结构的fpga

Also Published As

Publication number Publication date
DE69721343T2 (de) 2004-02-19
EP1143336B1 (en) 2003-04-23
DE69730254D1 (de) 2004-09-16
EP1143336A1 (en) 2001-10-10
HK1011227A1 (en) 1999-07-09
US6014509A (en) 2000-01-11
EP0846289A1 (en) 1998-06-10
EP1158402B1 (en) 2003-04-23
US5894565A (en) 1999-04-13
EP1158403B1 (en) 2003-04-23
DE69721342T2 (de) 2004-02-05
EP1150431B1 (en) 2004-08-11
DE69721344T2 (de) 2004-02-19
US6026227A (en) 2000-02-15
US6292021B1 (en) 2001-09-18
DE69711159T2 (de) 2002-11-07
EP1158403A1 (en) 2001-11-28
EP1150431A1 (en) 2001-10-31
KR100429063B1 (ko) 2004-08-04
JPH11510038A (ja) 1999-08-31
CN1105970C (zh) 2003-04-16
DE69711159D1 (de) 2002-04-25
EP1158402A1 (en) 2001-11-28
DE69721342D1 (de) 2003-05-28
DE69721343D1 (de) 2003-05-28
WO1997044730A1 (en) 1997-11-27
KR19990029032A (ko) 1999-04-15
EP0846289B1 (en) 2002-03-20
EP0846289A4 (en) 2000-11-22
DE69721344D1 (de) 2003-05-28
US6167559A (en) 2000-12-26
DE69730254T2 (de) 2005-08-04

Similar Documents

Publication Publication Date Title
CN1105970C (zh) 具有分布ram的现场可编程门陈列
JP3480784B2 (ja) 改善されたメモリ割り当てを行うプログラマブル・ゲート・アレイ
CN1048127C (zh) 可编程逻辑电路的体系结构和互连方式
JP3434292B2 (ja) プログラマブル論理セル及びその配列体
US6975137B1 (en) Programmable logic devices with integrated standard-cell logic blocks
US6492834B1 (en) Programmable logic device with highly routable interconnect
US6154055A (en) Programmable logic array integrated circuit devices
CN1188569A (zh) 可缩放的多层互联结构
CN1189258A (zh) 用于可缩放多层互联结构的平面布局图
JPH09186581A (ja) フィールド・プログラマブル・メモリ・アレイ
JP3576837B2 (ja) プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
US5963049A (en) Programmable logic array integrated circuit architectures
US5463328A (en) Expanded programmable logic architecture
US7432733B1 (en) Multi-level routing architecture in a field programmable gate array having transmitters and receivers
US6320412B1 (en) Architecture and interconnect for programmable logic circuits
GB2333874A (en) Programmable logic array

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
CI01 Correction of invention patent gazette

Correction item: Denomination of Invention

Correct: Field programmable gate array with distributed RAM

False: Field programmable gate display with distributed RAM

Number: 16

Page: 428

Volume: 19

CI03 Correction of invention patent

Correction item: Denomination of Invention

Correct: Field programmable gate array with distributed RAM

False: Field programmable gate display with distributed RAM

Number: 16

Page: The title page

Volume: 19

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1056508

Country of ref document: HK

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Atmel Corp.

Address before: American California

Patentee before: Atmel Corporation

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20030416