US20060139053A1 - Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA - Google Patents

Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA Download PDF

Info

Publication number
US20060139053A1
US20060139053A1 US11/021,472 US2147204A US2006139053A1 US 20060139053 A1 US20060139053 A1 US 20060139053A1 US 2147204 A US2147204 A US 2147204A US 2006139053 A1 US2006139053 A1 US 2006139053A1
Authority
US
United States
Prior art keywords
circuit elements
volatile memory
configurable circuit
configurable
fpga
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.)
Granted
Application number
US11/021,472
Other versions
US7112993B2 (en
Inventor
Theodore Speers
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.)
Microsemi SoC Corp
Original Assignee
Actel Corp
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 Actel Corp filed Critical Actel Corp
Priority to US11/021,472 priority Critical patent/US7112993B2/en
Assigned to ACTEL CORPORATION reassignment ACTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SPEERS, THEODORE
Priority to JP2007548328A priority patent/JP2008526110A/en
Priority to EP05854359A priority patent/EP1829217A4/en
Priority to PCT/US2005/045620 priority patent/WO2006071570A2/en
Publication of US20060139053A1 publication Critical patent/US20060139053A1/en
Priority to US11/465,899 priority patent/US7414428B2/en
Publication of US7112993B2 publication Critical patent/US7112993B2/en
Application granted granted Critical
Priority to US12/176,591 priority patent/US20080272804A1/en
Assigned to MORGAN STANLEY & CO. INCORPORATED reassignment MORGAN STANLEY & CO. INCORPORATED PATENT SECURITY AGREEMENT Assignors: ACTEL CORPORATION, MICROSEMI CORPORATION, WHITE ELECTRONIC DESIGNS CORP.
Assigned to BANK OF AMERICA, N.A., AS SUCCESSOR AGENT reassignment BANK OF AMERICA, N.A., AS SUCCESSOR AGENT NOTICE OF SUCCESSION OF AGENCY Assignors: ROYAL BANK OF CANADA (AS SUCCESSOR TO MORGAN STANLEY & CO. LLC)
Assigned to MICROSEMI SOC CORP. reassignment MICROSEMI SOC CORP. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: ACTEL CORPORATION
Assigned to MICROSEMI SOC CORP., A CALIFORNIA CORPORATION, MICROSEMI SEMICONDUCTOR (U.S.) INC., A DELAWARE CORPORATION, MICROSEMI CORPORATION, MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION), A DELAWARE CORPORATION, MICROSEMI CORP.-ANALOG MIXED SIGNAL GROUP, A DELAWARE CORPORATION, MICROSEMI FREQUENCY AND TIME CORPORATION, A DELAWARE CORPORATION, MICROSEMI CORP.-MEMORY AND STORAGE SOLUTIONS (F/K/A WHITE ELECTRONIC DESIGNS CORPORATION), AN INDIANA CORPORATION reassignment MICROSEMI SOC CORP., A CALIFORNIA CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BANK OF AMERICA, N.A.
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. PATENT SECURITY AGREEMENT Assignors: MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMICONDUCTOR CORPORATION), MICROSEMI CORP. - POWER PRODUCTS GROUP (F/K/A ADVANCED POWER TECHNOLOGY INC.), MICROSEMI CORP. - RF INTEGRATED SOLUTIONS (F/K/A AML COMMUNICATIONS, INC.), MICROSEMI CORPORATION, MICROSEMI FREQUENCY AND TIME CORPORATION (F/K/A SYMMETRICON, INC.), MICROSEMI SEMICONDUCTOR (U.S.) INC. (F/K/A LEGERITY, INC., ZARLINK SEMICONDUCTOR (V.N.) INC., CENTELLAX, INC., AND ZARLINK SEMICONDUCTOR (U.S.) INC.), MICROSEMI SOC CORP. (F/K/A ACTEL CORPORATION)
Assigned to MICROSEMI CORPORATION, MICROSEMI COMMUNICATIONS, INC., MICROSEMI CORP. - POWER PRODUCTS GROUP, MICROSEMI SOC CORP., MICROSEMI SEMICONDUCTOR (U.S.), INC., MICROSEMI FREQUENCY AND TIME CORPORATION, MICROSEMI CORP. - RF INTEGRATED SOLUTIONS reassignment MICROSEMI CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17756Structural details of configuration resources for partial configuration or partial reconfiguration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17758Structural details of configuration resources for speeding up configuration or reconfiguration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17772Structural details of configuration resources for powering on or off

Definitions

  • the present invention relates to integrated circuit technology. More particularly, the present invention relates to programmable logic circuits, such as FPGAs, and particularly flash-based programmable logic circuits. The present invention addresses how to efficiently provide static control signals to circuit elements external to the FPGA fabric without compromising the bandwidth of the dynamic signal path.
  • An FPGA integrated circuit includes many circuit elements in addition to the FPGA fabric that require bits to control their functionality.
  • a typical example is a general purpose I/O cell which typically has three dynamic signals (i.e., input, output, enable) that must be capable of being driven by a net from and to the FPGA.
  • control signals which may number ten or more
  • Such signals include those to configure the I/O standard being implemented (e.g. HSTL, PCI, etc.), and the enabling of delay elements in the input path.
  • I/O standard e.g. HSTL, PCI, etc.
  • PCS physical coding sub-layer
  • the present invention addresses how to efficiently provide those control signals to the circuit elements without compromising the bandwidth of the dynamic signal path.
  • FIG. 1 a block diagram illustrates a prior-art arrangement for configuring circuit elements external to an FPGA array in an integrated circuit.
  • Integrated circuit 10 includes an FPGA array 12 and also includes a group of external circuit elements 14 .
  • the group of external circuit elements 14 may include circuit elements that need to be configured by static signals to control aspects of their operation.
  • Representative ones of such configurable circuit elements are represented by small squares 16 , 18 , 20 , 22 , 24 , 26 , 28 , and 30 .
  • Persons of ordinary skill in the art will appreciate that such configurable circuit elements can be as simple as an I/O or as complex as a PCS or a processor.
  • the configurable circuit elements 16 , 18 , 20 , 22 , 24 , 26 , 28 , and 30 are controlled, respectively, by configuration bits 32 , 34 , 36 , 38 , 40 , 42 , 44 , and 46 , distributed throughout the FPGA array 12 .
  • configuration bit 32 is shown coupled to external configurable circuit element 16
  • configuration bit 34 is shown coupled to external configurable circuit element 18
  • the configuration bits may comprise non-volatile memory cells such as flash memory cells.
  • the number of connections between configuration bits in the FPGA array and the external circuit elements becomes exceedingly large as the size of the integrated circuit (i.e., gate count and number of I/O and other circuits external to the FPGA) increases.
  • the control requirements proliferate, there may not be enough physical room or architectural bandwidth to efficiently route one signal per control bit to the external element without compromising the effective bandwidth of the dynamic signals.
  • the number of such conductors becomes unreasonably large and can become a critical design issue.
  • the present invention presents a solution to this problem.
  • the configurable circuit elements 16 , 18 , 20 , 22 , 24 , 26 , 28 , and 30 are controlled, respectively, by configuration bits 32 , 34 , 36 , 38 , 40 , 42 , 44 , and 46 , distributed throughout the FPGA fabric 12 .
  • configuration bit 32 is shown coupled to external configurable circuit element 16
  • configuration bit 34 is shown coupled to external configurable circuit element 18
  • the configuration bits may comprise non-volatile memory cells such as flash memory cells.
  • the number of connections between configuration bits in the FPGA fabric and the external circuit elements becomes exceedingly large as the size of the integrated circuit (i.e., gate count and number of I/O and other circuits external to the FPGA) increases.
  • the control requirements proliferate, there may not be enough physical room or architectural bandwidth to efficiently route one signal per control bit to the external element without compromising the effective bandwidth of the dynamic signals.
  • the number of such conductors becomes unreasonably large and can become a critical design issue.
  • the present invention presents a solution to this problem.
  • the integrated circuit also includes configurable circuit elements disposed on the integrated circuit external to the FPGA fabric.
  • Two sets of configurable circuit elements are disposed on integrated circuit external to the FPGA fabric.
  • Distributed configuration non-volatile memory cells are disposed in the FPGA fabric.
  • Each member of the first set of configurable circuit elements is coupled to a different one of the distributed configuration non-volatile memory cells.
  • a non-volatile memory array is provided for storing configuration information for the members of the second set of configurable circuit elements.
  • Each member of the second set of configurable circuit elements is configured by a different non-volatile memory array bit.
  • FIG. 1 is a block diagram of a prior-art arrangement for configuring circuit elements external to an FPGA fabric in an integrated circuit.
  • FIG. 2 is a block diagram of an illustrative arrangement for configuring circuit elements external to an FPGA fabric in an integrated circuit according to the principles of the present invention.
  • FIG. 2 a block diagram presents an illustrative arrangement for configuring circuit elements external to an FPGA fabric in an integrated circuit according to the principles of the present invention.
  • the arrangement of FIG. 2 shows an integrated circuit 10 including an FPGA fabric 12 and a group of external configurable circuit elements 14 .
  • representative ones of such configurable circuit elements are represented by small squares 16 , 18 , 20 , 22 , 24 , 26 , 28 , and 30 .
  • the configurable circuit elements 16 , 18 , 20 , and 22 are shown in FIG. 2 as being controlled, respectively, by configuration bits 32 , 34 , 36 , and 38 , distributed throughout the FPGA fabric 12 .
  • configuration bit 32 is shown coupled to external configurable circuit element 16
  • configuration bit 34 is shown coupled to external configurable circuit element 18
  • configuration bit 36 is shown coupled to external configurable circuit element 20
  • configuration bit 38 is shown coupled to external configurable circuit element 22 .
  • the configuration bits may comprise non-volatile memory cells such as flash memory cells.
  • FIG. 2 shows a serial readout of data into configurable circuit elements 24 , 26 , 28 , and 30 .
  • Circuit elements on an FPGA device that are external to the FPGA fabric may include both configurable circuits that must be configured immediately upon power-up of the device, and configurable circuits that do not have to be configured immediately.
  • the external circuit elements include circuits that are capable of being hot-swapped, or any circuits that control the state of an input/output (I/O) circuit at power-up.
  • drive strength configuration circuitry for a SerDes is required to be configured immediately upon power-up to control a drive strength configuration signal.
  • the present invention avoids the need for existing work-arounds presently used to avoid the necessity of applying these signals instantly. It is desirable that certain signals be controlled and applied instantly, for board protection and other reasons, while other signals do not have to be controlled or applied instantly. Generally, circuits that do not control I/Os do not have to be configured immediately upon power-up.
  • the FPGA fabric During power-up of a non-volatile FPGA device with an on-board non-volatile memory block, the FPGA fabric is powered up before the non-volatile memory block, so circuits configured by the FPGA fabric will be configured before circuits configured by the non-volatile memory block.
  • configuration bits in the FPGA fabric are individually and directly connected to the configurable circuit elements they control.
  • Configuration bits in the non-volatile memory may control the configurable circuit elements through addressing (e.g., via a shift register). This limits the speed of the configuration, but also reduces the number of physical connections that are required to be routed into the external circuit element block.
  • the number of direct connections into the external circuit block is subject to physical limitations, configuring some of the configurable circuits from the non-volatile memory-block increases design flexibility. Even in an alternative embodiment, where the non-volatile memory bits are directly connected to the configurable circuits they control, the number of direct connections from the FPGA fabric to the external circuit block is reduced, thereby freeing up external connection lines from the FPGA fabric (or the space such lines would occupy) for other uses.
  • the circuitry of the present invention allows an FPGA device including an on-chip non-volatile memory to configure some of the configurable circuit elements that are external to the FPGA fabric using the non-volatile memory while configuring other circuit elements from the FPGA fabric.
  • the approach of the present invention permits a designer to control configuration signals that are preferably or necessarily valid as close to system power-on as possible using the distributed non-volatile storage configuration bits in the FPGA while allowing the slower loading of less-critical configuration bits from a non-volatile memory array into configuration registers associated with the configurable external circuits.
  • the present invention employs a hybrid approach whereby static signals that need to be applied instantly at power-on can be powered on immediately.

Abstract

A non-volatile memory configuration scheme is disclosed for volatile-memory-based programmable circuits in a programmable integrated circuit that includes an FPGA fabric, a plurality of first configurable circuit elements external to the FPGA fabric, and a plurality of second configurable circuit elements external to the FPGA fabric. A plurality of distributed configuration non-volatile memory cells is disposed in the FPGA, each one of the distributed configuration non-volatile memory cells coupled to a different one of the plurality of first configurable circuit elements. A non-volatile memory array stores configuration information for the second configurable circuit elements. A plurality of register cells is disposed with the second configurable circuit elements and is coupleable to the non-volatile memory array, each one of the register cells coupled to a different one of the plurality of second configurable circuit elements.

Description

    BACKGROUND
  • The present invention relates to integrated circuit technology. More particularly, the present invention relates to programmable logic circuits, such as FPGAs, and particularly flash-based programmable logic circuits. The present invention addresses how to efficiently provide static control signals to circuit elements external to the FPGA fabric without compromising the bandwidth of the dynamic signal path.
  • An FPGA integrated circuit includes many circuit elements in addition to the FPGA fabric that require bits to control their functionality. A typical example is a general purpose I/O cell which typically has three dynamic signals (i.e., input, output, enable) that must be capable of being driven by a net from and to the FPGA.
  • Accompanying these signals are usually several control signals (which may number ten or more) that typically do not need connectivity to a net but need to be statically set. Such signals include those to configure the I/O standard being implemented (e.g. HSTL, PCI, etc.), and the enabling of delay elements in the input path. As the element gets more complex, the number of required static control signals can become much larger than the number of dynamic signals. An example of this is a SerDes with physical coding sub-layer (PCS) circuitry which may require static control signals for idle, align and stuff characters (16 bits each), SerDes drive, pre-emphasis and equalization control, and PCS data path selection.
  • As the number of signals necessary to configure circuit elements outside of the FPGA fabric increases, so does the number of signal lines needed to carry those signals. At some point, the bandwidth of the dynamic signal path is affected, since there is a physical limit to the number of conductors that can pass outside of the FPGA fabric. The present invention addresses how to efficiently provide those control signals to the circuit elements without compromising the bandwidth of the dynamic signal path.
  • Referring first to FIG. 1, a block diagram illustrates a prior-art arrangement for configuring circuit elements external to an FPGA array in an integrated circuit. Integrated circuit 10 includes an FPGA array 12 and also includes a group of external circuit elements 14. As is known in the art, the group of external circuit elements 14 may include circuit elements that need to be configured by static signals to control aspects of their operation. Representative ones of such configurable circuit elements are represented by small squares 16, 18, 20, 22, 24, 26, 28, and 30. Persons of ordinary skill in the art will appreciate that such configurable circuit elements can be as simple as an I/O or as complex as a PCS or a processor.
  • The configurable circuit elements 16, 18, 20, 22, 24, 26, 28, and 30 are controlled, respectively, by configuration bits 32, 34, 36, 38, 40, 42, 44, and 46, distributed throughout the FPGA array 12. Thus configuration bit 32 is shown coupled to external configurable circuit element 16, configuration bit 34 is shown coupled to external configurable circuit element 18, and so forth. The configuration bits may comprise non-volatile memory cells such as flash memory cells.
  • As will be apparent to persons of ordinary skill in the art examining FIG. 1, an individual conductor is needed to make each of the connections, thus requiring eight conductors running from the FPGA 12 to the external circuit elements 14 for making the eight connections in the illustrative example of FIG. 1.
  • In real-world integrated circuits that implement the above-described scheme, the number of connections between configuration bits in the FPGA array and the external circuit elements becomes exceedingly large as the size of the integrated circuit (i.e., gate count and number of I/O and other circuits external to the FPGA) increases. In addition, as the control requirements proliferate, there may not be enough physical room or architectural bandwidth to efficiently route one signal per control bit to the external element without compromising the effective bandwidth of the dynamic signals. At some point, the number of such conductors becomes unreasonably large and can become a critical design issue. The present invention presents a solution to this problem.
  • The configurable circuit elements 16, 18, 20, 22, 24, 26, 28, and 30 are controlled, respectively, by configuration bits 32, 34, 36, 38, 40, 42, 44, and 46, distributed throughout the FPGA fabric 12. Thus configuration bit 32 is shown coupled to external configurable circuit element 16, configuration bit 34 is shown coupled to external configurable circuit element 18, and so forth. The configuration bits may comprise non-volatile memory cells such as flash memory cells.
  • As will be apparent to persons of ordinary skill in the art examining FIG. 1, an individual conductor is needed to make each of the connections, thus requiring eight conductors running from the FPGA 12 to the external circuit elements 14 for making the eight connections in the illustrative example of FIG. 1.
  • In real-world integrated circuits that implement the above-described scheme, the number of connections between configuration bits in the FPGA fabric and the external circuit elements becomes exceedingly large as the size of the integrated circuit (i.e., gate count and number of I/O and other circuits external to the FPGA) increases. In addition, as the control requirements proliferate, there may not be enough physical room or architectural bandwidth to efficiently route one signal per control bit to the external element without compromising the effective bandwidth of the dynamic signals. At some point, the number of such conductors becomes unreasonably large and can become a critical design issue. The present invention presents a solution to this problem.
  • BRIEF DESCRIPTION OF THE INVENTION
  • A non-volatile memory configuration scheme for volatile configurable circuits in a programmable integrated circuit including an FPGA fabric and is provided. The integrated circuit also includes configurable circuit elements disposed on the integrated circuit external to the FPGA fabric. Two sets of configurable circuit elements are disposed on integrated circuit external to the FPGA fabric. Distributed configuration non-volatile memory cells are disposed in the FPGA fabric. Each member of the first set of configurable circuit elements is coupled to a different one of the distributed configuration non-volatile memory cells. A non-volatile memory array is provided for storing configuration information for the members of the second set of configurable circuit elements. Each member of the second set of configurable circuit elements is configured by a different non-volatile memory array bit.
  • BRIEF DESCRIPTION OF THE DRAWING FIGURES
  • FIG. 1 is a block diagram of a prior-art arrangement for configuring circuit elements external to an FPGA fabric in an integrated circuit.
  • FIG. 2 is a block diagram of an illustrative arrangement for configuring circuit elements external to an FPGA fabric in an integrated circuit according to the principles of the present invention.
  • DETAILED DESCRIPTION
  • Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons.
  • Referring now to FIG. 2, a block diagram presents an illustrative arrangement for configuring circuit elements external to an FPGA fabric in an integrated circuit according to the principles of the present invention. As in the circuit arrangement of FIG. 1, the arrangement of FIG. 2 shows an integrated circuit 10 including an FPGA fabric 12 and a group of external configurable circuit elements 14. As in FIG. 1, representative ones of such configurable circuit elements are represented by small squares 16, 18, 20, 22, 24, 26, 28, and 30.
  • The configurable circuit elements 16, 18, 20, and 22 are shown in FIG. 2 as being controlled, respectively, by configuration bits 32, 34, 36, and 38, distributed throughout the FPGA fabric 12. Thus configuration bit 32 is shown coupled to external configurable circuit element 16, configuration bit 34 is shown coupled to external configurable circuit element 18, configuration bit 36 is shown coupled to external configurable circuit element 20, and configuration bit 38 is shown coupled to external configurable circuit element 22. The configuration bits may comprise non-volatile memory cells such as flash memory cells.
  • However, unlike the prior-art circuit arrangement of FIG. 1, other configurable circuit elements 24, 26, 28, and 30 are shown being controlled by an on-chip non-volatile memory array 48 separate from the FPGA fabric 12 in which the memory cells may be located together instead of distributed like configuration bits 32, 34, 36, and 38 are in FPGA fabric 12. Upon power-up of the integrated circuit, the data needed to control configurable circuit elements 24, 26, 28, and 30 can be read out of non-volatile memory 48 into register cells associated with configurable circuit elements 24, 26, 28, and 30 in the same manner known in the art for configuring volatile-storage-based (e.g., SRAM-based) FPGA integrated circuits. FIG. 2 shows a serial readout of data into configurable circuit elements 24, 26, 28, and 30.
  • Circuit elements on an FPGA device that are external to the FPGA fabric may include both configurable circuits that must be configured immediately upon power-up of the device, and configurable circuits that do not have to be configured immediately. For example, if the external circuit elements include circuits that are capable of being hot-swapped, or any circuits that control the state of an input/output (I/O) circuit at power-up. As an example, drive strength configuration circuitry for a SerDes is required to be configured immediately upon power-up to control a drive strength configuration signal. It is undesirable to have the SerDes power up and drive the signal too high and risk damaging elements of a system in which the FPGA device is incorporated; The present invention avoids the need for existing work-arounds presently used to avoid the necessity of applying these signals instantly. It is desirable that certain signals be controlled and applied instantly, for board protection and other reasons, while other signals do not have to be controlled or applied instantly. Generally, circuits that do not control I/Os do not have to be configured immediately upon power-up.
  • During power-up of a non-volatile FPGA device with an on-board non-volatile memory block, the FPGA fabric is powered up before the non-volatile memory block, so circuits configured by the FPGA fabric will be configured before circuits configured by the non-volatile memory block. However, configuration bits in the FPGA fabric are individually and directly connected to the configurable circuit elements they control. Configuration bits in the non-volatile memory, on the other hand, may control the configurable circuit elements through addressing (e.g., via a shift register). This limits the speed of the configuration, but also reduces the number of physical connections that are required to be routed into the external circuit element block. Since the number of direct connections into the external circuit block is subject to physical limitations, configuring some of the configurable circuits from the non-volatile memory-block increases design flexibility. Even in an alternative embodiment, where the non-volatile memory bits are directly connected to the configurable circuits they control, the number of direct connections from the FPGA fabric to the external circuit block is reduced, thereby freeing up external connection lines from the FPGA fabric (or the space such lines would occupy) for other uses.
  • The circuitry of the present invention allows an FPGA device including an on-chip non-volatile memory to configure some of the configurable circuit elements that are external to the FPGA fabric using the non-volatile memory while configuring other circuit elements from the FPGA fabric.
  • The approach of the present invention permits a designer to control configuration signals that are preferably or necessarily valid as close to system power-on as possible using the distributed non-volatile storage configuration bits in the FPGA while allowing the slower loading of less-critical configuration bits from a non-volatile memory array into configuration registers associated with the configurable external circuits.
  • As can be seen from the above explanation, the present invention employs a hybrid approach whereby static signals that need to be applied instantly at power-on can be powered on immediately.
  • While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art that many more modifications than mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended claims.

Claims (8)

1. A non-volatile memory configuration scheme for volatile configurable circuits in a programmable integrated circuit comprising:
an FPGA fabric;
a first plurality of configurable circuit elements disposed on the integrated circuit external to the FPGA fabric;
a second plurality of configurable circuit elements disposed on the integrated circuit external to the FPGA fabric;
a plurality of distributed configuration non-volatile memory cells disposed in the FPGA fabric, each of the plurality of first configurable circuit elements coupled to a different one of the distributed configuration non-volatile memory cells;
a non-volatile memory array for storing configuration information for the second configurable circuit elements; and
a plurality of register cells disposed within the second plurality of configurable circuit elements and coupleable to the non-volatile memory array, each one of the register cells associated with a different one of the plurality of second configurable circuit elements.
2. The non-volatile memory configuration scheme of claim 1, wherein said first plurality of configurable circuit elements comprise circuit elements that are selected to be configured prior to configuring the second plurality of configurable circuit elements.
3. The non-volatile memory configuration scheme of claim 1, wherein the plurality of distributed configuration non-volatile memory cells is coupled to the first plurality of configurable circuit elements by individual conductors running between the FPGA fabric and the first plurality of configurable circuit elements.
4. The non-volatile memory configuration scheme of claim 1, wherein said first plurality of configurable circuit elements comprises I/O circuit elements.
5. The non-volatile memory configuration scheme of claim 1 wherein said first plurality of configurable circuit elements comprises SerDes circuits.
6. The non-volatile memory configuration scheme of claim 1, wherein said first plurality of configurable circuit elements comprises processor circuits.
7. The non-volatile memory configuration scheme of claim 1, wherein said first plurality of configurable circuit elements comprises math block circuits.
8. The non-volatile memory configuration scheme of claim 1, wherein said first plurality of configurable circuit elements comprises random access memory circuits.
US11/021,472 2004-12-23 2004-12-23 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA Active 2025-03-18 US7112993B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US11/021,472 US7112993B2 (en) 2004-12-23 2004-12-23 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA
JP2007548328A JP2008526110A (en) 2004-12-23 2005-12-15 Nonvolatile memory configuration scheme for volatile memory based programmable circuits in FPGA
EP05854359A EP1829217A4 (en) 2004-12-23 2005-12-15 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an fpga
PCT/US2005/045620 WO2006071570A2 (en) 2004-12-23 2005-12-15 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an fpga
US11/465,899 US7414428B2 (en) 2004-12-23 2006-08-21 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA
US12/176,591 US20080272804A1 (en) 2004-12-23 2008-07-21 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an fpga

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/021,472 US7112993B2 (en) 2004-12-23 2004-12-23 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/465,899 Continuation US7414428B2 (en) 2004-12-23 2006-08-21 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA

Publications (2)

Publication Number Publication Date
US20060139053A1 true US20060139053A1 (en) 2006-06-29
US7112993B2 US7112993B2 (en) 2006-09-26

Family

ID=36610721

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/021,472 Active 2025-03-18 US7112993B2 (en) 2004-12-23 2004-12-23 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA
US11/465,899 Active US7414428B2 (en) 2004-12-23 2006-08-21 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA
US12/176,591 Abandoned US20080272804A1 (en) 2004-12-23 2008-07-21 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an fpga

Family Applications After (2)

Application Number Title Priority Date Filing Date
US11/465,899 Active US7414428B2 (en) 2004-12-23 2006-08-21 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA
US12/176,591 Abandoned US20080272804A1 (en) 2004-12-23 2008-07-21 Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an fpga

Country Status (4)

Country Link
US (3) US7112993B2 (en)
EP (1) EP1829217A4 (en)
JP (1) JP2008526110A (en)
WO (1) WO2006071570A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161227B1 (en) 2006-10-30 2012-04-17 Siliconsystems, Inc. Storage subsystem capable of programming field-programmable devices of a target computer system
CN113625629A (en) * 2021-08-06 2021-11-09 中国电子科技集团公司第五十八研究所 Configuration control circuit applied to N _ FLASH type FPGA

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743085B2 (en) 2004-11-08 2010-06-22 Tabula, Inc. Configurable IC with large carry chains
US7112993B2 (en) * 2004-12-23 2006-09-26 Actel Corporation Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA
US7825684B2 (en) 2005-03-15 2010-11-02 Tabula, Inc. Variable width management for a memory of a configurable IC
US7512850B2 (en) 2005-07-15 2009-03-31 Tabula, Inc. Checkpointing user design states in a configurable IC
US7375550B1 (en) * 2005-07-15 2008-05-20 Tabula, Inc. Configurable IC with packet switch configuration network
US7797497B1 (en) 2006-03-08 2010-09-14 Tabula, Inc. System and method for providing more logical memory ports than physical memory ports
US7694083B1 (en) * 2006-03-08 2010-04-06 Tabula, Inc. System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture
US7831754B1 (en) * 2006-10-20 2010-11-09 Lattice Semiconductor Corporation Multiple communication channel configuration systems and methods
US7930666B1 (en) 2006-12-12 2011-04-19 Tabula, Inc. System and method of providing a memory hierarchy
US7839162B2 (en) * 2007-06-27 2010-11-23 Tabula, Inc. Configurable IC with deskewing circuits
US7652498B2 (en) * 2007-06-27 2010-01-26 Tabula, Inc. Integrated circuit with delay selecting input selection circuitry
US8069425B2 (en) * 2007-06-27 2011-11-29 Tabula, Inc. Translating a user design in a configurable IC for debugging the user design
US8412990B2 (en) 2007-06-27 2013-04-02 Tabula, Inc. Dynamically tracking data values in a configurable IC
US8990651B2 (en) 2007-09-19 2015-03-24 Tabula, Inc. Integrated circuit (IC) with primary and secondary networks and device containing such an IC
WO2010016857A1 (en) 2008-08-04 2010-02-11 Tabula, Inc. Trigger circuits and event counters for an ic
US8072234B2 (en) 2009-09-21 2011-12-06 Tabula, Inc. Micro-granular delay testing of configurable ICs
GB2567215B (en) * 2017-10-06 2020-04-01 Advanced Risc Mach Ltd Reconfigurable circuit architecture
US10936370B2 (en) 2018-10-31 2021-03-02 International Business Machines Corporation Apparatus that generates optimal launch configurations

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107146A (en) * 1991-02-13 1992-04-21 Actel Corporation Mixed mode analog/digital programmable interconnect architecture
US5497475A (en) * 1993-02-05 1996-03-05 National Semiconductor Corporation Configurable integrated circuit having true and shadow EPROM registers
US5909463A (en) * 1996-11-04 1999-06-01 Motorola, Inc. Single-chip software configurable transceiver for asymmetric communication system
US6389078B1 (en) * 1997-11-03 2002-05-14 Harris Corporation Configurable circuits for field programmable radio frequency communications equipment and methods therefor
US7030651B2 (en) * 2003-12-04 2006-04-18 Viciciv Technology Programmable structured arrays
US7034569B1 (en) * 2003-07-31 2006-04-25 Actel Corporation Programmable system on a chip for power-supply voltage and current monitoring and control

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023742A (en) * 1996-07-18 2000-02-08 University Of Washington Reconfigurable computing architecture for providing pipelined data paths
JP3754221B2 (en) * 1999-03-05 2006-03-08 ローム株式会社 Multi-chip type semiconductor device
US6650140B2 (en) * 2001-03-19 2003-11-18 Altera Corporation Programmable logic device with high speed serial interface circuitry
US7112993B2 (en) * 2004-12-23 2006-09-26 Actel Corporation Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107146A (en) * 1991-02-13 1992-04-21 Actel Corporation Mixed mode analog/digital programmable interconnect architecture
US5497475A (en) * 1993-02-05 1996-03-05 National Semiconductor Corporation Configurable integrated circuit having true and shadow EPROM registers
US5909463A (en) * 1996-11-04 1999-06-01 Motorola, Inc. Single-chip software configurable transceiver for asymmetric communication system
US6389078B1 (en) * 1997-11-03 2002-05-14 Harris Corporation Configurable circuits for field programmable radio frequency communications equipment and methods therefor
US7034569B1 (en) * 2003-07-31 2006-04-25 Actel Corporation Programmable system on a chip for power-supply voltage and current monitoring and control
US7030651B2 (en) * 2003-12-04 2006-04-18 Viciciv Technology Programmable structured arrays

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161227B1 (en) 2006-10-30 2012-04-17 Siliconsystems, Inc. Storage subsystem capable of programming field-programmable devices of a target computer system
CN113625629A (en) * 2021-08-06 2021-11-09 中国电子科技集团公司第五十八研究所 Configuration control circuit applied to N _ FLASH type FPGA

Also Published As

Publication number Publication date
EP1829217A4 (en) 2009-09-16
WO2006071570A2 (en) 2006-07-06
US20060279327A1 (en) 2006-12-14
WO2006071570A3 (en) 2006-09-14
US7414428B2 (en) 2008-08-19
US7112993B2 (en) 2006-09-26
EP1829217A2 (en) 2007-09-05
US20080272804A1 (en) 2008-11-06
JP2008526110A (en) 2008-07-17

Similar Documents

Publication Publication Date Title
US7414428B2 (en) Non-volatile memory configuration scheme for volatile-memory-based programmable circuits in an FPGA
US7190190B1 (en) Programmable logic device with on-chip nonvolatile user memory
US7242218B2 (en) Techniques for combining volatile and non-volatile programmable logic on an integrated circuit
CN101055757B (en) Techniques for providing flexible on-chip termination control on integrated circuits
US6011407A (en) Field programmable gate array with dedicated computer bus interface and method for configuring both
JP4891448B2 (en) Programmable logic integrated circuit
US10901927B2 (en) Adaptive interface storage device with multiple storage protocols including NVME and NVME over fabrics storage devices
US10409760B1 (en) Adaptive interface high availability storage device
US7268581B1 (en) FPGA with time-multiplexed interconnect
US6212591B1 (en) Configurable I/O circuitry defining virtual ports
US8116334B1 (en) Dataflow FIFO communication buffer using highly-multiported memories
US5869982A (en) Programmable I/O cell with data conversion capability
US8890570B2 (en) Switch block circuit in field programmable gate array
US6680871B1 (en) Method and apparatus for testing memory embedded in mask-programmable logic device
US6452417B1 (en) I/O cell architecture for CPLDs
US20020064081A1 (en) Device for accessing a rom unit with groups of memory module information saved therein
US7606969B2 (en) Programmable logic devices
US7724029B1 (en) Power management for integrated circuits such as programmable logic devices
US7386015B1 (en) Digitally configurable multiplexer/de-multiplexer
CN114026552A (en) Microcontroller with configurable logic peripherals
JP2001168201A (en) Hard macro cell and method of its arrangement
JP2001331441A (en) Constitution circuit for stipulating one or more virtual ports and integrated circuit

Legal Events

Date Code Title Description
AS Assignment

Owner name: ACTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPEERS, THEODORE;REEL/FRAME:015837/0480

Effective date: 20050211

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

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

Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:WHITE ELECTRONIC DESIGNS CORP.;ACTEL CORPORATION;MICROSEMI CORPORATION;REEL/FRAME:025783/0613

Effective date: 20110111

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS SUCCESSOR AGENT, NORTH C

Free format text: NOTICE OF SUCCESSION OF AGENCY;ASSIGNOR:ROYAL BANK OF CANADA (AS SUCCESSOR TO MORGAN STANLEY & CO. LLC);REEL/FRAME:035657/0223

Effective date: 20150402

AS Assignment

Owner name: MICROSEMI SOC CORP., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:ACTEL CORPORATION;REEL/FRAME:037393/0572

Effective date: 20120823

AS Assignment

Owner name: MICROSEMI CORP.-ANALOG MIXED SIGNAL GROUP, A DELAW

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037558/0711

Effective date: 20160115

Owner name: MICROSEMI CORP.-MEMORY AND STORAGE SOLUTIONS (F/K/

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037558/0711

Effective date: 20160115

Owner name: MICROSEMI SOC CORP., A CALIFORNIA CORPORATION, CAL

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037558/0711

Effective date: 20160115

Owner name: MICROSEMI COMMUNICATIONS, INC. (F/K/A VITESSE SEMI

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037558/0711

Effective date: 20160115

Owner name: MICROSEMI FREQUENCY AND TIME CORPORATION, A DELAWA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037558/0711

Effective date: 20160115

Owner name: MICROSEMI CORPORATION, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037558/0711

Effective date: 20160115

Owner name: MICROSEMI SEMICONDUCTOR (U.S.) INC., A DELAWARE CO

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037558/0711

Effective date: 20160115

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK

Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:MICROSEMI CORPORATION;MICROSEMI SEMICONDUCTOR (U.S.) INC. (F/K/A LEGERITY, INC., ZARLINK SEMICONDUCTOR (V.N.) INC., CENTELLAX, INC., AND ZARLINK SEMICONDUCTOR (U.S.) INC.);MICROSEMI FREQUENCY AND TIME CORPORATION (F/K/A SYMMETRICON, INC.);AND OTHERS;REEL/FRAME:037691/0697

Effective date: 20160115

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12

AS Assignment

Owner name: MICROSEMI CORPORATION, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0391

Effective date: 20180529

Owner name: MICROSEMI CORP. - POWER PRODUCTS GROUP, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0391

Effective date: 20180529

Owner name: MICROSEMI CORP. - RF INTEGRATED SOLUTIONS, CALIFOR

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0391

Effective date: 20180529

Owner name: MICROSEMI SOC CORP., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0391

Effective date: 20180529

Owner name: MICROSEMI FREQUENCY AND TIME CORPORATION, CALIFORN

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0391

Effective date: 20180529

Owner name: MICROSEMI SEMICONDUCTOR (U.S.), INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0391

Effective date: 20180529

Owner name: MICROSEMI COMMUNICATIONS, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0391

Effective date: 20180529