Heterogeneous programmable gate array

Electronic digital logic circuitry – Multifunctional or programmable – Having details of setting or programming of interconnections...

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C326S041000

Reexamination Certificate

active

06433578

ABSTRACT:

BRIEF DESCRIPTION OF THE INVENTION
This invention relates generally to programmable logic devices. More particularly, this invention relates to heterogeneous programmable gate arrays.
BACKGROUND OF THE INVENTION
Programmable logic devices are widely used in the electronics industry. Contemporary programmable logic devices typically comprise an homogeneous, general-purpose logic array. Also, contemporary use typically requires various programmable logic devices to serve multiple purposes. Instead of designing specific gate arrays for each purpose, multiple homogeneous programmable gate arrays are programmed to serve each required purpose. Field programmable gate arrays (FPGAs) are typically used for these purposes.
To date, the relevant industry has significantly invested in developing “optimum” homogeneous architectures that can be programmed to serve most purposes. Using homogeneous FPGAs can be very inefficient when the programmed logic function is complex or when the programmed logic function properties are heterogeneous in nature. Inefficient device utilization results when inevitably parts of the homogeneous architecture will be wasted because they are not needed for a specific purpose. As shown with line
20
in
FIG. 1
, random/control logic functions will only result in high utilization when implemented in minimal structure devices, whereas, as shown with line
22
, structured/datapath logic functions will only result in high utilization when implemented in maximal structure devices. For example, parity trees and state machines have high utilization in minimal structure arrays, and arithmetic and register file functions have high utilization in maximal structure arrays. However, in a minimal structure device, utilization efficiency drastically decreases as the degree of implemented function structure increases. Conversely, in a maximal structure device, utilization efficiency drastically decreases as the degree of implemented function structure decreases. Random/control and structured/datapath are complementary, heterogeneous properties.
FPGAs typically comprise a homogeneous logic block array suitable for implementing some random/control and some structure/datapath functions. Further, current practices often use separate devices for unstructured logic and structured logic functions. The use of separate devices requires increased manufacturing and packaging costs as well as a relatively large amount of space when mounted on a circuit board. The spatial inefficiency reduces computational speed as signals are passed between resources.
In view of the foregoing, it would be highly desirable to provide an improved programmable logic device that has unstructured logic and structured logic resources on the same device.
SUMMARY OF THE INVENTION
A heterogeneous programmable gate array (HPGA) comprises two or more arrays. In the preferred embodiment, a HPGA comprises at least one unstructured logic array and at least one structured logic array. An unstructured input/output interconnect structure delivers unstructured-to-unstructured input/output signals to the unstructured logic array, while a bussed input/output interconnect structure delivers structured-to-structured input/output signals to the structured logic array. A control signal bus is functionally connected between the unstructured logic array and the structured logic array to deliver unstructured source signals therebetween. A bussed signal bus is functionally connected between the unstructured logic array and the structured logic array to deliver structured source signals therebetween.
A logic function is “unstructured” if either the type of logic or routing resources required to implement the function does not exhibit regularity or uniformity. For example, a state machine comprises various state functions in which a next-state function is typically independent of other state functions; thus, various states in the state machine are typically not physically aligned with each other. A logic function is “structured” if the logic and routing resources required to implement the function exhibit regularity or uniformity. For example, a datapath object, such as a loadable counter, comprises a repetition of a bit-slice function. In other words, the next-state function is typically identical for all the bit-slice functions. Further, each bit slice receives the same clock-enable and load control signals; thus, each bit has an inherent relationship with respect to each other and should be physically aligned with each other. For example, bit i should be situated between bit i−
1
and i+
1
. Generally, unstructured logic is the complement of structured logic.
In another exemplary embodiment, a heterogeneous programmable array comprises sections having at least two sub-sections that have complementary logic and route resource properties. The sub-sections are configured to specifically optimize the complementary logic, such as unstructured/control logic and structured/datapath logic, respectively. In a preferred embodiment, the sub-sections are configured to include approximately one-third unstructured/control logic and approximately two-thirds structured/datapath logic. The unstructured/control logic is generally fine-grained, short, with low-fanout, and high-skew. The structured/datapath logic is generally medium-grained, long, with high-fanout, and low-skew. Examples of unstructured/control logic are glue logic, decoders, parity trees, and state machines. Examples of structured/datapath logic are registers, arithmetic devices, register files, random access memories, and first-in-first-out modules.
The device in accordance with the invention provides a platform for disparate programmable logic and routing resources. The topology facilitates superior partitioning of contemporary netlists. That is, logic netlists can be partitioned into fragments targeting specific array resources. Appropriate partitioning results in significantly increased device utilization and system performance. In addition, the apparatus improves overall device efficiency because arrays can be optimized for specific purposes.


REFERENCES:
patent: 4935734 (1990-06-01), Austin
patent: 5329470 (1994-07-01), Sample et al.
patent: 5362999 (1994-11-01), Chiang
patent: 5640107 (1997-06-01), Kruse
patent: 5677638 (1997-10-01), Young et al.
patent: 5723984 (1998-03-01), Sharpe-Geisler
patent: 5744980 (1998-04-01), McGowan et al.
patent: 5761484 (1998-06-01), Agarwal et al.
patent: 5796269 (1998-08-01), New
patent: 5796623 (1998-08-01), Butts et al.
patent: 5825202 (1998-10-01), Tavana et al.
patent: 5874834 (1999-02-01), New
patent: 5910733 (1999-06-01), Bertolet et al.
patent: 5943242 (1999-08-01), Vorbach et al.
patent: 5946219 (1999-08-01), Mason et al.
patent: 5977791 (1999-11-01), Veenstra
patent: 6005410 (1999-12-01), Laramie
patent: 6020776 (2000-02-01), Young
patent: 6021490 (2000-02-01), Vorbach et al.
patent: 6075380 (2000-06-01), Lane
patent: 6091263 (2000-07-01), New et al.
patent: 6154052 (2000-11-01), New
patent: 0 910 027 (1999-04-01), None
patent: WO 98/21725 (1998-05-01), None
patent: WO 99/56394 (1999-11-01), None

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Heterogeneous programmable gate array does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Heterogeneous programmable gate array, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Heterogeneous programmable gate array will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2960231

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.