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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures 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
Description
Claims (16)
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)
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)
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 |
-
1998
- 1998-06-22 US US09/102,465 patent/US6314551B1/en not_active Expired - Lifetime
Patent Citations (13)
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)
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 |