首页 / 专利库 / 生物学 / 重寄生 / High density antifuse based partitioned FPGA architecture

High density antifuse based partitioned FPGA architecture

阅读:554发布:2024-01-11

专利汇可以提供High density antifuse based partitioned FPGA architecture专利检索,专利查询,专利分析的服务。并且An antifuse based FPGA architecture is partitioned into repeatable blocks of logic modules to reduce the programming time of the array and to minimize parasitic capacitance and current leakage in the array. With repeatable blocks the size of the FPGA may be made larger with minimal changes to the architecture. Disposed along the edges of each repeatable block are bidirectional buffer banks for connecting to adjacent blocks and to an interconnect matrix that is connectable to blocks other than adjacent blocks. Disposed at regular intervals in the interconnect matrix are repeater buffers to limit the number of antifuses on a given track of the interconnect matrix, to minimize RC delay, and to avoid violating the Ipeak limit.,下面是High density antifuse based partitioned FPGA architecture专利的具体信息内容。

What is claimed is:1. A partitioned field programmable gate array architecture comprising:a plurality of logic blocks;a plurality of bidirectional buffer banks, each of said plurality of bidirectional buffer banks coupled on a first side by buffer channels to one of said plurality of logic blocks and connectable on a second side by block interconnect channels to a second side of another of said plurality of bidirectional buffer banks;a plurality of routing channels intersecting said block interconnect channels to form intersections;user-programmable elements disposed at some of said intersections to provide user programmable connections between said block interconnect channels and said routing channels; andrepeater buffers disposed serially in said plurality of routing channels.

说明书全文

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an antifuse-based field programmable gate array (FPGA). More particularly, the present invention relates to a partitioned architecture for a high density antifuse based FPGA.

2. The Prior Art

As is well understood by those of ordinary skill in the art, the architecture for an antifuse based FPGA typically includes logic modules which may be configured as logic gates that are connected together to form higher logic functions. The logic modules are connected together by routing conductors, and the connections are made by programming antifuses. As the number of gates included in an antifuse based FPGA increases, there are a number of considerations which place constraints on the size of the FPGA.

As a first consideration, there is a limit on the number of antifuses that are permitted on any given routing conductor due to the amount of leakage current through and the resistive load across unprogrammed antifuses during programming. As a second consideration, due to the capacitive coupling between routing conductors in the FPGA, there is a limit on the amount of peak current that can pass through an antifuse during normal operations. Since the peak current is a function of the programming current which decreases as processes shrink, long capacitive nets of routing conductors with antifuses on them are limited as to the amount of current which they can charge and discharge.

Further, the total fuse leakage during the normal operation of a large antifuse based FPGA can also be quite considerable. It is well understood that the amount of leakage current is a function of the supply voltage and the junction temperatures. For example, a single fuse having a 3.6 volt supply can leak about approximately 5 nano amperes of current at 125° C. As a consequence, in a 10K gate array having approximately 1 million antifuses, a standby current of 5 milliamps is generated, and for a 200K gate array, a standby current of 100 milliamps is possible.

Finally, for large antifuse based arrays, the programming time of the FPGA can also become prohibitively long, having a duration, for example, of up to four hours to program a 50K FPGA, and up to ten hours to program a 200K gate FPGA.

It is, therefore, an object of the present invention to reduce the capacitive coupling between tracks in a large antifuse based FPGA.

It is a further object of the present invention to reduce the programming time in a large antifuse based FPGA.

It is a further object of the present invention to reduce the standby current in a large antifuse based FPGA.

It is yet another object of the present invention to implement an antifuse based architecture for a large FPGA that is repeatable so that it may be scaled to larger arrays.

It is yet another object of the present invention to provide a partitioned antifuse based FPGA.

It is a further object of the present invention to provide a partitioned FPGA with fixed and segmented interconnect routing channels for minimal and predictable routing delay.

BRIEF DESCRIPTION OF THE INVENTION

According to the present invention an antifuse based FPGA architecture is partitioned into repeatable blocks of logic modules to reduce the programming time of the array and to minimize parasitic capacitance and current leakage in the array. Further, by employing repeatable blocks, the size of the FPGA may be made larger with minimal changes to the architecture. Disposed along the edges of each repeatable blocks are interface buffers for connecting to adjacent blocks and to an interconnect matrix that is connectable blocks other than adjacent blocks. Disposed at regular intervals in the interconnect matrix are repeater buffers to limit the number of antifuses on a given track of the interconnect matrix, to minimize RC delay, and to avoid violating the Ipeak limit.

As a further aspect of the present invention, each of the repeatable blocks may have a separate Vpp. Once programming is completed, these separate Vpp's can be employed as separate Vcc's for each of the repeatable blocks so that the voltage level to a particular block can be lowered to minimize standby current when the inputs and outputs of that particular block are not switching.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1

is a block diagram of a partitioned FPGA 2×2 array architecture according to the present invention.

FIG. 2

is a block diagram of a partitioned FPGA architecture as depicted in

FIG. 1

that has been expanded with repeater buffers to a 3×3 array according to the present invention.

FIG. 3

is a block diagram illustrating the connections between an array block and associated bidirectional buffer banks according to the present invention.

FIGS. 4A and 4B

, first and second alternate embodiments of a tristatable bidirectional buffer suitable for use according to the present invention are illustrated.

FIG. 5

is a block diagram of the FPGA architecture depicted in

FIG. 2

which illustrates the repeater buffers in greater detail according to the present invention.

FIG. 6

illustrates the interconnection of the block interconnect channels and the routing channels depicted in

FIG. 1

according to the present invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons.

According to the present invention,

FIG. 1

illustrates a partitioned FPGA architecture

10

including four blocks

12

-

1

through

12

-

4

of logic function modules laid out in a 2×2 grid pattern, bidirectional buffer banks

14

, buffer channels

16

, block interconnect channels

18

and routing channels

20

. Also accompanying the partitioned FPGA architecture are I/O modules that are not shown to avoid overcomplicating the disclosure and thereby obscuring the present invention. It is presently contemplated that the I/O modules will be preferably disposed along the periphery of the FPGA architecture

10

, and will be decoupled from the array. According to design choice the I/O modules can be modified based on the I/O requirements for different applications. For example, the input and output signals of the array blocks

12

can either go to a mini channel structure and then to I/Os, or they can go directly to the I/O modules.

In the FPGA architecture

10

, each of the buffer channels

16

is connected between a block

12

and a first side of a bidirectional buffer bank

14

. The block interconnect channels

18

are connected between second sides of bidirectional buffer banks

14

of adjacent blocks

12

to form a square configuration. The routing channels

20

are disposed both horizontally and vertically between the blocks

12

-

1

through

12

-

4

to form intersections with the block interconnect channels

18

. Intersections are also formed between the horizontal and vertical routing channels

20

. A s will be described in further detail below, disposed at selected ones of these intersections are programmable elements (not shown), preferably antifuses.

In the preferred embodiment, each of the four blocks

12

-

1

through

12

-

4

has 8K gates, and the buffer channels

16

, block interconnect channels

18

and routing channels

20

each include forty conductors. It should be appreciated, however, that according to the present invention, the number of gates in each of the blocks

12

, and the number of conductors in the buffer channels

16

, block interconnect channels

18

and routing channels

20

may be either fewer or greater. It should also be appreciated that other programmable elements known to those of ordinary skill in the art such as pass transistors and EEPROMs, etc. may be disposed at the selected intersections referred to above.

According to the present invention, the FPGA architecture

10

provides an interconnect scheme that is easily expandable without introducing any changes to the base array. This will shorten the layout design and verification time. At the same time this interconnect routing scheme should be place and route friendly so it can be developed in minimum time and with a high degree of predictability for software development time.

Turning now to

FIG. 2

, the partitioned FPGA architecture

10

, may be expanded to include more than the four blocks

12

-

1

through

12

-

4

of logic modules of

FIG. 1

shown within the dashed lines

22

by including repeaters

24

in the routing channels

20

. In

FIG. 2

, a 3×3 array of nine blocks

12

of logic modules is depicted. To avoid overcomplicating the drawing figure, the bidirectional buffer banks

14

are not illustrated.

The modularity of the partitioned FPGA architecture depicted in

FIGS. 1 and 2

has numerous advantages. Because each of the array blocks

12

can be independently tested, test development is simplified. With fixed segmentation the verification process can be performed more quickly. Some of the array blocks

12

can be replaced by a RAM blocks or an array block

12

(or a group of 2 or 4 blocks) and their interconnects can easily be replaced by mega functions. The modularity of this architecture simplifies this task. Each array can have a separate local clock, while global clocks can also be incorporated in this architecture.

According to the present invention, the FPGA architecture

10

provides a highly modular and structured design so that product development cycle is minimized. This is achieved by a well defined array used repeatedly, extendable interconnect channels, and an I/O ring that can be independently modified based on particular system requirements.

Turning now to

FIG. 3

, an exemplary block

12

is shown to illustrate the connections between a block

12

and its associated bidirectional buffer banks

14

-

1

through

14

-

4

in greater detail. The block of modules

12

represents a fixed array of logic modules that has twenty rows and twenty columns. Each of the bidirectional buffers banks

14

comprises tristatable bidirectional buffers

30

. In

FIG. 3

, an exemplary bidirectional buffer

30

is shown in each of the bidirectional buffer banks

14

. In an exemplary embodiment, each row is connected to two bidirectional buffers

30

in each of the bidirectional buffer banks

14

-

1

and

14

-

3

, and each column is connected to two bidirectional buffers

30

in each of the bidirectional buffer banks

14

-

2

and

14

-

4

so that each buffer bank includes forty bidirectional buffers

30

. The bidirectional buffers

30

are connected to adjacent blocks

12

by block interconnect channels

18

and routing channels

20

in a manner shown in FIG.

1

.

In

FIGS. 4A and 4B

, first and second alternate embodiments of a tristatable bidirectional buffer

30

suitable for use according to the present invention are illustrated.

In

FIG. 4A

, a high voltage embodiment of a bidirectional buffer

40

is illustrated. The N-channel and P-channel MOS transistors employed in high voltage bidirectional buffer

40

are large enough to minimize the delay through the bidirectional buffer

40

. The bidirectional buffer

40

includes first and second sets of CMOS inverters

42

-

1

,

42

-

2

and

44

-

1

and

44

-

2

implemented in a manner well understood by those of ordinary skill in the art. A first exemplary track of interconnect

46

is connected to the gates of CMOS inverter

42

-

1

, and the common drain connection of CMOS inverter

44

-

1

on a first side of bidirectional buffer

40

. A second exemplary track of interconnect

48

is connected to the gates of CMOS inverter

44

-

2

, and the common drain connection of CMOS inverter

42

-

2

on a second side of bidirectional buffer

40

. The common drain connection of CMOS inverter

42

-

1

is connected to the gates of CMOS inverter

42

-

2

, and the common drain connection of CMOS inverter

44

-

2

is connected to the gates of CMOS inverter

The ordinary and high impedance states of the bidirectional buffer

40

are controlled by a set of P-channel MOS transistors

50

-

1

,

50

-

2

and a set of N-channel MOS transistors

52

-

1

,

52

-

2

connected to CMOS inverters

42

-

1

,

42

-

2

, respectively, and a set of P-channel MOS transistors

54

-

1

,

54

-

2

and a set of N-channel MOS transistors

56

-

1

,

56

-

2

connected to CMOS inverters

44

-

1

,

44

-

2

, respectively. The sources of the P-channel MOS transistors in the CMOS inverters

42

-

1

,

42

-

2

,

44

-

1

, and

44

-

2

are connected to the drains of P-channel MOS transistors

50

-

1

,

50

-

2

,

54

-

1

, and

54

-

2

, respectively, and the sources of the N-channel MOS transistors in the CMOS inverters

42

-

1

,

42

-

2

,

44

-

1

, and

44

-

2

are connected to the drains of N-channel MOS transistors

52

-

1

,

52

-

2

,

56

-

1

, and

56

-

2

, respectively. The sources of P-channel MOS transistors

50

-

1

,

50

-

2

,

54

-

1

, and

54

-

2

are coupled to Vcc, and the drains of N-channel MOS transistors

52

-

1

,

52

-

2

,

56

-

1

, and

56

-

2

are coupled to ground. The gates of the P-channel MOS transistors

50

-

1

and

50

-

2

, and the gates of the N-channel MOS transistors

56

-

1

and

56

-

2

are connected to an enable signal, EN, and the gates of the N-channel MOS transistors

52

-

1

and

52

-

2

, and the gates of the P-channel MOS transistors

54

-

1

and

54

-

2

are connected to the complement of the enable signal, {overscore (EN)}.

In the operation of bidirectional buffer

40

, when the EN signal is LOW, the bidirectional buffer

40

will conduct from the interconnect track

46

to the interconnect track

48

, but will not conduct from the interconnect track

48

to the interconnect track

46

, because the LOW EN signal turns on P-channel MOS transistors

50

-

1

and

50

-

2

and N-channel MOS transistors

52

-

1

and

52

-

2

to supply Vcc and ground to the sources of the P-channel MOS transistors and N-channel MOS transistors, respectively, in CMOS inverters

42

-

1

and

42

-

2

. Further, the LOW EN signal turns off P-channel MOS transistors

54

-

1

and

54

-

2

and N-channel MOS transistors

56

-

1

and

56

-

2

. When the EN signal is HIGH, the bidirectional buffer

40

will conduct from the interconnect track

48

to the interconnect track

46

, but will not conduct from the interconnect track

46

to the interconnect track

48

, because the HIGH EN signal turns on P-channel MOS transistors

54

-

1

and

54

-

2

and N-channel MOS transistors

56

-

1

and

56

-

2

to supply Vcc and ground to the sources of the P-channel MOS transistors and N-channel MOS transistors, respectively, in CMOS inverters

44

-

1

and

44

-

2

. Further, the HIGH EN signal turns off P-channel MOS transistors

50

-

1

and

50

-

2

and N-channel MOS transistors

52

-

1

and

52

-

2

.

In

FIG. 4B

, a low voltage embodiment of a bidirectional buffer

60

is illustrated. The bidirectional buffer

60

is similar to the high voltage bidirectional buffer

40

illustrated in

FIG. 4A

, except that the N-channel and P-channel MOS transistors employed in the CMOS inverters

62

-

1

,

62

-

2

and

64

-

1

,

64

-

2

and the P-channel and N-channel MOS transistors

70

-

1

,

70

-

2

,

74

-

1

,

74

-

2

and

72

-

1

,

72

-

2

,

76

-

1

,

76

-

2

, respectively, are low voltage devices. To protect these low voltage devices during programming, N-channel MOS pass isolation transistors

78

-

1

and

78

-

2

having gates connected to a voltage pump are interposed in first and second exemplary track

66

and

68

, respectively, connected to first and second sides of bidirectional buffer

60

.

In

FIG. 5

, the FPGA architecture including the repeaters

24

depicted in

FIG. 2

are shown in greater detail. In

FIG. 5

each of the bidirectional buffer banks

14

are depicted with only two exemplary tristatable bidirectional buffers

30

for simplicity. The horizontal and vertical routing conductors

20

form intersections that are populated with programmable elements, preferably antifuses. These programmable elements are represented by the reference numeral

80

. It should be appreciated that the routing conductors

20

represent groups of conductors, and that the intersections may be either fully populated with programmable elements or less than fully populated with programmable elements according to design choice. The repeater buffers

24

are included since there are limitations on the I

peak

limit and the fact that there is a disadvantage to having very long nets with fuses on them.

Further, the maximum number of fuses on each net should be limited to a certain number to avoid cross-coupling and cross-leakage problems during programming. As shown in

FIG. 3

, the interconnect routing channels connects non adjacent array signals. The repeaters are used within the routing channels

20

to limit the number of fuses on these tracks, minimize and make predictable the RC delay and most importantly make signals fast enough without the violating the I

peak

limit. The total number of tracks in each of these channels is a matter of design choice. These routing channels also connect signals from diagonally located adjacent blocks

12

.

According to the present invention, the FPGA architecture

10

should have high performance since its two major components, the array blocks

12

and interconnect routing between array block

12

are going to be very fast. Also the routing delays are going to be predictable due to the short length of these tracks and the use of the repeater buffers

24

. An embodiment of a repeat buffer

24

suitable for use according to the present invention is the same as the bidirectional buffer

60

illustrated in FIG.

4

B.

Turning now to

FIG. 6

, the interconnection of the block interconnect channels

18

and routing channels

20

depicted in

FIG. 1

is shown in greater detail. The block interconnect channels

18

connected to the bidirectional buffers

30

of a bidirectional buffer bank

14

are preferably segmented conductors that form an interconnect matrix

90

with the routing channels

20

. The interconnect matrix

90

will be populated with user-programmable interconnect elements

92

(illustrated as circles), preferably antifuses, at the intersection of the block interconnect channels

18

and the routing channels

20

. The population of interconnect elements

92

in the interconnect matrix

90

is for illustration only. As a matter of design choice the interconnect matrix may fully populated or less than fully populated. Also depicted in

FIG. 6

are local interconnect conductors

94

that may be alternatively employed to connect adjacent bidirectional buffer banks

14

. The intersections of the block interconnect channels

18

and the local interconnect conductors

94

are populated with user-programmable interconnect elements

96

(illustrated as circles), preferably antifuses. The population of interconnect elements

96

may be either fully populated as illustrated or less than fully populated as a matter of design choice.

According to the present invention, either a separate Vpp pad can be used for programming each of the blocks or a very high drive Vpp pad can be branched off internally to each block to provide parallel programming. This Vpp pad will also be used for Vcc once the programming has taken place. When separate pads are employed, the array could be operated at a lower supply voltage during standby mode by sensing the inputs and lowering the Vcc voltage to a block when the inputs are not switching. This would help to lower the standby current due to leakage. Further reduction in the current leakage through an antifuse can be achieved with a migration to lower supply voltages since there is typically a reduction in current leakage by an approximate factor of 10 for every 1 volt reduction and operating voltage.

While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art that many more modifications than mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended claims.

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈