US6314551B1 - System processing unit extended with programmable logic for plurality of functions - Google Patents

System processing unit extended with programmable logic for plurality of functions Download PDF

Info

Publication number
US6314551B1
US6314551B1 US09/102,465 US10246598A US6314551B1 US 6314551 B1 US6314551 B1 US 6314551B1 US 10246598 A US10246598 A US 10246598A US 6314551 B1 US6314551 B1 US 6314551B1
Authority
US
United States
Prior art keywords
integrated circuit
logic blocks
operable
programmable logic
functional logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US09/102,465
Inventor
David J. Borland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Morgan Stanley and Co LLC
Original Assignee
Morgan Stanley and Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Morgan Stanley and Co LLC filed Critical Morgan Stanley and Co LLC
Priority to US09/102,465 priority Critical patent/US6314551B1/en
Assigned to ADVANCED MICRO DEVICES, INC. reassignment ADVANCED MICRO DEVICES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BORLAND, DAVID J.
Assigned to MORGAN STANLEY & CO. INCORPORATED reassignment MORGAN STANLEY & CO. INCORPORATED SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEGERITY, INC.
Assigned to LEGERITY, INC. reassignment LEGERITY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ADVANCED MICRO DEVICES, INC.
Application granted granted Critical
Publication of US6314551B1 publication Critical patent/US6314551B1/en
Assigned to MORGAN STANLEY & CO. INCORPORATED, AS FACILITY COLLATERAL AGENT reassignment MORGAN STANLEY & CO. INCORPORATED, AS FACILITY COLLATERAL AGENT SECURITY AGREEMENT Assignors: LEGERITY HOLDINGS, INC., LEGERITY INTERNATIONAL, INC., LEGERITY, INC.
Assigned to SAXON IP ASSETS LLC reassignment SAXON IP ASSETS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEGERITY, INC.
Assigned to LEGERITY, INC. reassignment LEGERITY, INC. RELEASE OF SECURITY INTEREST Assignors: MORGAN STANLEY SENIOR FUNDING INC., AS ADMINISTRATIVE AGENT, SUCCESSOR TO MORGAN STANLEY & CO. INCORPORATED
Assigned to LEGERITY, INC., LEGERITY INTERNATIONAL, INC., LEGERITY HOLDINGS, INC. reassignment LEGERITY, INC. RELEASE OF SECURITY INTEREST Assignors: MORGAN STANLEY SENIOR FUNDING INC., AS ADMINISTRATIVE AGENT, SUCCESSOR TO MORGAN STANLEY & CO. INCORPORATED, AS FACILITY COLLATERAL AGENT
Assigned to SAXON INNOVATIONS, LLC reassignment SAXON INNOVATIONS, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAXON IP ASSETS, LLC
Assigned to LG ELECTRONICS INC. reassignment LG ELECTRONICS INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAXON INNOVATIONS, LLC
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Definitions

  • This invention relates to integrated circuits in general and, more particularly, to a system processing unit which can be extended using a plurality of programmable logic units for a plurality of functions.
  • a typical computer system is made up of a multitude of different, specialized computer chips.
  • Chip makers can now place an increasingly large number of transistors on a single chip. For example, currently chip manufacturers are able to place up to ten million transistors on a single integrated circuit or monolithic substrate. It is anticipated that within several years chip makers will be able to place one billion transistors on a single chip.
  • computer systems are evolving toward comprising a handful of computer chips, where each computer chip comprises a plurality of functions. economies of scale in manufacturing require that start-up costs be amortized over as many pieces of a product as possible to keep per-unit costs low.
  • Custom integrated circuits are usually only produced in limited numbers, making the per-unit costs much higher than standard integrated circuits. This makes many custom integrated circuits uncompetitive in the marketplace. Therefore, an improved system is desired which allows a variety of custom integrated circuits to be designed and manufactured as a single integrated circuit, so that start-up costs can be amortized over a plurality of different integrated circuit products.
  • the present invention comprises a main system processing unit which can be extended using a plurality of programmable logic units for a plurality of possible functions.
  • the main system processing unit is preferably comprised in an integrated circuit.
  • the integrated circuit also includes a plurality of functional logic blocks, a plurality of input/output (I/O) pads, and programmable logic coupled to each of the plurality of functional logic blocks.
  • the main system processing unit is operable to perform a first function.
  • Each of the plurality of functional logic blocks is operable to perform a respective function.
  • the pro(grammable logic is operable to route data to and from various ones of the plurality of functional logic blocks.
  • the programmable logic is also programmable to configure operation of two or more of the plurality of functional logic blocks and is also programmable to create data paths between two or more of the plurality of functional logic blocks to configure the integrated circuit for one of the plurality of possible functions.
  • the plurality of I/O pads are coupled to the main system processing unit and the plurality of functional logic blocks. The I/O pads are operable to transfer data signals between the integrated circuit and an external device.
  • the programmable logic is further configurable to perform a function different from each of the plurality of functional logic blocks.
  • the programmable logic is preferably non-volatile.
  • the integrated circuit preferably further comprises a memory for storing program instructions executable by the main system processing unit.
  • the main system processing unit is operable to program the programmable logic in response to execution of the program instructions.
  • the program instructions may be downloadable from an external device.
  • the programmable logic is further configurable to selectively disable one or more of the functional logic blocks.
  • one or more functional blocks may be selectably permanently disabled during configuration or manufacture, that is, the one or more functional blocks to be disabled are no longer functional for their respective original purpose.
  • the programmable logic is further coupled to the main system processing unit and the plurality of I/O pads, and the programmable logic is further operable to route data to and from the main system processing unit and the plurality of I/O pads.
  • the functional logic blocks include a first group of functional logic blocks and a second group of functional logic blocks, with the second group of functional logic blocks being redundant ones of the first group of functional logic blocks.
  • the programmable logic is operable to route data to one of the first group of functional logic blocks and a respective one of the second group of functional logic blocks.
  • the programmable logic is preferably further configurable to reroute data bound to and from one of the first group of functional logic blocks to a redundant one of the second group of functional logic blocks.
  • a system for configuring the integrated circuit for one of a plurality of possible functions.
  • the system comprises a computer system, the integrated circuit, and a cable for operatively coupling the computer system and the integrated circuit.
  • the computer system preferably includes a system bus for transferring commands and data, a processor coupled to said system bus, a memory which is operable to store commands and data in a form accessible by the processor, and an I/O port coupled to said system bus.
  • the processor is operable to execute the commands and operate on the data, and the I/O port is operable to conduct programming instructions and data in response to processor operation.
  • the integrated circuit is coupled to the I/O port and receives the programming instructions and data from the I/O port which operates to configure the integrated circuit.
  • the integrated circuit is configurable for a plurality of possible functions and includes a main system processing unit, a plurality of functional logic blocks, programmable logic, and a plurality of I/O pads.
  • the plurality of I/O pads are operable to transfer data signals between the I/O port of the computer system and the integrated circuit.
  • the processor is operable to execute an application which provides the programming instructions and data to the I/O port, wherein the programming instructions and data operate to configure the integrated circuit with one of the plurality of possible functions.
  • the application configures the programmable logic on the integrated circuit through the I/O port, and the integrated circuit receives a configuration from the application through the I/O pads.
  • the cable preferably couples the I/O port and the I/O pads.
  • the I/O port includes a plurality of computer system I/O pins
  • the integrated circuit further includes a plurality of I/O pins operatively coupled to the plurality of I/O pads.
  • One or more of the I/O pads is operable to accept I/O from one or more of the plurality of I/O pins.
  • FIG. 1 illustrates a prospective, cut-away view of a computer chip
  • FIG. 2 illustrates a top view of a block diagram of an embodiment of the semiconductor portion of the integrated circuit, according to the present invention.
  • FIG. 3 illustrates an embodiment of a system for programming the integrated circuit of FIG. 2, according to the present invention.
  • the present invention comprises a device and system for extending, a main system processing unit with programmable lomuc for a plurality of functions
  • a main system processing unit with programmable lomuc for a plurality of functions
  • FIG. 1 Computer Chip
  • Integrated circuit 110 of cocomputer chip 100 preferably comprises a monolithic silicon substrate comprising, a plurality of transistors.
  • the integrated circuit 110 may also use gallium arsenide (GaAs) or another suitable semiconductor material; the computer chip 100 may also use optical transmission.
  • GaAs gallium arsenide
  • PGA ceramic socket mount pin grid array
  • the integrated circuit 110 may be packaged in any of various ways, including as a surface mount, socket mount, or insertion/socket mount.
  • Materials used in the packaging 130 of integrated circuit 110 may include ceramic packages, leadless chip carrier packages (LCC), glass-sealed packages, or plastic packages.
  • Chip packages 130 for computer chip 100 may include, ceramic quad flatpack (CQFP), PGA, ceraoic dual in-line package (C-DIP), LCC socket or surface mount, ceramic dual in-line package (CERDIP), ceramic quadpack (CERQUAD), small outline package gull wing (SOP), small outline package J-lead (SOJ), thin small outline package (TSOP) etc. and may have any of various types of connectivity including pin grid array (PGA), ball grid array (BGA), direct chip attach (DCA), metal bands or pins etc. Also usable is the controlled collapse chip connection (C 4 ) method, commonly known as the “flip chip” method.
  • CQFP ceramic quad flatpack
  • C-DIP ceraoic dual in-line package
  • CERDIP ceramic dual in-line package
  • CERDIP ceramic quadpack
  • SOP small outline package gull wing
  • SOJ small outline package J-lead
  • TSOP thin small outline package
  • C 4 controlled collapse chip connection
  • integrated circuit 110 comprises a devain system processing unit which can be extended using a plurality of programmable logic unit for a plurality of possible functions.
  • the present invention allows “system on a chip” producers to integrate module designs from different sources or module core vendors. This promotes integration of “best of breed” cores from an evolving industry of “virtual component” suppliers. Further details of the components of the computer chip will be given in the descriptions of FIG. 2 .
  • FIG. 2 Configurable Integrated Circuit
  • the main system processing unit 210 is preferably comprised in the integrated circuit 110 , which also includes a plurality of functional logic blocks 220 A- 220 E, a plurality of input/output (I/O) pads 240 , and programmable logic 230 coupled to each of the plurality of functional logic blocks 220 .
  • the main system processing unit 210 is operable to perform a first function. It is contemplated that the first function of main system processing unit 210 could be that of a central processing unit or digital signal processor, or a complex module or modules with a variety of computational and storage capabilities.
  • Each of the plurality of functional logic blocks 220 is operable to perform a respective function. These functions may be as filters, transforms, or of other various computational or relational varieties.
  • the programmable logic 230 is operable to route data to and from various ones of the plurality of functional logic blocks 220 .
  • the programmable logic 230 is programmable to configure operation of two or more of the plurality of functional logic blocks 220 and is also programmable to create data paths between two or more of the plurality of functional logic blocks 220 to configure the integrated circuit 110 for one of the plurality of possible functions.
  • the plurality of I/O pads 240 are coupled to the main system processing unit 210 and the plurality of functional logic blocks 220 .
  • the I/O pads 240 are operable to transfer data signals between the integrated circuit 110 and an external device, such as 310 in FIG. 3 .
  • the programmable logic 230 is further configurable to perform a function different from each of the plurality of functional logic blocks 220 .
  • the programmable logic may be volatile or non-volatile, as desired
  • the integrated circuit 110 preferably further comprises a memory (not shown) for storing program instructions executable by the main system processing unit 210 .
  • the main system processing unit 210 is operable to pro(gram the programmable logic 230 in response to execution of the program instructions.
  • the memory is comprised in the main system processing unit 210 .
  • the program instructions may be downloadable from the external device.
  • the programmable logic 230 is further configurable to selectively disable one or more of the functional logic blocks 220 .
  • selectively disabling one or more functional blocks is permanent; that is, the one or more functional blocks to be disabled are no longer functional for their respective original purpose.
  • an integrated circuit 110 which includes functional blocks 220 A- 220 Z, to create an integrated circuit 110 that is limited to only certain capabilities, all but two functional blocks, 220 A and 220 R, may be disabled.
  • the programmable logic 230 is further coupled to the main system processing unit 210 and the plurality of I/O pads 240 , and the programmable logic 230 is further operable to route data to and from the main system processing unit 210 and the plurality of I/O pads 240 .
  • the functional logic blocks 220 include a first group of functional logic blocks 220 A/B and a second group of functional logic blocks 220 C/D, with the second group of functional logic blocks 220 C/D being redundant ones of the first group of functional logic blocks 220 A/B.
  • the programmable logic 230 is operable to route data to one 220 A of the first group of functional logic blocks 220 A/B and a respective one 220 C of the second group of functional logic blocks 220 C/D.
  • the programmable logic 230 is preferably further configurable to reroute data bound to and from one 220 B of the first group of functional logic blocks 220 A/B to a redundant one 220 D of the second group of functional logic blocks 220 C/D.
  • the integrated circuit 110 is operable to dynamically reconfigure the programmable logic 230 in response to program instructions or in response to a result of monitoring program instructions. This self-configuring execution of programming allows the integrated circuit 110 to monitor operations within the integrated circuit 110 and reprogram the programmable logic 230 as needed for efficient operation.
  • the integrated circuit 110 reprograms the programmable logic 230 in response to a static condition, such as stand-by, to act as a hardware monitor for power savings. Lower power consumption may be preferably achieved by substituting hardware monitoring for software monitoring.
  • a signal input preferably activates the integrated circuit 110 to reprogram the programmable logic 230 in response to the signal input.
  • Various configurations are preferably stored in the memory for programming the programmable logic 230 .
  • Monitoring the operations within the integrated circuit 110 include monitoring the program instructions either as they are executed or as the program instructions are fetched or queued. Contemplated embodiments of monitoring the program instructions include counting how many times a program sequence occurs or the fetching of a particular instruction or sequence of instructions.
  • the integrated circuit 110 is housed and protected inside packaging 130 .
  • One or more of the plurality of I/O pins 240 are coupled to one or more pins 140 .
  • the integrated circuit 110 may be operably coupled to a computer system 310 for programming the pro(grammable logic 230 in such a way as to configure the integrated circuit 110 for one of the plurality of possible functions for which the integrated circuit 110 was designed. Additional details on the computer system 310 are given with respect to FIG. 3 below.
  • FIG. 3 System for Configuring the Integrated Circuit
  • the system 300 comprises a computer system 310 , optionally with a monitor 320 , which couples to a programming pad 330 .
  • Programming pad 330 operationally couples to the integrated circuit 110 for programming the programmable logic 230 , which is a part of the integrated circuit 110 , such that the integrated circuit 110 can perform one of the plurality of possible functions.
  • the minimum requirements for the computer system include a system bus, a processor and a memory controller each coupled to the system bus, a memory coupled to the memory controller, and an I/O port coupled to the system bus.
  • the system bus transfers commands and data between devices coupled to the system bus.
  • the processor executes the commands and operates on the data.
  • the memory stores the commands and the data in a form accessible by the processor.
  • the I/O port conducts programming instructions and data from the computer system 310 to the integrated circuit 100 .
  • the computer system 310 and the programming pad 330 operationally connect via electrical or optical couplings 315 , such as one or more cables, wires, or optical fibers, as desired. It is also contemplated that radio waves or similar frequency of electromagnetic radiation might be used to program the integrated circuit 100 , allowing for a cable-less design.
  • the system 300 is operable to configure the integrated circuit 110 for one of the plurality of possible functions.
  • the system comprises a computer system 310 , computer chip 100 including the integrated circuit 110 , and a cable 315 for operatively coupling the computer system 210 and the computer chip 100 including the integrated circuit 110 .
  • the computer system preferably includes a system bus for transferring commands and data, a processor coupled to said system bus, a memory which is operable to store commands and data in a form accessible by the processor, and an I/O port coupled to said system bus.
  • the processor is operable to execute the commands and operate on the data, and the I/O port is operable to conduct programming instructions and data in response to processor operation.
  • the integrated circuit 110 is configurable for a plurality of possible functions and includes a main system processing unit 210 , a plurality of functional logic blocks 220 , programmable logic 230 , and a plurality of I/O pads 240 .
  • the plurality of I/O pads 240 are operable to transfer data signals between the integrated circuit 110 and the I/O port of the computer system 310 .
  • the processor is operable to execute an application which provides the programming instructions and data to the I/O port, wherein the programming instructions and data operate to configure the integrated circuit 110 with one of the plurality of possible functions.
  • the application configures the programmable logic 230 on the integrated circuit 110 through the I/O port, and the integrated circuit 110 receives a configuration from the application through the I/O pads 240 .
  • the cable 315 preferably couples the I/O port and the I/O pads 240 .
  • the I/O port includes a plurality of computer system I/O pins
  • the computer chip 100 including the integrated circuit 110 further includes a plurality of I/O pins 140 operatively coupled to the plurality of I/O pads 240 .
  • One or more of the I/O pads 240 is operable to accept I/O from one or more of the plurality of I/O pins 240 .
  • the present invention comprises a main system processing unit which can be extended using a plurality of programmable logic unit for a plurality of possible functions and a system for programming, same.

Abstract

An integrated circuit including a main system processing unit which can be extended using a plurality of programmable logic unit for a plurality of possible functions, and a system for programming same. The integrated circuit also includes a plurality of functional logic blocks, a plurality of input/output (I/O) pads, and programmable logic coupled to each of the plurality of functional logic blocks. The main system processing unit is operable to perform a first function. Each of the plurality of functional logic blocks is operable to perform a respective function. The programmable logic is operable to route data to and from various ones of the plurality of functional logic blocks. The programmable logic is programmable to configure operation of two or more of the plurality of functional logic blocks and is also programmable to create data paths between two or of the plurality of functional logic blocks to configure the integrated circuit for one of the plurality of functions. The plurality of I/O pads is coupled to the main system processing unit and the plurality of functional logic blocks. The I/O pads are operable to transfer data signals between the integrated circuit and an external device. The programmable logic may perform a function different from each of the plurality of functional logic blocks. The system for programming the integrated circuit includes a computer system, the integrated circuit, and a cable for coupling the two.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to integrated circuits in general and, more particularly, to a system processing unit which can be extended using a plurality of programmable logic units for a plurality of functions.
2. Description of Related Art
The concepts of integrated circuits and computer systems are generally well known. A typical computer system is made up of a multitude of different, specialized computer chips. Chip makers can now place an increasingly large number of transistors on a single chip. For example, currently chip manufacturers are able to place up to ten million transistors on a single integrated circuit or monolithic substrate. It is anticipated that within several years chip makers will be able to place one billion transistors on a single chip. Thus, computer systems are evolving toward comprising a handful of computer chips, where each computer chip comprises a plurality of functions. Economies of scale in manufacturing require that start-up costs be amortized over as many pieces of a product as possible to keep per-unit costs low. Custom integrated circuits are usually only produced in limited numbers, making the per-unit costs much higher than standard integrated circuits. This makes many custom integrated circuits uncompetitive in the marketplace. Therefore, an improved system is desired which allows a variety of custom integrated circuits to be designed and manufactured as a single integrated circuit, so that start-up costs can be amortized over a plurality of different integrated circuit products.
SUMMARY OF THE INVENTION
The present invention comprises a main system processing unit which can be extended using a plurality of programmable logic units for a plurality of possible functions. The main system processing unit is preferably comprised in an integrated circuit. The integrated circuit also includes a plurality of functional logic blocks, a plurality of input/output (I/O) pads, and programmable logic coupled to each of the plurality of functional logic blocks. The main system processing unit is operable to perform a first function. Each of the plurality of functional logic blocks is operable to perform a respective function. The pro(grammable logic is operable to route data to and from various ones of the plurality of functional logic blocks. The programmable logic is also programmable to configure operation of two or more of the plurality of functional logic blocks and is also programmable to create data paths between two or more of the plurality of functional logic blocks to configure the integrated circuit for one of the plurality of possible functions. The plurality of I/O pads are coupled to the main system processing unit and the plurality of functional logic blocks. The I/O pads are operable to transfer data signals between the integrated circuit and an external device.
In one embodiment, the programmable logic is further configurable to perform a function different from each of the plurality of functional logic blocks. The programmable logic is preferably non-volatile. The integrated circuit preferably further comprises a memory for storing program instructions executable by the main system processing unit. In this embodiment, the main system processing unit is operable to program the programmable logic in response to execution of the program instructions. The program instructions may be downloadable from an external device. In another embodiment, the programmable logic is further configurable to selectively disable one or more of the functional logic blocks. In still another embodiment, one or more functional blocks may be selectably permanently disabled during configuration or manufacture, that is, the one or more functional blocks to be disabled are no longer functional for their respective original purpose.
In another embodiment, the programmable logic is further coupled to the main system processing unit and the plurality of I/O pads, and the programmable logic is further operable to route data to and from the main system processing unit and the plurality of I/O pads. In yet another embodiment, the functional logic blocks include a first group of functional logic blocks and a second group of functional logic blocks, with the second group of functional logic blocks being redundant ones of the first group of functional logic blocks. The programmable logic is operable to route data to one of the first group of functional logic blocks and a respective one of the second group of functional logic blocks. The programmable logic is preferably further configurable to reroute data bound to and from one of the first group of functional logic blocks to a redundant one of the second group of functional logic blocks.
A system is also disclosed for configuring the integrated circuit for one of a plurality of possible functions. The system comprises a computer system, the integrated circuit, and a cable for operatively coupling the computer system and the integrated circuit. The computer system preferably includes a system bus for transferring commands and data, a processor coupled to said system bus, a memory which is operable to store commands and data in a form accessible by the processor, and an I/O port coupled to said system bus. The processor is operable to execute the commands and operate on the data, and the I/O port is operable to conduct programming instructions and data in response to processor operation. The integrated circuit is coupled to the I/O port and receives the programming instructions and data from the I/O port which operates to configure the integrated circuit. The integrated circuit is configurable for a plurality of possible functions and includes a main system processing unit, a plurality of functional logic blocks, programmable logic, and a plurality of I/O pads.
The plurality of I/O pads are operable to transfer data signals between the I/O port of the computer system and the integrated circuit. The processor is operable to execute an application which provides the programming instructions and data to the I/O port, wherein the programming instructions and data operate to configure the integrated circuit with one of the plurality of possible functions. The application configures the programmable logic on the integrated circuit through the I/O port, and the integrated circuit receives a configuration from the application through the I/O pads. The cable preferably couples the I/O port and the I/O pads. In one embodiment, the I/O port includes a plurality of computer system I/O pins, and the integrated circuit further includes a plurality of I/O pins operatively coupled to the plurality of I/O pads. One or more of the I/O pads is operable to accept I/O from one or more of the plurality of I/O pins.
BRIEF DESCRIPTION OF THE DRAWINGS
A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:
FIG. 1 illustrates a prospective, cut-away view of a computer chip;
FIG. 2 illustrates a top view of a block diagram of an embodiment of the semiconductor portion of the integrated circuit, according to the present invention; and
FIG. 3 illustrates an embodiment of a system for programming the integrated circuit of FIG. 2, according to the present invention.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the invention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
The present invention comprises a device and system for extending, a main system processing unit with programmable lomuc for a plurality of functions The use of a letter as part of a number desirnating a component of a system described in this document will be to show multiple instances of equivalent components. All figures will use a uniform numbering system with identical or similar parts across the figures being given identical numbers
FIG. 1—Computer Chip
Referring now to FIG. 1, a computer chip 100 i s shown from a perspective, cut-away view. Integrated circuit 110 of cocomputer chip 100 preferably comprises a monolithic silicon substrate comprising, a plurality of transistors. The integrated circuit 110 may also use gallium arsenide (GaAs) or another suitable semiconductor material; the computer chip 100 may also use optical transmission. Although shown as a ceramic socket mount pin grid array (PGA) package 130 with pins 140, the integrated circuit 110 may be packaged in any of various ways, including as a surface mount, socket mount, or insertion/socket mount. Materials used in the packaging 130 of integrated circuit 110 may include ceramic packages, leadless chip carrier packages (LCC), glass-sealed packages, or plastic packages. Actual type of chip packages 130 for computer chip 100 may include, ceramic quad flatpack (CQFP), PGA, ceraoic dual in-line package (C-DIP), LCC socket or surface mount, ceramic dual in-line package (CERDIP), ceramic quadpack (CERQUAD), small outline package gull wing (SOP), small outline package J-lead (SOJ), thin small outline package (TSOP) etc. and may have any of various types of connectivity including pin grid array (PGA), ball grid array (BGA), direct chip attach (DCA), metal bands or pins etc. Also usable is the controlled collapse chip connection (C4) method, commonly known as the “flip chip” method.
In one embodiment, integrated circuit 110 comprises a devain system processing unit which can be extended using a plurality of programmable logic unit for a plurality of possible functions. The present invention allows “system on a chip” producers to integrate module designs from different sources or module core vendors. This promotes integration of “best of breed” cores from an evolving industry of “virtual component” suppliers. Further details of the components of the computer chip will be given in the descriptions of FIG. 2.
FIG. 2—Configurable Integrated Circuit
A more detailed look is seen of one embodiment of the integrated circuit 110 in FIG. 2. The main system processing unit 210 is preferably comprised in the integrated circuit 110, which also includes a plurality of functional logic blocks 220A-220E, a plurality of input/output (I/O) pads 240, and programmable logic 230 coupled to each of the plurality of functional logic blocks 220. The main system processing unit 210 is operable to perform a first function. It is contemplated that the first function of main system processing unit 210 could be that of a central processing unit or digital signal processor, or a complex module or modules with a variety of computational and storage capabilities.
Each of the plurality of functional logic blocks 220 is operable to perform a respective function. These functions may be as filters, transforms, or of other various computational or relational varieties. The programmable logic 230 is operable to route data to and from various ones of the plurality of functional logic blocks 220. The programmable logic 230 is programmable to configure operation of two or more of the plurality of functional logic blocks 220 and is also programmable to create data paths between two or more of the plurality of functional logic blocks 220 to configure the integrated circuit 110 for one of the plurality of possible functions. The plurality of I/O pads 240 are coupled to the main system processing unit 210 and the plurality of functional logic blocks 220. The I/O pads 240 are operable to transfer data signals between the integrated circuit 110 and an external device, such as 310 in FIG. 3.
In one embodiment, the programmable logic 230 is further configurable to perform a function different from each of the plurality of functional logic blocks 220. The programmable logic may be volatile or non-volatile, as desired The integrated circuit 110 preferably further comprises a memory (not shown) for storing program instructions executable by the main system processing unit 210. In this embodiment, the main system processing unit 210 is operable to pro(gram the programmable logic 230 in response to execution of the program instructions. In one embodiment, the memory is comprised in the main system processing unit 210. The program instructions may be downloadable from the external device. In another embodiment, the programmable logic 230 is further configurable to selectively disable one or more of the functional logic blocks 220. In still another embodiment, selectively disabling one or more functional blocks is permanent; that is, the one or more functional blocks to be disabled are no longer functional for their respective original purpose. For example, in an integrated circuit 110 which includes functional blocks 220A-220Z, to create an integrated circuit 110 that is limited to only certain capabilities, all but two functional blocks, 220A and 220R, may be disabled.
In another embodiment, the programmable logic 230 is further coupled to the main system processing unit 210 and the plurality of I/O pads 240, and the programmable logic 230 is further operable to route data to and from the main system processing unit 210 and the plurality of I/O pads 240. In yet another embodiment, the functional logic blocks 220 include a first group of functional logic blocks 220A/B and a second group of functional logic blocks 220C/D, with the second group of functional logic blocks 220C/D being redundant ones of the first group of functional logic blocks 220A/B. The programmable logic 230 is operable to route data to one 220A of the first group of functional logic blocks 220A/B and a respective one 220C of the second group of functional logic blocks 220C/D. The programmable logic 230 is preferably further configurable to reroute data bound to and from one 220B of the first group of functional logic blocks 220A/B to a redundant one 220D of the second group of functional logic blocks 220C/D.
In yet another embodiment, the integrated circuit 110 is operable to dynamically reconfigure the programmable logic 230 in response to program instructions or in response to a result of monitoring program instructions. This self-configuring execution of programming allows the integrated circuit 110 to monitor operations within the integrated circuit 110 and reprogram the programmable logic 230 as needed for efficient operation. In one embodiment, the integrated circuit 110 reprograms the programmable logic 230 in response to a static condition, such as stand-by, to act as a hardware monitor for power savings. Lower power consumption may be preferably achieved by substituting hardware monitoring for software monitoring. A signal input preferably activates the integrated circuit 110 to reprogram the programmable logic 230 in response to the signal input. Various configurations are preferably stored in the memory for programming the programmable logic 230. Monitoring the operations within the integrated circuit 110 include monitoring the program instructions either as they are executed or as the program instructions are fetched or queued. Contemplated embodiments of monitoring the program instructions include counting how many times a program sequence occurs or the fetching of a particular instruction or sequence of instructions.
In a preferred embodiment, the integrated circuit 110 is housed and protected inside packaging 130. One or more of the plurality of I/O pins 240 are coupled to one or more pins 140. Through the pins 140, the integrated circuit 110 may be operably coupled to a computer system 310 for programming the pro(grammable logic 230 in such a way as to configure the integrated circuit 110 for one of the plurality of possible functions for which the integrated circuit 110 was designed. Additional details on the computer system 310 are given with respect to FIG. 3 below.
FIG. 3—System for Configuring the Integrated Circuit
Referring now to FIG. 3, an embodiment of a system 300 for configuring integrated circuits 110 of computer chips 100 to one of the plurality of possible functions is shown. The system 300 comprises a computer system 310, optionally with a monitor 320, which couples to a programming pad 330. Programming pad 330 operationally couples to the integrated circuit 110 for programming the programmable logic 230, which is a part of the integrated circuit 110, such that the integrated circuit 110 can perform one of the plurality of possible functions. The minimum requirements for the computer system include a system bus, a processor and a memory controller each coupled to the system bus, a memory coupled to the memory controller, and an I/O port coupled to the system bus.
The system bus transfers commands and data between devices coupled to the system bus. The processor executes the commands and operates on the data. The memory stores the commands and the data in a form accessible by the processor. The I/O port conducts programming instructions and data from the computer system 310 to the integrated circuit 100. The computer system 310 and the programming pad 330 operationally connect via electrical or optical couplings 315, such as one or more cables, wires, or optical fibers, as desired. It is also contemplated that radio waves or similar frequency of electromagnetic radiation might be used to program the integrated circuit 100, allowing for a cable-less design.
The system 300 is operable to configure the integrated circuit 110 for one of the plurality of possible functions. The system comprises a computer system 310, computer chip 100 including the integrated circuit 110, and a cable 315 for operatively coupling the computer system 210 and the computer chip 100 including the integrated circuit 110. The computer system preferably includes a system bus for transferring commands and data, a processor coupled to said system bus, a memory which is operable to store commands and data in a form accessible by the processor, and an I/O port coupled to said system bus. The processor is operable to execute the commands and operate on the data, and the I/O port is operable to conduct programming instructions and data in response to processor operation. The integrated circuit 110 is configurable for a plurality of possible functions and includes a main system processing unit 210, a plurality of functional logic blocks 220, programmable logic 230, and a plurality of I/O pads 240.
The plurality of I/O pads 240 are operable to transfer data signals between the integrated circuit 110 and the I/O port of the computer system 310. The processor is operable to execute an application which provides the programming instructions and data to the I/O port, wherein the programming instructions and data operate to configure the integrated circuit 110 with one of the plurality of possible functions. The application configures the programmable logic 230 on the integrated circuit 110 through the I/O port, and the integrated circuit 110 receives a configuration from the application through the I/O pads 240. The cable 315 preferably couples the I/O port and the I/O pads 240. In one embodiment, the I/O port includes a plurality of computer system I/O pins, and the computer chip 100 including the integrated circuit 110 further includes a plurality of I/O pins 140 operatively coupled to the plurality of I/O pads 240. One or more of the I/O pads 240 is operable to accept I/O from one or more of the plurality of I/O pins 240.
Therefore, the present invention comprises a main system processing unit which can be extended using a plurality of programmable logic unit for a plurality of possible functions and a system for programming, same. Although the device and system of the present invention have been described in connection with the preferred embodiment, it is not intended to be limited to the specific form set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the invention as defined by the appended claims.

Claims (16)

What is claimed is:
1. An integrated circuit configurable for a plurality of possible functions, the integrated circuit comprising:
a main system processing unit;
a plurality of functional logic blocks, wherein the plurality of functional logic blocks are coupled to the main system processing unit, wherein each of the plurality of functional logic blocks is operable to perform a respective function;
programmable logic coupled to each of the plurality of functional logic blocks, wherein the programmable logic is operable to route data to and from various ones of the plurality of functional logic blocks, wherein the programmable logic is programmable to configure operation of two or more of the plurality of functional logic blocks and is programmable to create data paths between two or more of the plurality of functional logic blocks to configure the integrated circuit for one of the plurality of possible functions, wherein the main system processing unit is operable to program the programmable logic, and wherein the programmable logic is further configurable to selectively disable one or more of the functional logic blocks; and
a plurality of input/output (I/O) pads, wherein the plurality of I/O pads are coupled to the main system processing unit and the plurality of functional logic blocks, wherein the plurality of I/O pads are operable to transfer data signals between the integrated circuit and an external device.
2. The integrated circuit of claim 1, wherein the programmable logic is further configurable to perform a function different from each of the plurality of functional logic blocks.
3. The integrated circuit of claim 1, wherein the programmable logic is non-volatile.
4. The integrated circuit of claim 1, further comprising:
a memory for storing program instructions executable by the main system processing unit; wherein the main system processing unit is operable to program the programmable logic in response to execution of said program instructions.
5. The integrated circuit of claim 4, wherein the main system processing unit is monitoring the program instructions, wherein the main system processing unit is operable to program the programmable logic in response to said monitoring the program instructions.
6. The integrated circuit of claim 4, wherein the program instructions are downloadable from the external device.
7. The integrated circuit of claim 1, wherein said selectively disable one or more functional blocks is permanent, wherein permanent comprises the one or more functional blocks to be disabled being no longer functional for their respective original purpose.
8. The integrated circuit of claim 1, wherein the programmable logic is further coupled to the main system processing unit and the plurality of I/O pads, wherein the programmable logic is further operable to route data to and from the main system processing unit, wherein the programmable logic is further operable to route data to and from the plurality of I/O pads.
9. The integrated circuit of claim 8, wherein the plurality of functional logic blocks include a first group of functional logic blocks and a second group of functional logic blocks, wherein the second group of functional logic blocks are redundant ones of the first group of functional logic blocks, wherein the programmable logic is operable to route data to one of the first group of functional logic blocks and a respective one of the second group of functional logic blocks.
10. The integrated circuit of claim 9, wherein the programmable logic is further configurable to reroute data bound to and from one of said first group of functional logic blocks to a redundant one of said second group of functional logic blocks.
11. The integrated circuit of claim 1 is further operable to dynamically reconfigure the programmable logic.
12. The integrated circuit of claim 11, wherein the dynamic reconfiguration of the programmable logic is in response to a program instruction, wherein the program instruction is executable by the main system processing unit.
13. The integrated circuit of claim 1, wherein one of the plurality of possible functions comprises one or more of: a filter function, a transformation function, a computation function, and a relational function.
14. A system for configuring an integrated circuit for one of a plurality of possible functions, the system comprising:
a computer system, wherein said computer system includes:
a system bus for transferring commands and data;
a processor coupled to said system bus, wherein said processor is operable to execute said commands and operate on said data;
a memory which is operable to store said commands and said data in a form accessible by said processor; and
an I/O port coupled to said system bus, wherein said I/O port is operable to conduct programming instructions and data in response to processor operation; and
the integrated circuit, wherein the integrated circuit is configurable for a plurality of possible functions, wherein said integrated circuit includes:
a main system processing unit;
a plurality of functional logic blocks, wherein the plurality of functional logic blocks are coupled to the main system processing unit, wherein each of the plurality of functional logic blocks is operable to perform a respective function;
programmable logic coupled to each of the plurality of functional logic blocks, wherein the programmable logic is operable to route data to and from various ones of the plurality of functional logic blocks, wherein the programmable logic is programmable to configure operation of two or more of the plurality of functional logic blocks and is programmable to create data paths between two or more of the plurality of functional logic blocks to configure the integrated circuit for one of the plurality of possible functions, wherein the main system processing unit is operable to program the programmable logic, and wherein the programmable logic is further configurable to selectively disable one or more of the functional logic blocks; and
a plurality of input/output (I/O) pads, wherein the plurality of I/O pads are coupled to the main system processing unit and the plurality of functional logic blocks, wherein the plurality of I/O pads are operable to transfer data signals between the integrated circuit and said I/O port of said computer system; and
wherein said processor is operable to execute an application which provides said programming instructions and data to said I/O port, wherein said programming instructions and data operate to configure said integrated circuit with one of said plurality of possible functions,
wherein said application configures said programmable logic on said integrated circuit through said I/O port, wherein said integrated circuit receives a configuration from said application through said I/O pads; and
a cable for operatively coupling said I/O port and said I/O pads.
15. The system of claim 14, wherein said I/O port includes a plurality of computer system I/O pins,
wherein said integrated circuit further includes:
a plurality of I/O pins operatively coupled to said plurality of I/O pads, wherein one or more of said I/O pacs is operable to accept I/O from one or more of said plurality of I/O pins,
wherein the cable couples said plurality of computer system I/O pins to said plurality of I/O pins.
16. The system of claim 15, wherein said cable includes electrical or optical couplings.
US09/102,465 1998-06-22 1998-06-22 System processing unit extended with programmable logic for plurality of functions Expired - Lifetime US6314551B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/102,465 US6314551B1 (en) 1998-06-22 1998-06-22 System processing unit extended with programmable logic for plurality of functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/102,465 US6314551B1 (en) 1998-06-22 1998-06-22 System processing unit extended with programmable logic for plurality of functions

Publications (1)

Publication Number Publication Date
US6314551B1 true US6314551B1 (en) 2001-11-06

Family

ID=22289998

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/102,465 Expired - Lifetime US6314551B1 (en) 1998-06-22 1998-06-22 System processing unit extended with programmable logic for plurality of functions

Country Status (1)

Country Link
US (1) US6314551B1 (en)

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6662302B1 (en) * 1999-09-29 2003-12-09 Conexant Systems, Inc. Method and apparatus of selecting one of a plurality of predetermined configurations using only necessary bus widths based on power consumption analysis for programmable logic device
US20040030861A1 (en) * 2002-06-27 2004-02-12 Bart Plackle Customizable computer system
US20050038844A1 (en) * 2001-09-18 2005-02-17 Altera Corporation, A Corporation Of Delaware Programmable logic device including multipliers and configurations thereof to reduce resource utilization
US6886092B1 (en) * 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US7024653B1 (en) * 2000-10-30 2006-04-04 Cypress Semiconductor Corporation Architecture for efficient implementation of serial data communication functions on a programmable logic device (PLD)
US7276931B1 (en) * 2005-03-25 2007-10-02 In Young Choi System and method for creating replacements for obsolete computer chips
US7622947B1 (en) * 2003-12-18 2009-11-24 Nvidia Corporation Redundant circuit presents connections on specified I/O ports
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US20110035576A1 (en) * 2006-10-17 2011-02-10 Endress + Hauser Gmbh + Co. Kg Configurable field device for use in process automation systems
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US20130138936A1 (en) * 2010-04-26 2013-05-30 Broadcom Corporation Modular integrated circuit with uniform address mapping
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
CN103532562A (en) * 2012-06-30 2014-01-22 硅实验室公司 Apparatus for mixed signal interface circuit and associated method
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260881A (en) * 1989-10-30 1993-11-09 Advanced Micro Devices, Inc. Programmable gate array with improved configurable logic block
US5321845A (en) * 1987-09-09 1994-06-14 Hitachi, Ltd. Single-chip microcomputer including non-volatile memory elements
US5600845A (en) * 1994-07-27 1997-02-04 Metalithic Systems Incorporated Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US5640106A (en) 1995-05-26 1997-06-17 Xilinx, Inc. Method and structure for loading data into several IC devices
US5644496A (en) 1989-08-15 1997-07-01 Advanced Micro Devices, Inc. Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses
US5682107A (en) 1994-04-01 1997-10-28 Xilinx, Inc. FPGA architecture with repeatable tiles including routing matrices and logic matrices
US5687325A (en) 1996-04-19 1997-11-11 Chang; Web Application specific field programmable gate array
US5692147A (en) 1995-06-07 1997-11-25 International Business Machines Corporation Memory mapping method and apparatus to fold sparsely populated structures into densely populated memory columns or rows by selectively transposing X and Y address portions, and programmable gate array applications thereof
US5838954A (en) * 1995-08-18 1998-11-17 Xilinx, Inc. Computer-implemented method of optimizing a time multiplexed programmable logic device
US5848367A (en) * 1996-09-13 1998-12-08 Sony Corporation System and method for sharing a non-volatile memory element as a boot device
US6047115A (en) * 1997-05-29 2000-04-04 Xilinx, Inc. Method for configuring FPGA memory planes for virtual hardware computation
US6065087A (en) * 1998-05-21 2000-05-16 Hewlett-Packard Company Architecture for a high-performance network/bus multiplexer interconnecting a network and a bus that transport data using multiple protocols
US6085285A (en) * 1997-11-13 2000-07-04 International Business Machines Corporation Intermixing different devices along a single data communication link by placing a strobe signal in a parity bit slot

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321845A (en) * 1987-09-09 1994-06-14 Hitachi, Ltd. Single-chip microcomputer including non-volatile memory elements
US5644496A (en) 1989-08-15 1997-07-01 Advanced Micro Devices, Inc. Programmable logic device with internal time-constant multiplexing of signals from external interconnect buses
US5260881A (en) * 1989-10-30 1993-11-09 Advanced Micro Devices, Inc. Programmable gate array with improved configurable logic block
US5682107A (en) 1994-04-01 1997-10-28 Xilinx, Inc. FPGA architecture with repeatable tiles including routing matrices and logic matrices
US5600845A (en) * 1994-07-27 1997-02-04 Metalithic Systems Incorporated Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US5640106A (en) 1995-05-26 1997-06-17 Xilinx, Inc. Method and structure for loading data into several IC devices
US5692147A (en) 1995-06-07 1997-11-25 International Business Machines Corporation Memory mapping method and apparatus to fold sparsely populated structures into densely populated memory columns or rows by selectively transposing X and Y address portions, and programmable gate array applications thereof
US5838954A (en) * 1995-08-18 1998-11-17 Xilinx, Inc. Computer-implemented method of optimizing a time multiplexed programmable logic device
US5687325A (en) 1996-04-19 1997-11-11 Chang; Web Application specific field programmable gate array
US5848367A (en) * 1996-09-13 1998-12-08 Sony Corporation System and method for sharing a non-volatile memory element as a boot device
US6047115A (en) * 1997-05-29 2000-04-04 Xilinx, Inc. Method for configuring FPGA memory planes for virtual hardware computation
US6085285A (en) * 1997-11-13 2000-07-04 International Business Machines Corporation Intermixing different devices along a single data communication link by placing a strobe signal in a parity bit slot
US6065087A (en) * 1998-05-21 2000-05-16 Hewlett-Packard Company Architecture for a high-performance network/bus multiplexer interconnecting a network and a bus that transport data using multiple protocols

Cited By (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6662302B1 (en) * 1999-09-29 2003-12-09 Conexant Systems, Inc. Method and apparatus of selecting one of a plurality of predetermined configurations using only necessary bus widths based on power consumption analysis for programmable logic device
US7024653B1 (en) * 2000-10-30 2006-04-04 Cypress Semiconductor Corporation Architecture for efficient implementation of serial data communication functions on a programmable logic device (PLD)
US7142010B2 (en) 2001-09-18 2006-11-28 Altera Corporation Programmable logic device including multipliers and configurations thereof to reduce resource utilization
US20050038844A1 (en) * 2001-09-18 2005-02-17 Altera Corporation, A Corporation Of Delaware Programmable logic device including multipliers and configurations thereof to reduce resource utilization
US7216139B2 (en) 2001-09-18 2007-05-08 Altera Corporation Programmable logic device including multipliers and configurations thereof to reduce resource utilization
US7539848B1 (en) * 2001-11-19 2009-05-26 Xilinx, Inc. Configurable logic fabric including two fixed logic processors with individual interface to receive availability signal from custom operation code configured processor
US6886092B1 (en) * 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US20040030861A1 (en) * 2002-06-27 2004-02-12 Bart Plackle Customizable computer system
US7622947B1 (en) * 2003-12-18 2009-11-24 Nvidia Corporation Redundant circuit presents connections on specified I/O ports
US7276931B1 (en) * 2005-03-25 2007-10-02 In Young Choi System and method for creating replacements for obsolete computer chips
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8271773B2 (en) * 2006-10-17 2012-09-18 Endress + Hauser Gmbh + Co. Kg Configurable field device for use in process automation systems
US20110035576A1 (en) * 2006-10-17 2011-02-10 Endress + Hauser Gmbh + Co. Kg Configurable field device for use in process automation systems
US9063870B1 (en) 2006-12-05 2015-06-23 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8788562B2 (en) 2006-12-05 2014-07-22 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US9395953B2 (en) 2006-12-05 2016-07-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8886695B1 (en) 2008-03-14 2014-11-11 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8751551B2 (en) 2009-03-03 2014-06-10 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8620977B1 (en) 2009-03-03 2013-12-31 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8589465B1 (en) 2010-03-03 2013-11-19 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8732225B1 (en) 2010-03-03 2014-05-20 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US20130138936A1 (en) * 2010-04-26 2013-05-30 Broadcom Corporation Modular integrated circuit with uniform address mapping
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8812573B2 (en) 2010-06-25 2014-08-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US9236867B2 (en) 2012-06-30 2016-01-12 Silicon Laboratories Inc. Apparatus for mixed signal interface circuitry and associated methods
US9590630B2 (en) 2012-06-30 2017-03-07 Silicon Laboratories Inc. Apparatus for mixed signal interface circuitry and associated methods
CN103532562A (en) * 2012-06-30 2014-01-22 硅实验室公司 Apparatus for mixed signal interface circuit and associated method
CN103532562B (en) * 2012-06-30 2018-07-03 硅实验室公司 For the device and correlation technique of mixed signal interface circuit
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Similar Documents

Publication Publication Date Title
US6314551B1 (en) System processing unit extended with programmable logic for plurality of functions
US6096091A (en) Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip
US6266797B1 (en) Data transfer network on a computer chip using a re-configurable path multiple ring topology
US6111859A (en) Data transfer network on a computer chip utilizing combined bus and ring topologies
US5974487A (en) Data transfer network on a chip utilizing a mesh of rings topology
US6806730B2 (en) Method and system for use of an embedded field programmable gate array interconnect for flexible I/O connectivity
US11080449B2 (en) Modular periphery tile for integrated circuit device
US6434735B1 (en) Method for programming an FPGA and implementing an FPGA interconnect
US5640106A (en) Method and structure for loading data into several IC devices
US6573748B1 (en) Programmable logic device with output register for specifying memory space during reconfiguration
US6614267B2 (en) Electronic circuit device and hybrid integrated circuit with an ASIC and an FPGA
US8107311B2 (en) Software programmable multiple function integrated circuit module
US7454556B1 (en) Method to program non-JTAG attached devices or memories using a PLD and its associated JTAG interface
US11670589B2 (en) Fabric die to fabric die interconnect for modularized integrated circuit devices
KR20000065061A (en) Enhanced Field Programmable Gate Array
US20010002065A1 (en) Integrated circuit package having interchip bonding and method therefor
US6407450B1 (en) Semiconductor package with universal substrate for electrically interfacing with different sized chips that have different logic functions
US6549954B1 (en) Object oriented on-chip messaging
US6629311B1 (en) Apparatus and method for configuring a programmable logic device with a configuration controller operating as an interface to a configuration memory
JPH1049510A (en) Integrated circuit processor
US5878265A (en) Data transfer network on a chip utilizing polygonal hub topology
EP1118121B1 (en) Semiconductor device arrangement having configuration via adjacent bond pad coding
US6219824B1 (en) Integrated circuit having a programmable input/output processor that is used for increasing the flexibility of communications
US10879903B2 (en) Distributed I/O interfaces in modularized integrated circuit devices
JPH1117524A (en) Programmable logic circuit system and re-configuration method for programmable logic circuit device

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADVANCED MICRO DEVICES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BORLAND, DAVID J.;REEL/FRAME:009268/0892

Effective date: 19980618

AS Assignment

Owner name: MORGAN STANLEY & CO. INCORPORATED, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:LEGERITY, INC.;REEL/FRAME:011601/0539

Effective date: 20000804

AS Assignment

Owner name: LEGERITY, INC., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ADVANCED MICRO DEVICES, INC.;REEL/FRAME:011700/0686

Effective date: 20000731

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: MORGAN STANLEY & CO. INCORPORATED, AS FACILITY COL

Free format text: SECURITY AGREEMENT;ASSIGNORS:LEGERITY, INC.;LEGERITY HOLDINGS, INC.;LEGERITY INTERNATIONAL, INC.;REEL/FRAME:013372/0063

Effective date: 20020930

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: SAXON IP ASSETS LLC, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEGERITY, INC.;REEL/FRAME:019246/0747

Effective date: 20070504

AS Assignment

Owner name: LEGERITY, INC., TEXAS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING INC., AS ADMINISTRATIVE AGENT, SUCCESSOR TO MORGAN STANLEY & CO. INCORPORATED;REEL/FRAME:019690/0647

Effective date: 20070727

Owner name: LEGERITY INTERNATIONAL, INC., TEXAS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING INC., AS ADMINISTRATIVE AGENT, SUCCESSOR TO MORGAN STANLEY & CO. INCORPORATED, AS FACILITY COLLATERAL AGENT;REEL/FRAME:019699/0854

Effective date: 20070727

Owner name: LEGERITY HOLDINGS, INC., TEXAS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING INC., AS ADMINISTRATIVE AGENT, SUCCESSOR TO MORGAN STANLEY & CO. INCORPORATED, AS FACILITY COLLATERAL AGENT;REEL/FRAME:019699/0854

Effective date: 20070727

Owner name: LEGERITY, INC., TEXAS

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING INC., AS ADMINISTRATIVE AGENT, SUCCESSOR TO MORGAN STANLEY & CO. INCORPORATED, AS FACILITY COLLATERAL AGENT;REEL/FRAME:019699/0854

Effective date: 20070727

AS Assignment

Owner name: SAXON INNOVATIONS, LLC, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAXON IP ASSETS, LLC;REEL/FRAME:020092/0795

Effective date: 20071016

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: LG ELECTRONICS INC., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAXON INNOVATIONS, LLC;REEL/FRAME:023129/0837

Effective date: 20090806

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 12