Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Conductive material and method for filling via-hole
Patent Number: 6,886,248 Issued on 05/03/2005 to Watanabe,   et al.

Title: Silver halide color photosensitive material
Patent Number: 6,858,380 Issued on 02/22/2005 to Kato,   et al.

Title: Electric motor control device
Patent Number: 6,873,132 Issued on 03/29/2005 to Kaku,   et al.

Title: Recording medium
Patent Number: 6,887,559 Issued on 05/03/2005 to Darsillo,   et al.

Title: Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources
Patent Number: 6,880,002 Issued on 04/12/2005 to Hirschfeld,   et al.

Title: Cascode amplifier circuit for generating and maintaining a fast, stable and accurate bit line voltage
Patent Number: 6,885,250 Issued on 04/26/2005 to Le,   et al.

Title: Electrical connector with metal coupling sleeve
Patent Number: 6,863,552 Issued on 03/08/2005 to Katwala,   et al.

Title: Satellite communication system with gateway switch networks
Patent Number: 6,898,428 Issued on 05/24/2005 to Thorburn,   et al.

Title: Combination jewelry setting and precious stone
Patent Number: 6,860,117 Issued on 03/01/2005 to Turpanjian,   et al.

Title: Molecular-wire-based restorative multiplexer, and method for constructing a multiplexer based on a configurable, molecular-junction-nanowire crossbar
Patent Number: 6,880,146 Issued on 04/12/2005 to Snider

Title: Electrolyte solution filling method and battery structure of lithium secondary battery
Patent Number: 6,858,342 Issued on 02/22/2005 to Nemoto,   et al.

Title: Calibrating audiometry stimuli
Patent Number: 7,096,184 Issued on 08/22/2006 to Ahroon

Title: Trainable, extensible, automated data-to-knowledge translator
Patent Number: 7,096,210 Issued on 08/22/2006 to Kramer,   et al.

Title: Caller identifying method, program, and apparatus and recording medium
Patent Number: 7,035,388 Issued on 04/25/2006 to Kurosaki

Title: Process for producing .alpha.-phenylethyl alcohol
Patent Number: 6,803,490 Issued on 10/12/2004 to Oku,   et al.

Title: System for electronic barter, trading and redeeming points accumulated in frequent use reward programs
Patent Number: 7,096,190 Issued on 08/22/2006 to Postrel

Title: Method and apparatus for optimizing a data access customer service system
Patent Number: 7,096,219 Issued on 08/22/2006 to Karch

Title: ESD-protected head gimbal assembly for use in a disk drive
Patent Number: 6,801,402 Issued on 10/05/2004 to Subrahmanyam,   et al.

Title: Methods and system for processing changes to existing purchase orders in an object-oriented order processing system
Patent Number: 7,096,189 Issued on 08/22/2006 to Srinivasan

Title: Asynchronous debug interface
Patent Number: 7,089,467 Issued on 08/08/2006 to Burch

Title: Microcomputer, has selection circuit to select either testing-purpose interrupt request signal or interrupt request selection signal based on delayed selection signal, where selected signals a
Patent Number: 7,028,123 Issued on 04/11/2006 to Shimomura

Title: Facilitating commerce among consumers and service providers by matching ready-to-act consumers and pre-qualified service providers
Patent Number: 7,096,193 Issued on 08/22/2006 to Beaudoin,   et al.

Title: Scan testing mode control of gated clock signals for flip-flops
Patent Number: 7,089,471 Issued on 08/08/2006 to Guettaf

Title: Weighted mounting platform
Patent Number: 6,840,487 Issued on 01/11/2005 to Carnevali

Title: Topological vias route wherein the topological via does not have a coordinate within the region
Patent Number: 7,089,524 Issued on 08/08/2006 to Teig,   et al.

Title: Method of controlling wafer charging effects due to manufacturing processes
Patent Number: 6,800,562 Issued on 10/05/2004 to Cusson,   et al.

Title: Glycorandomization and the production of novel erythronolide and coumarin analogs
Patent Number: 6,884,604 Issued on 04/26/2005 to Thorson

Title: Mold temperature control unit
Patent Number: 7,080,684 Issued on 07/25/2006 to Shimoda

Title: Processor, compiler and compilation method
Patent Number: 7,076,638 Issued on 07/11/2006 to Heishi,   et al.

Title: 1,1,1,2,2,4,5,5,5-nonafluoro-4-(trifluoromethyl)-3-pentanone refrigerant compositions and uses thereof
Patent Number: 7,094,356 Issued on 08/22/2006 to Minor,   et al.

Title: Mixture for the production of a high-expansion stone die
Patent Number: 6,881,258 Issued on 04/19/2005 to Delee,   et al.

Title: Divided one-dimensional solid-state imaging device, method of controlling one-dimensional solid-state imaging device, and image reading apparatus and method using the same
Patent Number: 7,034,969 Issued on 04/25/2006 to Watanabe

Title: Method and system in an overload situation in a telephone exchange system
Patent Number: 6,823,052 Issued on 11/23/2004 to Lehto,   et al.

Title: Data storage system having an improved memory circuit board configured to run scripts
Patent Number: 7,076,636 Issued on 07/11/2006 to Chilton

Title: Heuristic method of classification
Patent Number: 7,096,206 Issued on 08/22/2006 to Hitt

Title: Two stage detector having viterbi detector matched to a channel and post processor matched to a channel code
Patent Number: 7,089,483 Issued on 08/08/2006 to McEwen,   et al.

Title: Optical device
Patent Number: 7,082,251 Issued on 07/25/2006 to Kurumada,   et al.

Title: Cleaning control method for recording head, cleaning controller performing the method, and recorder incorporating the cleaning controller
Patent Number: 6,823,877 Issued on 11/30/2004 to Kimura

Title: Method of applying a resin-rich skin on the surface of reinforced material gear or other wear surface
Patent Number: 6,803,008 Issued on 10/12/2004 to Buchanan, Jr.

Title: Methods and apparatuses for selectively limiting undesired radiation
Patent Number: 7,095,026 Issued on 08/22/2006 to Devitt,   et al.

Title: Circuit board with localized stiffener for enhanced circuit component reliability
Patent Number: 7,094,975 Issued on 08/22/2006 to Chengalva,   et al.

Title: Motorcycle helmet windshield control system and method
Patent Number: 7,086,096 Issued on 08/08/2006 to Montero

Title: Stacked network devices including a protocol engine and distributed trunk ports and method of operating same
Patent Number: 6,807,182 Issued on 10/19/2004 to Dolphin,   et al.

Title: Reduced-overhead protocol for discovering new neighbor nodes and detecting the loss of existing neighbor nodes in a network
Patent Number: 7,031,288 Issued on 04/18/2006 to Ogier

Title: Diagnostic for early stage Alzheimer's disease
Patent Number: 7,015,044 Issued on 03/21/2006 to Han,   et al.

Title: Cash payment system using vending machine
Patent Number: 7,096,191 Issued on 08/22/2006 to Nakajima

Title: Server, user terminal, information providing service system and information providing service method for providing information in conjunction with a geographical mapping application
Patent Number: 7,096,233 Issued on 08/22/2006 to Mori,   et al.

Title: Fluorine-containing polymer powder and method for production thereof and coated article
Patent Number: 7,094,838 Issued on 08/22/2006 to Nakatani,   et al.

Title: Method of controlling a circuit arrangement for the ac power supply of a plasma display panel
Patent Number: 7,064,732 Issued on 06/20/2006 to Van Der Broeck,   et al.

Title: Material supply system
Patent Number: 7,066,352 Issued on 06/27/2006 to Ono,   et al.

Title: Process for making a fluoroelastomer
Patent Number: 7,094,839 Issued on 08/22/2006 to Grootaert,   et al.

Title: Fixture box for electrical fans and connectors therefor
Patent Number: 7,066,326 Issued on 06/27/2006 to Li,   et al.

Title: Thermally conductive elastomeric pad
Patent Number: 7,094,822 Issued on 08/22/2006 to Sagal,   et al.

Title: Method of manufacturing a semiconductor device comprising a bipolar transistor and a variable capacitor
Patent Number: 6,800,532 Issued on 10/05/2004 to Ohnishi,   et al.

Title: Portable communicator
Patent Number: 7,064,749 Issued on 06/20/2006 to Enmei

Title: Controlled power source for underground line location
Patent Number: 7,091,872 Issued on 08/15/2006 to Bigelow,   et al.

Title: Il-5 inhibiting 6-azauracil derivatives
Patent Number: 6,803,364 Issued on 10/12/2004 to Freyne,   et al.

Title: Oxidation structure/method to fabricate a high-performance magnetic tunneling junction MRAM
Patent Number: 7,045,841 Issued on 05/16/2006 to Hong,   et al.

Title: Manufacturing semiconductor device including forming a buried gate covered by an insulative film and a channel layer
Patent Number: 6,800,513 Issued on 10/05/2004 to Horiuchi,   et al.

Title: Earphone antenna
Patent Number: 7,064,720 Issued on 06/20/2006 to Yoshino

Title: Resistive touch screen with variable resistivity layer
Patent Number: 7,064,748 Issued on 06/20/2006 to Cok

Title: Olefin polymerization catalyst system
Patent Number: 7,094,848 Issued on 08/22/2006 to Hinkle,   et al.

Title: Flat-panel display with luminance feedback
Patent Number: 7,064,733 Issued on 06/20/2006 to Cok,   et al.

Title: Display device
Patent Number: 7,064,751 Issued on 06/20/2006 to Triepels,   et al.

Title: Tumor antigen peptides originating in cyclophilin B
Patent Number: 7,041,297 Issued on 05/09/2006 to Itoh,   et al.

Title: Screening panel securing system
Patent Number: 7,066,334 Issued on 06/27/2006 to Eeles,   et al.

Title: Method of starting a one-touch system through a hot key
Patent Number: 7,064,746 Issued on 06/20/2006 to Wen,   et al.

Title: Method for fabricating semiconductor transistor device
Patent Number: 6,800,529 Issued on 10/05/2004 to Kim

Title: Process for the preparation of diaryl carbonates
Patent Number: 7,091,370 Issued on 08/15/2006 to Reisinger,   et al.

Title: Polymers for delivering nitric oxide in vivo
Patent Number: 7,087,709 Issued on 08/08/2006 to Stamler,   et al.

Title: Integrated vertical spiral inductor on semiconductor material
Patent Number: 6,800,533 Issued on 10/05/2004 to Yeo,   et al.

Title: Display device
Patent Number: 7,064,734 Issued on 06/20/2006 to Kawamura,   et al.

Title: Semiconductor device having a low-resistance gate electrode
Patent Number: 6,800,543 Issued on 10/05/2004 to Taguwa

Title: Clock generation system
Patent Number: 7,084,712 Issued on 08/01/2006 to Fujiwara

Title: Internal combustion engine and fuel injection control device therefor
Patent Number: 7,089,916 Issued on 08/15/2006 to Abo,   et al.

Integrated circuits with reduced interconnect overhead Number:7,084,664 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Zimbabwe Likely to Delay Presidential Run-Off by VOA News
     Iraqi Official Says US Reconstruction Aid Still Needed by Michael Bowman
     Bush Daughter Marries at Private Texas Ceremony by VOA News

Title: Integrated circuits with reduced interconnect overhead

Abstract: Integrated circuits are provided that use on-chip data compression and decompression to minimize consumption of interconnect resources. Parallel-to-serial converter circuitry can use time-division multiplexing techniques to compress data. The compressed data may be conveyed between circuit blocks on the integrated circuit using a reduced number of parallel interconnect conductors. After the compressed data has been conveyed to its destination, a serial-to-parallel converter may use time-division demultiplexing techniques to decompress the data. Interconnect resources may be shared by dedicated circuits. With this arrangement, signals can be selectively steered through the appropriate dedicated circuitry to either maximize performance or to use compression and decompression to minimize interconnect resource consumption.

Patent Number: 7,084,664 Issued on 08/01/2006 to Lee,   et al.


Inventors: Lee; Kwan Yee (Hayward, CA); Langhammer; Martin (Salisbury, GB); Burney; Ali H. (Fremont, CA)
Assignee: Alter Corporation (San Jose, CA)
Appl. No.: 10/867,456
Filed: June 14, 2004


Current U.S. Class: 326/38 ; 326/39; 370/314; 370/341
Current International Class: G06F 7/38 (20060101); H03K 19/173 (20060101); H04Q 7/00 (20060101); H04Q 7/28 (20060101)
Field of Search: 326/38-39 716/16 370/314,341,58.1,77


References Cited [Referenced By]

U.S. Patent Documents
5583450 December 1996 Trimberger et al.
5594367 January 1997 Trimberger et al.
5600263 February 1997 Trimberger et al.
5629637 May 1997 Trimberger et al.
5646545 July 1997 Trimberger et al.
5701441 December 1997 Trimberger
5740404 April 1998 Baji
5761483 June 1998 Trimberger
5825662 October 1998 Trimberger
5838954 November 1998 Trimberger
5978260 November 1999 Trimberger et al.
5986467 November 1999 Trimberger
6263430 July 2001 Trimberger et al.
6272130 August 2001 Panahi et al.
6307658 October 2001 Chiaroni et al.
6480954 November 2002 Trimberger et al.
6501296 December 2002 Wittig et al.
6684275 January 2004 Goldstein
Primary Examiner: Barnie; Rexford
Assistant Examiner: Crawford; Jason
Attorney, Agent or Firm: Treyz; G. Victor

Claims



What is claimed is:

1. An integrated circuit comprising: digital circuitry that generates data signals; parallel-to-serial converter circuitry that uses time-division multiplexing to compress the data signals; a plurality of interconnect lines that carry the compressed data signals; serial-to-parallel converter circuitry that receives the compressed data signals from the interconnect lines and that uses time-division demultiplexing to decompress the data signals; and dedicated hardwired circuitry that uses the decompressed data signals.

2. The integrated circuit defined in claim 1 wherein the interconnect lines include at least some global conductors that span the integrated circuit.

3. The integrated circuit defined in claim 1 wherein the dedicated hardwired circuitry comprises digital signal processing circuitry that processes the decompressed data signals to produce processed data signals.

4. The integrated circuit defined in claim 1 wherein the dedicated hardwired circuitry comprises a multiplier.

5. The integrated circuit defined in claim 1 further comprising programmable logic, wherein configuration data is used to form the parallel-to-serial converter circuitry from at least some of the programmable logic.

6. The integrated circuit defined in claim 1 wherein the dedicated hardwired circuitry comprises digital signal processing circuitry that processes the decompressed data signals to produce processed data signals, the integrated circuit further comprising: additional parallel-to-serial converter circuitry that uses time-division multiplexing to compress the processed data signals; additional interconnect lines that carry the compressed processed data signals; additional serial-to-parallel converter circuitry that uses time-division demultiplexing to decompress the compressed processed data signals; and additional digital circuitry that receives the decompressed data signals from the additional serial-to-parallel converter circuitry.

7. The integrated circuit defined in claim 1 wherein the dedicated hardwired circuitry comprises a multiplier, the integrated circuit further comprising: a memory circuit adjacent to the multiplier; and switching circuitry that is selectively configured to steer signals through one of: (1) the memory circuit, (2) the memory circuit and the multiplier, and (3) the multiplier.

8. A programmable logic integrated circuit comprising: a region of programmable logic that produces data signals; a parallel-to-serial converter formed from configured programmable logic that uses time-division multiplexing to compress the data signals; interconnect resources including a plurality of interconnect lines that convey the compressed data signals; and dedicated hardwired circuitry including a dedicated hardwired serial-to-parallel converter that receives the compressed data signals and that uses time-division demultiplexing to decompress the data signals.

9. The programmable logic device integrated circuit defined in claim 8 wherein the dedicated hardwired circuitry comprises digital signal processing circuitry that processes the decompressed data signals.

10. The programmable logic device integrated circuit defined in claim 8 wherein the dedicated hardwired circuitry comprises a memory circuit and digital signal processing circuitry.

11. The programmable logic device integrated circuit defined in claim 8 wherein the dedicated hardwired circuitry comprises a memory circuit and digital signal processing circuitry and wherein the interconnect resources comprise a first set of interconnects and a second set of interconnects, the first set of interconnects carrying uncompressed digital data to the memory circuit and the second set of interconnects carrying the compressed data signals to the dedicated hardwired serial-to-parallel converter.

12. A programmable logic device integrated circuit comprising: a first region of logic that produces first data signals; a second region of logic that produces second data signals; a first set of interconnect conductors that carry the first data signals; a second set of interconnect conductors that carry the second data signals; a first dedicated hardwired circuit; a second dedicated hardwired circuit; a serial-to-parallel converter circuit that uses time-division demultiplexing to decompress data; programmable logic that can be selectively configured to form a programmable logic parallel-to-serial converter; and configurable switching circuitry, wherein the programmable logic and configurable switching circuitry are selectively configured using configuration data to support three modes of operation including: a first mode of operation in which the first data signals and second data signals are routed to the first dedicated hardwired circuit and are not used by the second dedicated hardwired circuit; a second mode of operation in which the first data signals are routed to the first dedicated hardwired circuit and in which the second data signals are routed to the second dedicated hardwired circuit through the programmable logic parallel-to-serial converter and the serial-to-parallel converter circuit; and a third mode of operation in which the first data signals and second data signals are routed to the second dedicated hardwired circuit and are not used by the first dedicated hardwired circuit.

13. The programmable logic device integrated circuit defined in claim 12 wherein the first dedicated hardwired circuit comprises a memory.

14. The programmable logic device integrated circuit defined in claim 12 wherein the second dedicated hardwired circuit comprises a digital signal processing circuit.

15. The programmable logic device integrated circuit defined in claim 12 wherein the first dedicated hardwired circuit comprises a memory and wherein the second dedicated hardwired circuit comprises a multiplier.

16. The programmable logic device integrated circuit defined in claim 12 wherein the first dedicated hardwired circuit comprises a memory that is configurable to function as a true dual-port memory in the first mode of operation and to function as a simple dual-port memory in the second mode of operation.

17. The programmable logic device integrated circuit defined in claim 12 wherein the second dedicated hardwired circuit comprises a multiplier that is configurable to operate at a frequency of f in the second mode of operation and a frequency greater than f in the third mode of operation.

18. The programmable logic device integrated circuit defined in claim 12 wherein the second dedicated hardwired circuit comprises a multiplier that is configurable to operate at a frequency of f in the second mode of operation and a frequency of two times f in the third mode of operation, wherein the programmable logic parallel-to-serial converter circuit has N inputs and N/2 outputs coupled to the second set of interconnect conductors.

19. The programmable logic device integrated circuit defined in claim 12 further comprising: a third region of logic; a fourth region of logic; a hardwired parallel-to-serial converter that uses time-division multiplexing to compress data; additional programmable logic that can be selectively configured to form a programmable logic serial-to-parallel converter; and additional interconnect resources that convey data signals from the first and second dedicated hardwired circuits to the third and fourth regions of logic, wherein at least in the second mode of operation the hardwired parallel-to serial converter provides compressed data to the programmable logic serial-to-parallel converter over the additional interconnect resources and wherein the programmable logic serial-to-parallel converter decompresses this compressed data and provides this decompressed data to the fourth region of logic while the third region of logic receives data from the first dedicated hardwired circuit.

20. The programmable logic device integrated circuit defined in claim 12 wherein the serial-to-parallel converter comprises a dedicated hardwired serial-to-parallel converter, the programmable logic device further comprising: a third region of logic; a fourth region of logic; a dedicated hardwired parallel-to-serial converter that uses time-division multiplexing to compress data from the second dedicated hardwired circuit; additional programmable logic that can be selectively configured to form a programmable logic serial-to-parallel converter that decompresses the compressed data from the dedicated hardwired parallel-to-serial converter; and additional interconnect resources that convey data from the first and second dedicated hardwired circuits to the third and fourth regions of logic, wherein during at least one mode of operation the programmable logic serial-to-parallel converter provides data to the fourth logic region and wherein the first, second, third, and fourth regions of logic comprise programmable logic that is configured using configuration data.
Description



BACKGROUND OF THE INVENTION

This invention relates to integrated circuits such as programmable logic device integrated circuits, and more particularly, to circuitry that compresses parallel data into a more serialized format to reduce the overhead associated with providing large numbers of parallel interconnect lines when conveying data across a chip.

Integrated circuits such as programmable logic devices typically contain logic resources whose operation can be programmed using configuration data. A user can customize a programmable logic device to perform a desired logic function by loading appropriate configuration data into the device. The programmable resources on a programmable logic device can be used to implement memory and digital signal processing functions. However, using general-purpose programmable resources to implement complex memory or digital signal processing circuits can be inefficient. As an example, implementing an 18-bit.times.18-bit multiplier using general-purpose programmable logic resources may consume ten times more circuit real estate than implementing the same type of multiplier using a dedicated multiplier circuit.

As integrated circuit dimensions shrink due to advances in process technology, the sizes of the transistors on a circuit often scale more rapidly than the sizes of the interconnect conductors used to transport signals between different locations on the circuit. This trend makes it increasingly important to minimize the amount of circuit resources used for forming interconnects.

Dedicated circuits such as digital signal processing circuits and memory often have large numbers of associated inputs and outputs. For example, a true dual-port 18-bit memory has 36 input data lines and 36 output data lines. An 18 bit multiplier has 36 data input lines and 36 data output lines. Additional lines are needed for clock signals and control signals.

When large groups of interconnect lines such as the interconnect lines traditionally associated with memory and signal processing circuit blocks extend across a significant portion of an integrated circuit, a correspondingly large portion of the interconnect resources of the integrated circuit are consumed and are therefore not available to support other signal routing tasks.

It would be desirable to be able to provide ways in which to minimize interconnect resource consumption on integrated circuits such as programmable logic devices.

SUMMARY OF THE INVENTION

In accordance with the present invention, integrated circuits are provided that contain data compression and decompression circuitry. The compression and decompression circuitry can be used to minimize the amount of interconnect resources that are used to convey signals across the integrated circuits.

The integrated circuits may be programmable logic device integrated circuits containing programmable logic. A logic designer may customize the programmable logic using configuration data. At least some of the compression and decompression circuitry can be formed using programmable logic. For example, when it is desired to minimize interconnect resource consumption between a region of programmable logic that generates data signals and a dedicated hardwired circuit, a portion of the programmable logic can be configured to form a programmable logic parallel-to-serial converter.

Parallel data signals from the region of programmable logic can be compressed by the programmable logic parallel-to-serial converter using time-division multiplexing. This reduces the number of parallel interconnect lines needed to carry the data. After the compressed data has been conveyed to its destination at the dedicated hardwired circuit, a dedicated hardwired serial-to-parallel converter can use time-division demultiplexing techniques to decompress the compressed data. The uncompressed version of the data may be provided to the dedicated hardwired circuit.

Data compression and decompression can also be used to minimize consumption of interconnect resources that are used to convey data from the dedicated hardwired circuit to other logic. For example, a dedicated hardwired parallel-to-serial converter circuit can use time-division multiplexing to compress data signals (e.g., data signals that have been processed by digital signal processing circuitry in the dedicated hardwired circuit). These compressed data signals can be conveyed across an integrated circuit using a reduced number of parallel interconnect lines. A programmable logic serial-to-parallel converter that is formed from user-configured programmable logic can use time-division demultiplexing techniques to decompress the data that was compressed using the hardwired parallel-to-serial converter.

If desired, switching circuitry such as multiplexers whose connections can be customized using user-defined configuration data stored in on-chip programmable elements can be used to steer data signals on the integrated circuit. Data signal steering may be used to allow first and second dedicated hardwired circuits to share interconnection resources. For example, a hardwired memory circuit and a hardwired digital signal processing circuit can share interconnect resources.

The switching circuitry and programmable logic on the integrated circuit can be configured to support at least three modes of operation for each set of first and second dedicated hardwired circuits.

In a first mode of operation, interconnection resources are dedicated to serving the first dedicated hardwired circuit. Compression and decompression of data is not needed, so the programmable logic need not be used to form the programmable logic parallel-to-serial converter and can therefore be used for other programmable logic functions.

In the first mode of operation, the switching circuitry is configured to steer incoming and outgoing data through the first dedicated circuit but not through the second dedicated circuit. All of the interconnect resources that are associated with the first and second dedicated circuits are therefore available for use by the first dedicated circuit. The first dedicated circuit can therefore operate to its maximum potential in the first mode of operation.

In the second mode of operation, the first and second dedicated hardwired circuits actively share interconnect resources. The programmable logic can be used to implement a programmable parallel-to-serial converter that compresses incoming data using time-division multiplexing. Data compression allows fewer interconnect resources to be used to convey the data to the hardwired circuits. A hardwired serial-to-parallel converter can be used to decompress the compressed data. The decompressed incoming data can be used by the second dedicated hardwired circuit. The first dedicated hardwired circuit can receive incoming data over a portion of the interconnect resources that do not use data compression and decompression.

During the second mode of operation, the first dedicated hardwired circuit can produce output data signals for other circuitry on the integrated circuit. These output signals can be conveyed across the integrated circuit using a portion of the interconnect resources. The data produced by the second dedicated hardwired circuit can be compressed using a hardwired parallel-to-serial converter. Compressed data from the hardwired parallel-to-serial converter can be conveyed over a portion of the interconnects. A serial-to-parallel converter implemented using a portion of the integrated circuit's programmable logic resources can be used to decompress the compressed data. In the second mode of operation, the first and second dedicated hardwired circuits are both used, although with somewhat reduced capacity because they are actively sharing limited interconnect resources.

In the third mode of operation, the switching circuitry and programmable logic are configured so that interconnection resources are allocated to serving the second dedicated hardwired circuit. The programmable logic for the programmable logic parallel-to-serial converter need not be used to form the programmable logic parallel-to-serial converter and can therefore be used for other programmable logic functions. All of the interconnect resources associated with the first and second dedicated hardwired circuit are available to serve the second dedicated hardwired circuit, so the second dedicated hardwired circuit can operate at its maximum possible performance level.

Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of an illustrative programmable logic device integrated circuit in accordance with the present invention.

FIG. 2 is a schematic diagram of an illustrative programmable logic device integrated circuit in accordance with the present invention showing how programmable logic and dedicated circuits such as digital signal processing circuits and memory circuits may be provided using rows and columns of circuitry.

FIG. 3 is a schematic diagram showing how parallel-to-serial converters and serial-to-parallel converters may be used to minimize interconnect resource consumption in accordance with the present invention.

FIG. 4 is a circuit diagram of an illustrative parallel-to-serial converter with bypassable register logic in accordance with the present invention.

FIG. 5 is a diagram showing how parallel-to-serial and serial-to-parallel converters may be used to route signals to and from an 18.times.18 multiplier circuit in accordance with the present invention.

FIG. 6 is a circuit diagram showing how two dedicated circuits such as a true dual-port memory and an 18-bit.times.18-bit multiplier can share interconnect resources on an integrated circuit such as a programmable logic device in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention relates to circuit arrangements that may be used to minimize the consumption of interconnect resources on an integrated circuit and thereby lower circuit cost while maintaining desired levels of performance. The invention applies to any suitable integrated circuits. For clarity, the present invention will sometimes be described in the context of programmable logic device integrated circuits. This is, however, merely illustrative.

An illustrative programmable logic device 10 in accordance with the present invention is shown in FIG. 1.

Programmable logic device 10 may have input/output circuitry 12 for driving signals off of device 10 and for receiving signals from other devices via input/output pins 14. Interconnection resources 16 such as vertical and horizontal conductive lines may be used to route signals on device 10. Programmable logic 18 may include combinational and sequential logic circuitry. The programmable logic 18 may be configured to perform a custom logic function.

Programmable logic device 10 may be based on any suitable programmable technology. With one suitable approach, configuration data (also called programming data) may be loaded into programmable elements 20 using pins 14 and input/output circuitry 12. The programmable elements (also sometimes called configuration bits or programmable function control elements) may each provide a static control output signal that controls the state of an associated logic component in programmable logic 18.

As an example, the programmable elements 20 may be random-access memory (RAM) cells that are loaded from an external erasable-programmable read-only memory chip via pins 14 and input/output circuitry 12. The loaded RAM cells 20 provide static control signals that are applied to the terminals (e.g., gates) of circuit elements (e.g., metal-oxide-semiconductor transistors) in programmable logic 18 to control those elements (e.g., to turn certain transistors on or off) and thereby configure the logic in programmable logic 18. The circuit elements may be transistors such as pass transistors or parts of multiplexers, look-up tables, logic arrays, AND, OR, NAND, and NOR logic gates, etc.

RAM-based programmable logic device technology is merely one illustrative example of the type of technology that may be used to implement programmable logic device 10. Other suitable programmable logic device technologies that may be used for device 10 include one-time programmable device arrangements such as those based on programmable logic elements made from fuses or antifuses, programmable logic devices in which elements 20 are formed from electrically-programmable read-only-memory (EPROM) or erasable-electrically-programmable read-only-memory (EEPROM) technology, or programmable logic devices with programmable elements made from magnetic storage elements, etc.

Regardless of the particular type of programmable element arrangement that is used for device 10, programmable elements are preferably provided with configuration data by a user (e.g., a logic designer). Once provided with configuration data, the programmable elements 20 selectively control (e.g., turn on and off) portions of the circuitry in the programmable logic 18 and thereby customize its functions so that it will operate as desired.

The circuitry on device 10 may be controlled using signals from external sources (e.g., control signals received from other integrated circuits via input/output circuitry 12) or signals from internal circuitry such as programmable elements 20 and programmable logic 18. The signals from programmable elements 20 generally do not change once device 10 has been programmed, so these signals may be referred to as static signals. The signals from programmable logic 18 generally change in real time during the operation of programmable logic device 10, so these signals may be referred to as dynamic signals.

The circuitry of device 10 may be organized using any suitable architecture. As an example, the logic of programmable logic device 10 may be organized in a series of rows and columns of one or more larger, programmable logic regions or areas 22 (sometimes referred to as logic array blocks or LABs) each of which contains multiple smaller logic regions or areas 24 (sometimes referred to as logic elements or LEs) as shown in FIG. 2. These logic resources may be interconnected by interconnection resources 16 such as associated vertical and horizontal conductors. The interconnection conductors 16 may include global conductive lines that span substantially all of device 10, fractional lines such as half-lines or quarter lines that span a substantial part of device 10, staggered lines of a particular length (e.g., sufficient to interconnect several logic areas), smaller local lines that interconnect logic regions 24 with other logic regions 24 in a given area 22, or any other suitable interconnection resource arrangement. Multiplexers and other suitable circuits may be used to interconnect vertical and horizontal conductors to form various user-selected signal paths throughout device 10. If desired, the logic of device 10 may be arranged in more levels or layers in which multiple large areas 22 are interconnected to form still larger portions of logic. Still other device arrangements may use logic that is not arranged in rows and columns.

The programmable logic (e.g., the logic of logic elements 24) may be based on look-up tables (LUTs) or any other suitable configurable logic circuits. Logic elements 24 may contain register logic for selectively registering data signals.

To perform certain functions efficiently, dedicated circuits such as digital signal processing circuits 26 and memory circuits 28 may be provided on circuit 10. With one illustrative arrangement, a digital signal processing circuit such as a multiplier and a memory circuit such as a true dual-port memory may be provided in each row of programmable logic device 10. There may be (as an example) 10 rows of circuitry in device 10, each of which contains 10s of logic regions 22 and at least one digital signal processing circuit 26 and memory 28.

Dedicated circuits (sometimes called hardwired circuits even though they may have modest capabilities for being programmed or reconfigured by a user) are more efficient than general-purpose programmable logic resources such as the programmable look-up tables and registers of logic elements 24 for performing certain tasks. For example, a dedicated memory circuit can generally store much larger amounts of data and can store this data much more efficiently than a collection of registers in the programmable logic. Similarly, a digital signal processing circuit such as a dedicated hardwired 18-bit multiplier can perform multiplication functions using a much smaller circuit area (e.g., about ten times less) than would be possible using user-configured general-purpose logic resources such as the resources of logic regions 22 and logic subregions 24.

Digital signal processing circuit 26 may be, for example, circuitry that includes one or more multipliers, accumulators, adders, counters, barrel shifters, etc. Memory circuit 28 may be, for example, an 18-bit true dual-port memory. The dedicated circuits such as digital-signal-processor (DSP) circuits 26 and memory circuits 28 may be located in a central column of programmable logic device 10 to facilitate communication with logic circuitry 22 on either side of device 10 or may be placed in any other suitable location. More than one block of dedicated circuitry may be placed in each row if desired.

In general, dedicated circuits such as circuits 26 and 28 may have near-unity ratios of fan-in to fan-out. Circuits such as circuits 26 and 28 also generally handle relatively large vectors as input signals (i.e., these circuits receive multiple data signals in parallel such as the data signals in an 18-bit word). In one suitable arrangement, a digital signal processing circuit may have a fan-in-to-fan-out ratio of about 1:1 and may have 10s of parallel input lines. A memory circuit, which has address and data lines as inputs and which has output data lines, may also have 10s of input lines and may have a fan-in-to-fan-out ratio of about 1.5:1 (which is still near unity). In comparison, a logic element 24 that is based on a four-input look-up table may have a fan-in-to-fan-out ratio of about 4:1. To use resources efficiently, it is important to minimize the interconnect resources that are used to convey signals between areas of the programmable logic device 10 and the dedicated circuits. This is particularly the case when programmable logic device 10 has dedicated circuitry that places large demands on interconnection resources such as circuits 26 and 28 that have near unity ratios of fan-in-to-fan-out and that handle large numbers of parallel data signals.

The present invention uses data compression techniques to reduce the number of interconnect lines that are used to convey data between different locations on an integrated circuit. In a programmable logic device environment, for example, data from programmable logic can be compressed using a parallel-to-serial converter. The serialized data can be routed to dedicated circuitry (e.g., a multiplier or other digital signal processing circuitry and/or memory) over a reduced number of vertical and/or horizontal conductors on the device. At the dedicated circuitry, a serial-to-parallel converter can be used to decompress the data for processing by the dedicated circuitry. The processed data can also be compressed before transmission to suitable programmable logic elsewhere on the circuit. Because the number of interconnect lines and other interconnect resources used to convey the serialized (compressed) data is reduced relative to that of an unserialized arrangement, use of the compression and decompression circuitry can significantly reduce interconnect resource consumption on the integrated circuit.

An illustrative portion of a programmable logic device integrated circuit that uses a data compression/decompression arrangement of this type is shown in FIG. 3.

In the example of FIG. 3, data is generated by a portion of programmable logic circuitry 30. As an example, data may be generated by sequential and/or combinational logic constructed from user-programmed look-up table and register logic. If the programmable logic device of which programmable logic circuitry 30 is a part has a structure of the type shown in FIG. 2, the programmable logic circuitry may be formed from one or more logic regions 22 and/or 24.

The data from programmable logic circuitry 30 is provided on parallel data lines 32. The number of lines 32 that are used in parallel at the output of programmable logic circuitry 30 depends on the particular type of programmable logic circuitry involved. As an example, the programmable logic circuitry 30 may produce data on 36 data lines 32.

The signals on these 36 conductors are serialized (compressed) using parallel-to-serial converter circuitry 34. Such a parallel-to-serial converter 34 (sometimes also called a multiplexer or data compressor) feeds data from multiple parallel lines to a reduced number of one or more parallel lines. As an example, the data from 36 conductors 32 may be time-division multiplexed using parallel-to-serial converter 34 so that it can be conveyed over 18 vertical and/or horizontal lines in interconnection resources 16. In a conventional (uncompressed) arrangement, the parallel-to-serial conversion process would not take place, so that 36 interconnect conductors would be required to convey this data across the device. In the present situation, in contrast, only 18 interconnect lines 16 are needed.

Parallel-to-serial converters such as parallel-to-serial converter 34 of FIG. 3 may be constructed using hardwired (e.g., substantially non-programmable) circuits or by user-programmed programmable logic 18 (FIG. 1) (e.g., programmable logic such as the logic of regions 22 and/or 24 of FIG. 2). An advantage of using programmable logic to form parallel-to-serial converters such as converter 34 is that when the capabilities of the dedicated circuitry (e.g., the DSP or memory circuitry) on the device are not used or do not use compressed data and the parallel-to-serial converters are therefore not needed, the logic resources that might otherwise be used for the parallel-to-serial converters can be returned to the pool of general logic resources available to the user for implementing a desired logic function.

The data that was compressed using the time-division multiplexing capabilities of parallel-to-serial converter 34 may be decompressed (i.e., deserialized or demultiplexed) using serial-to-parallel converter circuitry 36. Serial-to-parallel converter circuitry 36 may be formed from programmable logic 18 (FIG. 1) (e.g., by allowing the user to program the logic regions 22 and/or 24) or may be formed using dedicated hardwired circuitry. An advantage of using a hardwired serial-to-parallel converter 36 is that it requires fewer resources to implement (e.g., fewer transistors) than a serial-to-parallel converter formed from programmable logic.

Serial-to-parallel converter 36 decompresses the serialized data received on interconnect lines 16. In the present example, the data from the 18 parallel interconnects 16 is deserialized and placed on 36 associated parallel conductors 38.

Serial-to-parallel converters such as serial-to-parallel converter 36 may be formed adjacent to and as part of dedicated digital circuitry 40, to minimize the length of conductors 38 and thereby conserve real estate on device 10.

Dedicated circuitry 40 may include dedicated hardwired circuitry (e.g., non-programmable or nearly non-programmable circuitry that is used for a particular purpose such as a dedicated multiplier, a dedicated accumulator, a dedicated adder, a dedicated memory, etc.)

After the parallel data signals that are provided on lines 38 are processed by dedicated circuitry 40, a corresponding set of parallel output signals are provided on parallel output lines 42. In the current example, there are 36 input lines 38 and 36 corresponding parallel output lines 42.

To minimize the consumption of interconnect resources, the data on the 36 parallel output lines 42 may be compressed using time-division multiplexing (i.e., by serializing the data using parallel-to-serial converter 44). Converter 44 may be formed from user-programmed programmable logic or from dedicated hardwired circuitry. The use of dedicated circuitry to form parallel-to-serial converter 44 may be advantageous in that this circuitry consumes less real estate on device 10 than circuitry formed from programmable logic.

After the parallel output signals from dedicated digital circuitry 40 have been serialized (e.g., to reduce the number of signal lines carrying this data from 36 to 18 lines in this example), the signals may be conveyed over interconnects 16 (e.g., 18 parallel horizontal and/or vertical interconnect conductors from the general interconnection resources 16 of device 10) to programmable logic circuitry elsewhere on the device such as programmable logic circuitry 50. Before the serialized signals are provided to programmable logic circuitry 50, these signals may be deserialized using a serial-to-parallel converter such as serial-to-parallel converter 46. Converter 46 (like converter 36) may time-demultiplex the data on lines 16 and provide corresponding deserialized data to programmable logic circuitry 50 over lines 48.

To minimize the real estate consumed by lines 48, lines 48 may be relatively short local lines and serial-to-parallel converter 46 may be formed adjacent to programmable logic circuitry 50. Serial-to-parallel converter 46 may be formed from dedicated hardwired circuits or may be a programmable logic serial-to-parallel converter formed by a user from programmable logic resources. An advantage of using programmable resources to form serial-to-parallel converter 46 is that these resources can be used to implement other desired functions when the decompression capabilities of the serial-to-parallel converter are not being used in a particular design.

Although the illustrative arrangement of FIG. 3 uses data compression and decompression on both the input and output sides of dedicated digital circuitry 40, this is merely illustrative. Data compression may, if desired, be only used on the input side (e.g., between the outputs of circuitry such as programmable logic circuitry 30 and the input of digital circuitry such as dedicated digital circuitry 40) or may only be used on the output side (e.g., between the outputs of digital circuitry such as hardwired circuitry 40 and the inputs of circuitry such as programmable logic circuitry).

The arrangement of FIG. 3 involves the use of additional circuitry such as parallel-to-serial and serial-to-parallel converters to support data compression and decompression functions just before and after data is transmitted over sections of interconnect 16. The overhead associated with using compression and decompression circuitry on device 10 is offset by the resulting savings in interconnect resource overhead. The overall reduction in overhead that can be achieved is particularly great when significant lengths of interconnects 16 are involved. For example, when a particular logic design requires that data be conveyed from programmable logic in the first row of the device to a dedicated multiplier in the last row (e.g., the tenth row) of a device, the interconnects 16 used to convey this data span 10 rows of the device and therefore occupy a substantial portion of the device area. By reducing the number of interconnect lines (e.g., by a factor of 2, by a factor of 4, etc.), the area consumed by the interconnects is reduced. The device 10 can therefore be constructed with fewer interconnect lines and correspondingly increased amounts of logic circuitry can be provided in the available real estate on the circuit or more data can be conveyed over a fixed number of interconnect lines.

The parallel-to-serial converters such as converters 34 and 44 can be N:1 converters, where N is 2, 3, 4, or any other suitable number. The serial-to-parallel converters such as converters 36 and 46 can be 1:N converters, where N is 2, 3, 4, or any other suitable number. As an example, the parallel-to-serial converters may be 2:1 converters and the serial-to-parallel converters may be 1:2 converters.

The parallel-to-serial converters and serial-to-parallel converters may or may not include registers. If register logic is used in the converters, signals may be registered (e.g., temporarily buffered by passing through a register). Such registers may also be selectively bypassed by users. For example, with one suitable arrangement, parallel-to-serial converter 34 is constructed from user-configured programmable logic 18 containing registers. The user can configure the programmable logic in the parallel-to-serial converters to bypass undesired registers. Similarly, the serial-to-parallel converter 46 may be constructed from register logic and programmable logic. A user can either bypass the registers or include the registers in the data path by appropriate programming of the logic (e.g., by loading appropriate configuration data into the device 10).

An illustrative parallel-to-serial converter 52 is shown in FIG. 4. Converter 52 of FIG. 4 is a 2:1 converter (as an example). Input data is provided on parallel input lines 54. Corresponding output data that has been serialized by the parallel-to-serial converter is placed on output lines 56. Converter 52 has a number of switches 58, which are controlled by control signals (clocks) on control lines 60. Under the control of these control signals, switches 58 alternately connect either their upper or their lower inputs to their outputs. As shown in FIG. 4, this results in the combining of parallel data (e.g., signal d1 on the upper input data line 54 and the signal d2 on the lower input data line in the top of FIG. 4) onto a smaller number of output lines (e.g., so signals d1 and d2 are time multiplexed onto a single corresponding output line 56 at the top of FIG. 4).

When converters have register logic, multiplexers 62 may be used to selectively include or bypass the register logic. As shown in FIG. 4, for example, multiplexers 62 may be controlled by control signals provided via control lines 64. When the control signals have one value, the input of a given multiplexer 62 is routed to its upper output, so that data is routed through a corresponding register 66 before passing to an associated output line 56. When the control signals have another value, the input of the given multiplexer 62 is routed to its lower output, so that data is routed through an unregistered path 68 before passing to the associated output line 56.

The converter 52 of FIG. 4 may be used (for example) as converter 34 or converter 44 (preferably without register logic) of FIG. 3.

The converter 52 uses switches 58 to time multiplex data from a greater number of input lines 54 onto a reduced number of output lines 56 and is therefore sometimes referred to as a data compressor or multiplexer. Serial-to-parallel converters work the same way, except that in serial-to-parallel conversion data passes through the switches 58 in the opposite direction. As a result, in serial-to-parallel converters, time-multiplexed serial data is presented at the single input of each switch 58 and is directed in a time-alternating fashion to that switch's two or more switch outputs.

The converter arrangement of FIG. 4 is merely illustrative. Any other suitable arrangement may be used for a parallel-to-serial and serial-to-parallel conversion. For example, register logic such as the registers 66 of FIG. 4 and the associated bypass circuitry are optional.

Data compression and decompression arrangements using on-chip parallel-to-serial and serial-to-parallel converters may be used in any integrated circuit arrangement in which it is desired to minimize interconnect resource consumption. In one suitable arrangement, the integrated circuit is a programmable logic device and the dedicated hardwired circuitry 40 includes a multiplier.

This type of arrangement is shown in FIG. 5. As shown in FIG. 5, data may be generated by logic circuitry 70. Circuitry 70 may be, for example, programmable logic circuitry whose operation is configured by a user.

There may be 36 parallel data outputs 72 associated with circuitry 70. These 36 parallel outputs may be routed on 36 parallel lines (e.g., short local lines) to 2:1 parallel-to-serial converter 74. Converter 74 may compress the data on the 36 lines 72 using time-division multiplexing, so that the signals from lines 72 can be conveyed over half the number of interconnect lines 16 (i.e., over 18 parallel interconnect lines 16). The interconnects lines may be formed using global lines or other interconnect lines and may span a significant portion of the device.

The serialized data signals on the interconnects 16 are conveyed from the logic circuitry 70 to the 18.times.18 multiplier circuit 80 via interconnect lines 16. When the signals arrive at the multiplier 80, they are deserialized using 1:2 serial-to-parallel converter 76. Converter 76 may, for example, use time-division demultiplexing techniques to convert the 18 lines of parallel data on interconnects 16 into 36 lines of parallel data on 36 short local parallel lines 78.

Multiplier 80 may be an 18-bit.times.18-bit multiplier that is hardwired to perform multiplication operations. If desired, multiplier 80 may be configured as multiple 9-bit.times.9-bit multipliers or as an 18-bit.times.18-bit multiplier by the user. The multiplier processes incoming data signals to produce 36 bits of processed data signals.

The 36-bit result of the 18-bit.times.18-bit multiplication operation performed multiplier 80 is provided on 36 parallel short local output lines 82. A nearby 2:1 parallel-to-serial converter 84 uses time-division multiplexing to direct the 36 parallel data signals from lines 82 onto 16 associated interconnect lines 16.

The interconnect lines 16 are used to transport the output data from the multiplier 80 to the appropriate logic circuitry 90 on the device that is to use this output data. The interconnect lines may, for example, include global (or partially-global) vertical and/or horizontal interconnects.

At the logic circuitry 90, a 1:2 serial-to-parallel converter 86 may be used to place the 18 lines of serialized data on 36 corresponding data lines 88 (e.g., short local lines) that are connected to logic circuitry 90.

The converters 74 and 86 may be formed from programmable logic and may include bypassable registers (as an example). The converters 76 and 84 may be (for example) dedicated hardwired converters.

The interconnects 16 on a given type of integrated circuit can only support a given maximum data rate. This data rate or frequency is dictated by the type of semiconductor fabrication process that is used to manufacture the integrated circuit and the resulting electrical characteristics of the interconnect conductors. Factors that can influence the maximum data rate supported by a given conductor include its impedance and its position on the integrated circuit relative to other lines and various circuit blocks.

The maximum frequency of signal that can pass through interconnects 16 limits the data rate for the serialized (time-multiplexed/compressed) data passing through the interconnects between the respective converters. This in turn affects the maximum frequency at which upstream circuits such as logic circuitry 70 and downstream circuits such as logic circuitry 90 can operate. The interconnects may have a maximum operating frequency of f.sub.INTERCONNECT and the parallel-to-serial converter just upstream of the interconnects may have a compression ratio of N (e.g., N=2, so that the data from 36 lines of data can be carried on 18 interconnect lines). In this situation, the maximum frequency of operation of logic circuitry 70 and dedicated circuitry such as multiplier 80 will be f.sub.INTERCONNECT/N (i.e., one-half of the maximum frequency that would be possible if a full complement of interconnect lines were used without data compression). The use of data compression to compress interconnect data may therefore impose speed limitations on portions of the integrated circuit's circuitry.

To address these speed limitations, routing resources associated with one type of dedicated circuit such as a true dual-port memory can be shared with another type of dedicated circuit such as a multiplier. Switching circuitry can be used to selectively steer signals through the dedicated circuitry.

When data compression is used, the memory and multiplier portions of the dedicated circuitry may each receive half of the interconnects and may therefore be operated at a somewhat reduced capacity relative to their maximum potential. The memory may, for example, operate only as a simple dual-port memory rather than as a true dual-port memory and the multiplier may operate only at half of its maximum possible speed (i.e., it may operate at f.sub.INTERCONNECT/2).

When data compression is not used, the interconnect resources can either be allocated entirely to one type of circuit (e.g., to the memory) or to the other type of circuit (e.g., to the multiplier). Because in this situation the memory or multiplier is provided with a full complement of interconnects, it need not operate with reduced functionality or at a reduced operating speed. For example, when the interconnects that would otherwise be associated with the memory are allocated to the multiplier, the multiplier need not operate at the reduced speed of f.sub.INTERCONNECT/2, but rather can operate at the maximum frequency f.sub.INTERCONNECT that is permitted by the interconnects.

In general, any two dedicated circuits (or three or more dedicated circuits or circuits that include programmable logic) may share interconnect resources. For clarity, the principles of the interconnect resource sharing scheme of the present invention will be described primarily in the context of dedicated circuitry that has a dual-port memory circuit and a multiplier circuit. This is, however, merely one illustrative arrangement that may be used. Any suitable circuits may share interconnect resources if desired.

Circuitry 92 on an illustrative integrated circuit in which multiple circuits share interconnect resources is shown in FIG. 6. The integrated circuit of which circuitry 92 is a part may be any suitable integrated circuit such as a programmable logic device integrated circuit, a microprocessor, a digital signal processor, a memory-based device, an application-specific integrated circuit (ASIC), etc. Circuitry 92 may be controlled by static and/or dynamic control signals. In one suitable arrangement, circuitry 92 is part of a programmable logic device and control signals for controlling the allocation of resources and other configurable settings within circuitry 92 are provided in the form of static control signals from programmable elements such as programmable elements 20 of FIG. 1.

As shown in FIG. 6, data may be generated by circuits such as logic 94 and logic 96. Circuits 94 and 96 may be any suitable circuitry that generates data signals (e.g., a digital circuit that generates digital signals). As an example, circuits 94 and 96 may be programmable logic circuits (e.g., part of programmable logic 18) that a user has customized using configuration data applied by programmable elements (e.g., elements 20 of FIG. 1). In a programmable logic device of the type shown in FIG. 2, logic 94 and 96 may be formed from the programmable regions 24 and 22.

Logic circuits such as circuits 94 and 96 may generate any suitable number of data signals. In the example of FIG. 6, logic 94 generates 18 data signals on 18 parallel data lines 98 (e.g., as 18-bit digital words) and logic 96 generates data on up to 36 data lines 100 (e.g., as two 18-bit words). The numbers of lines in the various signal conductor structures shown in FIG. 6 are merely illustrative. Any suitable numbers of data conductors may be used if desired.

The circuitry within the dashed box 102 of FIG. 6 includes (in this example) a memory circuit 104 and a multiplier 106. These are dedicated hardwired circuits with either no capacity for reconfiguration or only modest reconfiguration capabilities. As an example, multiplier 106 may be permanently fixed in an 18-bit.times.18-bit configuration or may have the limited capability to be reconfigured as desired by a user to operate as either an 18-bit.times.18 bit multiplier or multiple 9-bit.times.9-bit multipliers. Regardless of whether circuits such as multiplier 106 and memory 104 are capable of such modest reconfiguration, these circuits are dedicated to their intended function (e.g., data storage, multiplication or other digital signal processing tasks, etc.). These circuits are therefore considered to be hardwired circuits and not programmable logic such as programmable logic 18 of FIG. 1.

The circuitry of dashed box 102 is generally located in a localized area of the integrated circuit (i.e., only short local conductors and no long interconnects 16 are used within box 102). The circuitry of dashed box 102 may be used on a programmable logic device of the type shown in FIG. 2. In this situation, the multiplier 106 and memory 104 of FIG. 6 may be located adjacent to each other, as shown by the digital signal processor circuitry 26 and memory 28 of FIG. 2.

As shown in FIG. 6, interconnects 16 are used to convey signals to the circuitry of box 102 from logic 94 and 96 and are used to convey signals from the circuitry of box 102 to circuitry such as logic circuitry 108 and 110. Logic circuitry 108 and 110 may be any suitable digital circuitry such as programmable logic circuitry on a programmable logic device.

In some situations, parallel-to-serial converters and serial-to-parallel converter circuitry may be used to compress and decompress data. For example, 2:1 parallel-to-serial converter 112 can be used to compress data (using time-division multiplexing), so that the data on the 36 output lines 100 from logic 96 can be conveyed to circuitry 102 over only 18 interconnect lines 16. At dedicated circuitry 102, a corresponding 1:2 serial-to-parallel converter 114 may be used to deserialize the incoming data. Time-division demultiplexing is used so that the data signals on 18 input lines 115 can be placed on 36 corresponding lines (18 lines 116a and 18 lines 116b).

In certain circumstances, time-division multiplexing and demultiplexing may also be used on the output side of hardwired circuitry 102. For example, 2:1 parallel-to-serial converter 120 may be used to map 36 input lines (18 lines 122a and 18 lines 122b) to a corresponding set of 18 lines 124, which are coupled to 18 associated interconnect lines 16. After being transported across the integrated circuit, the signals on these 18 interconnects 16 may be received by a serial-to-parallel converter 126 in the vicinity of logic 110. Serial-to-parallel converter 126 may use time-division demultiplexing techniques to convert the 18 lines of compressed data from interconnects 16 to 36 corresponding data lines 128. Lines 128 are connected to logic 110.

Circuitry 92 includes switching circuitry that can be configured to selectively steer data signals through the memory 104, the multiplier 106, or both the memory and multiplier. A user (e.g., a logic designer) may configure circuitry 92 as desired to optimize a desired logic design. If the functions of a true dual-port memory are desired, the multiplication capabilities of multiplier 106 may be sacrificed and all data from circuits 94 and 96 and all of the data to circuits 108 and 110 may be routed through input ports 130a and 130b and output ports 132a and 132b of memory 104. If the functions of a full-speed multiplier are desired (i.e., a multiplier operating at f.sub.INTERCONNECT rather than f.sub.INTERCONNECT/2), the storage capabilities of memory 104 may be sacrificed and data from logic 94 and logic 96 and data to logic 108 and logic 110 may be routed through input ports 134a and 134b and output ports 136a and 136b of multiplier 106.

Both memory functions and multiplier functions may be provided simultaneously by routing signals from logic 94 to logic 108 through memory 104 and by routing signals from logic 96 to logic 110 through multiplier 106. In this configuration, both the memory 104 and multiplier 106 function in a somewhat reduced capacity. Memory 104 serves as a simple dual port memory rather than a true dual port memory and multiplier 106 operates at half its maximum potential speed (i.e., at f.sub.INTERCONNECT/2). Nevertheless, this configuration allows use of data compression and decompression, which minimizes interconnect resource consumption.

Any suitable switching circuitry arrangement may be used to route signals through the appropriate portions of the hardwired circuitry 104 and 106. With one suitable arrangement, switching circuitry is provided in the form of multiplexer circuits (sometimes called multiplexers and demultiplexers or switching circuits) that are based on transistors controlled by configuration bits. If desired, switching circuitry may be used that is controlled by dynamic control signals.

In the illustrative configuration of FIG. 6, multiplexer circuit 138 directs the signals on its 18 inputs 140 to 18 corresponding outputs selected from (1) 18 outputs 142, (2) 18 outputs 115, and (3) 18 outputs 144. Multiplexer 138 may be controlled by static or dynamic control signals applied to control input 146.

Multiplexers 148 and 150 may be controlled by static or dynamic control signals applied respectively to control inputs 151 and 152. Multiplexer 148 may be configured to either connect its 18 inputs 154 (which are connected to 18 corresponding interconnects 16 from logic 94) or its 18 inputs 116a to its 18 outputs at port 134a of multiplier 106. Multiplexer 150 may be configured to either connect its 18 inputs at lines 116b or its 18 inputs at output lines 144 from multiplexer 138 to its 18 multiplexer outputs at input port lines 134b of multiplier 106.



Free Web Sudoku Puzzles.
Solve with your browser.
    4 2          
9   3   8        
            3 7  
  3   6     4    
6   7 3   8 2   9
    5     9   1  
  4 8            
        3   9   6
          4 1    
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!