CN1815628B - Method and circuit for configuring programmable device - Google Patents

Method and circuit for configuring programmable device Download PDF

Info

Publication number
CN1815628B
CN1815628B CN2005101287616A CN200510128761A CN1815628B CN 1815628 B CN1815628 B CN 1815628B CN 2005101287616 A CN2005101287616 A CN 2005101287616A CN 200510128761 A CN200510128761 A CN 200510128761A CN 1815628 B CN1815628 B CN 1815628B
Authority
CN
China
Prior art keywords
circuit
programmable
piece
configuration
data
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 - Fee Related
Application number
CN2005101287616A
Other languages
Chinese (zh)
Other versions
CN1815628A (en
Inventor
R·卡马罗塔
I·拉希姆
B·J·昂
T·P·宗
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.)
Altera Corp
Original Assignee
Altera 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 Altera Corp filed Critical Altera Corp
Publication of CN1815628A publication Critical patent/CN1815628A/en
Application granted granted Critical
Publication of CN1815628B publication Critical patent/CN1815628B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • 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/17724Structural details of logic blocks
    • H03K19/17732Macroblocks
    • 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/1776Structural details of configuration resources for memories
    • 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/17768Structural details of configuration resources for security
    • 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

Abstract

Techniques for combining volatile and non-volatile programmable logic into one integrated circuit (IC) are provided. An IC is segregated into two portions. A first block of programmable logic is configured by bits stored in on-chip non-volatile memory. A second block of programmable logic is configured by bits stored in off-chip memory. The function of IO banks on the IC is multiplexed between the two logic blocks of the IC. The programmable logic in the first block can be configured and fully functional in a fraction of the time that the programmable logic in the second block can be configured. The programmable logic in the first block can configure fast enough and have enough independence to assist in the configuration of the second block. The non-volatile memory can also provide security features to a user design, such as encryption.

Description

The Method and circuits that is used for configurating programmable equipment
Background of invention
The invention provides the technology that is used for going up combination volatibility and Nonvolatile programmable logic, especially provide to be used to provide to have by the part of non-FPGA (Field Programmable Gate Array) of carrying memory configurations and carry the IC technology of another part of the FPGA (Field Programmable Gate Array) of non-volatile memory configuration by sheet at integrated circuit (IC).
Configuration data comprises the bigger field programmable gate array (FPGA) that sheet carries the volatile memory piece and when powering up, need dispose suitable time quantum usually, because will be loaded on the chip from external memory chip.For example, external memory chip can be serial ROM (SROM).
Less complex programmable logic device (CPLD) such as the MAX of Altera series CPLD comprises the nonvolatile memory that sheet carries.Configuration data is deposited in the nonvolatile memory that this sheet carries.When powering up, the nonvolatile memory that can carry from sheet apace is written into FPGA (Field Programmable Gate Array) with configuration data.Non-volatile CPLD is actually momentary connection when powering up, and does not need the exterior arrangement data.But making the big FPGA with all nonvolatile memories is also can limit procedure selecting of forbidding aspect area.
Many bigger volatibility FPGA have the CPLD of following and power up and layoutprocedure with cooperation.CPLD also can be before being sent to FPGA encrypted configuration data, intercepted and duplicated to prevent this configuration data.But this technology is complicated more, because it makes that bigger FPGA becomes three device solves schemes that comprise FPGA, SROM and CPLD.U.S. Pat 7190190 discloses a kind of programmable logic device that has non-volatile user memory in the chip.
Therefore, technology disposes field programmable gate array to expect to provide faster.Also expect during the user is provided at layoutprocedure, suitably to guarantee the method for their designs.
Summary of the invention
The invention provides the technology that is used for volatibility and Nonvolatile programmable logical groups are incorporated into an integrated circuit (IC).IC of the present invention is divided into two parts.Part IC comprises first programmable logic block, and it is carried the bit configuration of storing in the non-volatile memory block by sheet.Another part IC comprises second programmable logic block that carries the bit configuration of storing in the storage arrangement by non-.
The sub-fraction of the logic in configurable volatibility part is in the time, and the logic in the non-volatile part of IC can be configured and complete functionalization.Logic in the non-volatile part is enough soon and have enough independence configurable, with the configuration in the volatibility part that helps IC.Nonvolatile memory also can provide safety feature to user's design, such as encryption and decryption.
Consider the following detailed description and accompanying drawing, other purpose of the present invention, characteristics and advantage will become apparent, and wherein identical label is represented like in institute's drawings attached.
Description of drawings
Fig. 1 shows according to carrying the programmable logic block of non-volatile memory configuration and by non-IC that carries the programmable logic block of memory configurations comprising by sheet of first embodiment of the invention.
Fig. 2 shows the IC shown in Figure 1 that sheet carries non-volatile memory block that has according to second embodiment of the invention, and this sheet carries the configuration data that non-volatile memory block is enough to store user and manufacturer.
Fig. 3 A shows according to having to the HIP piece of third embodiment of the invention (HIP) piece of the hard intelligence power (intellectual property) on the FPGA (Field Programmable Gate Array) IC of programmable register group of program capability is provided.
Fig. 3 B shows according to the HIP piece able to programme that comprises Fig. 3 A of fourth embodiment of the invention with by non-IC that carries the programmable logic block of memory configurations.
Fig. 4 is the simplified block diagram of the programmable logic device that can use with technology of the present invention.
Fig. 5 is the block diagram that can realize the electronic system of the embodiment of the invention.
Embodiment
Fig. 1 shows the part 100 according to the programming logic integrated circuit (IC) of first embodiment of the invention design.Part 100 comprises the Nonvolatile programmable logical block 110 and the volatibility programmable logic block 130 of FPGA (Field Programmable Gate Array).Nonvolatile programmable logical block 110 and volatibility programmable logic block 130 all comprise Programmable Logic Device.For example, Programmable Logic Device can be based on lookup table or based on the logical block of product item (product term).The framework of the programmable logic array in the programmable logic block 110 and 130 can be identical or different. Programmable logic block 110 and 130 also can comprise storer.Storer in the programmable logic block 110 and 130 for example can be the volatile memory such as sram cell.
FPGA (Field Programmable Gate Array) in the programmable logic block 110 is configured by the configuration bit of storage in the nonvolatile memory 112.Configuration bit can deposit nonvolatile memory 112 in by manufacturer or user.Power-on-reset (POR) configuration block 111 is conveyed into storer in the programmable logic block 110 with configuration bit from nonvolatile memory 112.
FPGA (Field Programmable Gate Array) in the programmable logic block 130 is by the configuration bit configuration of storing in the external memory.External memory devices for example can be flash memory device or serial ROM (SROM) storage arrangement.Configuration bit can be written into configuration (ISC) piece 131 programmable logic block 130 and the system by multiplexer 118 from I/O port one 03.
Suitable setup time when as mentioned above, many big FPGA need to power up.On the other hand, little non-volatile CPLD be actually momentary connection when powering up and do not need the exterior arrangement data.But, need too many die area to place enough sheets and carry nonvolatile memory on big FPGA, to dispose the Programmable Logic Device of all FPGA.
The present invention solves these problems by two programmable logic blocks (110 and 130) are provided.During switching on by load the configuration datas FPGA (Field Programmable Gate Array) the configurating programmable logical block 110 fast from non-volatile memory block 112.Programmable logic block 110 preferably comprises enough FPGA (Field Programmable Gate Array) some critical function to need during execution powers up the stage before configurating programmable logical block 130 to carry out.By the configuration data that loads from external source configurating programmable logical block 130 more lentamente.
According to an embodiment, the most FPGA (Field Programmable Gate Array) on the IC reside in the volatibility programmable logic block 130.Among this embodiment, non-volatile memory block 112 only needs enough big, so that be the FPGA (Field Programmable Gate Array) store configuration data in the programmable logic block 110.If programmable logic block 110 is less relatively, then the size of non-volatile memory block 112 can be less relatively.This requirement makes the die area influence of the non-volatile memory block 112 on the IC minimum.For example, programmable logic block 130 can power up all FPGA functions of back execution.
If non-volatile memory block 112 sizes are littler, may with regard to deployable more realizations.For example, the state-of-the-art EEPROM of big non-volatile memory block needs or the FLASH technology that are used for whole FPGA.The little non-volatile memory block 112 that only is provided for the configuration data of fraction FPGA can be used the memory technology that melts (polyfuse) arrays and magnetic resistance ROM such as more.
The specific example of programmable logic block 110 executable functions is discussed now.Before configuration and full functionality FPGA, need control system to reset and minimum detectable signal.Big FPGA plays central role in its system.If FPGA drives minimum detectable signal, resets or bus, then it will be before configuration can not be effectively or drive signal correctly.Inertia between energising and the configuration can stop system suitably to be switched on.In order to address these problems, programmable logic block 110 can be during switching on the Control Critical signal.
Before configuration FPGA and afterwards, also may command configuration and order reset for programmable logic block 110.Programmable logic block 110 can directly drive volatibility FPGA block reset under the situation of not using exterior I O signal.
As another example, programmable logic block 110 can be used for protecting the configuration data that sends to programmable logic block 130.Programmable logic block 110 can protectively read as CPLD, and can have the internal by-pass of configuration (ISC) piece 131 in the arrival system.Programmable logic block 110 can be carried out the inaccessible additional data encrypt/decrypt of outside lead.
For example, the logic in the programmable logic block 110 can be configured when energising, carries out decrypt scheme with the cryptographic algorithm based on storage in the non-volatile memory block 112.Subsequently, the configuration data that is used for programmable logic block 130 is written into programmable logic block 110 and decrypted by I/O port one 03.Subsequently, the configuration data of deciphering is written into programmable logic block 130 (for example, direct or process multiplexer 118) from programmable logic block 110.
Programmable logic block 110 can be the individualized encipherment scheme of each client, to increase security and comfortableness.Therefore, the client can select the encipherment scheme that they need.If cryptographic algorithm is cracked by the hacker, then the client can easily change encipherment scheme by new algorithm is written into non-volatile memory block 112.Programmable logic block 110 also can be used for encrypting or deciphering the non-configuration data stream of customer selecting.
When the configuration data that is used for FPGA not when the SROM of special use loads, it loads from standard FLASH device or processor bus usually.Before configuration FPGA, effective some logic when arbitrary solution all needs to switch on.This logic sorts and data is sent to FPGA configuration lead-in wire (ISC port) from non-volatile source of data.This logic is benefited from the realization of FPGA inside, because it can hold the Nonvolatile memory devices of the relative broad range that comprises processor and the FPGA configuration mode of relative broad range.
With reference to figure 1, the part 100 of IC comprises six regional 101-106.Among six regional 101-106 each all comprises on-reset circuit (POR1-POR6) separately.The on-reset circuit monitoring is from the supply voltage of one or more power rails (or power net).On-reset circuit produces output signal, and when its indication reaches predetermined level from the supply voltage of power source-responsive rail.When the specific region of predetermined power source voltage level indication IC can begin to work safely.For example, on-reset circuit POR1 produces an output signal, and when its indication supply voltage is increased to the minimum voltage level of circuit to come into operation that is suitable in the zone 101 after energising.
But circuit region separated into two parts shown in Figure 1.First comprises regional 101-104.Zone 101-104 is associated with non-volatile memory block 112 and programmable logic block 110.Zone 105-106 is associated with programmable logic block 130.
111 controls of POR configuration block and monitoring on-reset circuit POR1-POR6.As long as on-reset circuit POR1-POR4 indication supply voltage has reached the level accepted among the regional 101-104, POR configuration block 111 just is sent to Nonvolatile programmable logical block 110 with configuration data stored in the non-volatile memory block 112.
Therefore, as long as the power supply among the regional 101-104 has reached predetermined level, POR1-POR4 is disposed with regard to allowing the FPGA (Field Programmable Gate Array) in the programmable logic block 110, and switches on without waiting area 105-106.The configuration of this embodiment programmable logic block 110 during energising provides addition speed.
In case on-reset circuit POR5-POR6 indication power supply has reached the level accepted among the regional 105-106, then configuration data can be written into programmable logic block 130 through multiplexer 118 and ISC piece 131 from external source in the system.The selection input of the FPGA (Field Programmable Gate Array) may command multiplexer 118 in POR configuration block 111 or the programmable logic block 110.
In FPGA embodiment shown in Figure 1, configuration (ISC) I/O port and Nonvolatile programmable logical block 110 and volatibility programmable logic block 130 interfaces in the system in the zone 103.
Perhaps, the ISC data can be written into Nonvolatile programmable logical block 110, are written into programmable logic block 130 subsequently.The ISC configuration data can directly be loaded into programmable logic block 130 from programmable logic block 110 or through multiplexer 118 and ISC piece 131, shown in the arrow among Fig. 1.Before it was written into programmable logic block 130, the FPGA (Field Programmable Gate Array) in the programmable logic block 110 can be encrypted the ISC configuration data, with protection client's circuit design.
When removing electricity, non-volatile memory block 112 is not lost its data pattern.For example, non-volatile memory block 112 can be used for keeping FPGA configuration file and volatibility FPGA redundant information.Non-volatile memory block 112 can realize by many modes.For example, non-volatile memory block 112 can be the metal fuse storer with disposable programmable memory unit.Other example of non-volatile memory block 112 comprises programmable anti-molten array, metal or many mask-programmables array, flash array, eeprom memory array, LASER programmable fuse array, magnetoresistive memory array (MRAM) and ferroelectric memory array (FeRAM).The reduced size of non-volatile memory block 112 has increased its density possibility.
ISC port in JTAG I/O test port in the non-volatile memory block 112 accessible region territories 102 or the zone 103 is programmed.If the I/O port is not controlled programmable logic block 110, the ISC I/O port that Nonvolatile programmable logical block 110 is gone back in the accessible region territory 103 is programmed.But subclass and some universal internal routing interconnect line than smaller subset, all ISC IO, internal reset and clock bus of Nonvolatile programmable logical block 110 access universal I.
Zone 102 comprises JTAG (JTAG) IO port and relevant circuit.Circuit in the zone 102 is according to the JTAG order of known technology decoding programming nonvolatile memory piece 112.Zone 103 comprises configuration (ISC) IO port and relevant circuit in the system, and it is configuration volatibility programmable logic block 130 when energising.The ISCIO port also can be used for reconfiguring volatibility programmable logic block 130 configuration SRAM.In addition, before definition disposable programmable nonvolatile memory program, ISC IO port in the zone 103 and the circuit non-volatile configuration SRAM in the programmable logic block 130 that can be used for programming.Importantly, the programming solution be available, and in the configuration of programmable logic block 110 or 112 without any condition precedent.
IO and configuration and ISC source multiplexer 121 and 122 that POR configuration block 111 is gone back in the control area 104.POR configuration block 111 can will be written into the I/O memory bank of zone in 104 from the configuration data of non-volatile memory block 112 by multiplexer 122, with the IO port in the configuring area 104.In addition, if POR configuration block 111 allows, volatibility ISC piece 131 can reconfigure POR4IO piece 104.
POR configuration block 111 can be given Nonvolatile programmable logical block 110 with the control of I/O memory bank in the zone 104.In case the FPGA (Field Programmable Gate Array) in the programmable logic block 110 is configured, then FPGA (Field Programmable Gate Array) is determined the control of multiplexer 121.Multiplexer 121 the zone in 104 the I/O port and Nonvolatile programmable logical block 110 or volatibility programmable logic block 130 between route signal.Therefore, input and output signal can be routed through the FPGA (Field Programmable Gate Array) in the arrival of the I/O port in the zone 104 programmable logic block 110 or 130 by control multiplexer 121.
Fig. 2 illustrates the second embodiment of the present invention.According to this embodiment, can deposit two set of configuration data in non-volatile memory block 112.First set of configuration data is a bootmode, and it is programmed so that for all clients provide FPGA standard feature, such as ASSP by manufacturer.The advantage of this embodiment is to allow FPGA manufacturer to change Product Definition in time by the simple change that the output manufacturing test is flowed.
In case the user has defined an application, then the user can be with additional configurations data write non-volatile memory piece 112.For example, the user can deposit non-volatile memory block 112 by diagnosis pattern operation FPGA in the configuration data of testing various signals with being used for.
In OTP type nonvolatile memory, in non-volatile memory block 112, need two subregions.A subregion is used to store the default Boot Configuration Data of manufacturer, and a subregion is used to store user's configuration data, to satisfy user's special requirement better.The subregion that is used for non-volatile memory block 112 has been shown among Fig. 2.If detect valid data in user partition, then configuration logic can be skipped boot configuration.
In the embodiment of Fig. 2, non-volatile memory block 112 has enough storeies, so that it can store two set of configuration data that are used for programmable logic block 110.According to other embodiments of the invention, non-volatile memory block 112 can be stored two set of configuration data that surpass that are used for programmable logic block 110.But the N haplotype data of non-volatile memory block 112 in non-volatile memory block 112 storage maps 1 among Fig. 2, wherein N is the quantity of the required set of configuration data of configurating programmable logical block 110.
Fig. 3 A shows another embodiment of the present invention.Many programming logic integrated circuits now all have hard intelligence power (HIP) piece.The HIP piece is by the part of hardwire with the special IC (ASIC) of execution predetermined function.When a large amount of clients needed identical function, manufacturer added the HIP piece to FPGA (Field Programmable Gate Array) IC.When carrying out specific function, ASIC is more effective than FPGA usually.But the dirigibility of ASIC can not show a candle to FPGA, because they can only be carried out by the hard wired function of mask set.
Usually, FPGA client has similar (but the non-unanimity) requirement to the particular type circuit function.In these examples, expectation provides the HIP piece of some built-in program capability to FPGA.Embodiment shown in Fig. 3 A provides built-in program capability in the HIP piece with the form of programmable register group, and this will be in following detailed description.The programmable register group has promoted the dirigibility of HIP piece.
Fig. 3 A shows the block diagram of the initialized registers group of CRAM in the HIP piece 301 on the FPGA (Field Programmable Gate Array) IC.The block diagram of Fig. 3 A shows the user model configuration interface 320 that can be reconfigured during user model, be used for the FPGA initialized configuration RAM of configuration (CRAM) 312, and the programmable register group 330 that mode initialization is outputed to IP logic 335.
IP logic 335 comprises the logical circuit in the HIP piece 301, it by hardwire to carry out specific function.Programmable register group 330 offers the function that IP logic 335 is carried out with some program capability.For example, multiplexer in the programmable register group 330 may command IP logics 335 or counter are to provide a plurality of options of logic function aspect.
Programmable register group 330 can be programmed the fixed function in the time of also can having energising during the user model of FPGA.Programmable register group 330 can be by being programmed from the bit of storing among User_Mode signal, the CRAM312 or from the user model configuration data of user model configuration interface 320.Write logic 322 and this user model configuration data is sent to programmable register group 330 through multiplexer 325.Configuration data from CRAM312 also can directly be sent to programmable register group 330 by multiplexer 325.
During energising, defaultization writes logic 322, so that multiplexer 325 is by being set at CRAM_n_Config ' 1 ' and Write_En is set at ' 1 ' selects CRAM interface 312.During FPGA configuration cycle, loading programmable IC CRAM bit.When entering user model, programmable I C core is asserted (assert) User_Mode signal, and clock signal begins to switch (toggle).Can in writing logic 322, realize based on the synchronous self clock circuit that the User_Mode signal is asserted, be sampled into programmable register group 330 as default settings to guarantee the CRAM value.
Writing logic 322 can come switching multiplexing device 325 by CRAM_n_Config being set at ' 0 ', to select user model configuration interface 320.During the user model, by being written into programmable register group 330 by user model configuration interface 320 from the data of user's pattern configurations controller 310, the output valve of programmable register group 330 can change by (the bus protocol scheme) write cycle.User model Configuration Control Unit 310 (shown in fpga core 302) is implemented as the programmable logic block according to the configuration data configuration set usually.Programmable register group 330 is embodied as the register of memory mapped usually.
Registers group 330 output valves can be used to the purposes of monitoring, debug and testing by reading logic 321 and configuration interface 320 is read back.For test-purpose, it is correct that user model configuration interface 320 allow the setting of storage in the programmable register group 330 to be read back to be set with verification.By using the configuration interface of present embodiment, can verify connection from CRAM312 to HIP piece 301, being used for better, test covers.
Registers group 330 had better not be by the CRAM asynchronously initializing.If programmable register group 330 is supported asynchronous setting and asynchronous reset, this realization is sensitive to the race state.For avoiding the race state, can add extra logic.But, to compare with above-mentioned synchronous initiation scheme, the total cost of adding this logic is more expensive.
The embodiment of Fig. 3 A has several advantages.For example, this embodiment provides better test to cover to the connection from CRAM to the registers group.Only compare with wherein correct CRAM setting, because the structural property of test has also reduced the test duration by the conventional IP functional test scheme of operation IP functional test vector verification.But, it seems that from the viewpoint of die area cost this embodiment is not suitable for very large registers group.
According to another embodiment of the present invention, HIP piece 301 able to programme can replace the programmable logic block 110 among Fig. 1 or Fig. 2.Fig. 3 B shows this embodiment.Fig. 3 B allows HIP piece 301 work able to programme irrelevant with volatibility programmable logic block 310.
Fig. 3 B also only maximizes the ability of the momentary connection of HIP piece 301 with a small amount of programming.Because the HIP piece 301 among Fig. 3 B only needs to be stored in a small amount of configuration data in the non-volatile memory block 112, so can realize depositing non-volatile memory block 112 with the storer of many types (for example, many molten, magnetic resistance ROM etc.).
The embodiment of Fig. 3 B illustrates HIP piece 301 able to programme not to be needed consistent with 130 framework.HIP piece 301 able to programme and 130 framework only need to have the program capability of par.Also expectation (but inessential), HIP piece 301 able to programme need obviously be less than the configuration bit of programmable logic block 130.The area of HIP piece 301 able to programme and complicacy usually needn't be littler.
Fig. 4 is the simplification part block diagram of an example that can comprise the PLD400 of each side of the present invention.Though mainly in the environment of PLD and FPGA, the present invention is discussed, should understands the programmable integrated circuit that the present invention can be applicable to many types.PLD400 is other example that can realize the programmable integrated circuit of technology of the present invention.PLD400 comprises the two-dimensional array of programmable logic array piece (or LAB) 402, and they are interconnected by the network of the row and column interconnection of variation length and speed.Logical block (or LE) that LAB402 comprises a plurality of (for example, 10).
LE provides the programmable logic block of the effective realization that is used for user-defined logic function.PLD has many logical blocks, and they can be configured to realize various combinations and order function.Logical block has the programmable interconnect structure of leading to.Programmable interconnect structure can be programmed, with the logical block in the almost any desired configuration of interconnection.
PLD400 also comprises the distributed storage structure, and it comprises the RAM piece that spreads all over the variable-size that array provides.For example, this RAM piece comprises 512 bit blocks 404,4K piece 406 and the piece 408 of 512K bit RAM is provided.These memory blocks also can comprise shift register and fifo buffer.
PLD400 also comprises digital signal processing (DSP) piece 410, and it for example can realize having the multiplier of the characteristics of adding deduct.Be arranged near the I/O element (IOE) in device periphery 412 in this embodiment and support many single-ended and difference I/O standards.Should be understood that describing PLD400 here is only for illustration purpose, and the present invention can realize in many dissimilar PLD, FPGA etc.
Though the PLD of type shown in Figure 4 provides and has realized also helping the required many resources of system-level solution, the present invention wherein PLD is the system of one of several assemblies.Fig. 5 shows the block diagram that wherein can embody exemplary digital of the present invention system 500.Exemplary digital system 500 can be digital computing system, digital information processing system, special number handover network or other disposal system of programming.In addition, this system can be designed for various application, such as telecommunication system, automotive system, control system, consumption electronic product, personal computer, Internet traffic and networking etc.In addition, exemplary digital system 500 can be arranged on the single plate, on a plurality of plate or in a plurality of encapsulation.
Exemplary digital system 500 comprises by one or more bus interconnections processing unit 502, storer 504 and I/O unit 506 together.According to this exemplary embodiment, programmable logic device (PLD) 508 embeds in the processing unit 502.PLD508 can be used for many different purposes in the system of Fig. 5.PLD508 for example can be that the logic of processing unit 502 makes up piece, supports its inside and outside operation.PLD508 is programmed to be implemented in and carries out the necessary logic function of its special role in the system operation.PLD508 can be coupled to storer 504 specially and be coupled to I/O 506 by connecting 512 by connecting 510.
Processing unit 502 can direct the data to that suitable system component is used for handling or storage, program stored or receive and send data via I/O unit 506 in the execute store 504, or other similar functions.Processing unit 502 can be CPU (central processing unit) (CPU), microprocessor, floating-point coprocessor, graphics coprocessor, hardware control, microcontroller, programming as the programmable logic device of controller, network controller etc.In addition, in many examples, often do not need CPU.
For example, but the logical operation of one or more PLD508 replaced C PU control system.In one embodiment, PLD508 is as reconfigurable processor, and it can be reprogrammed on demand to handle specific calculation task.Perhaps, but programmable logic device 508 self comprises the microprocessor of embedding.Memory cell 504 can be random-access memory (ram), ROM (read-only memory) (ROM), fixing or flexible disk media, PC card flash memory disk storer, tape or any other memory storage, or the combination of these memory storages.
Though described the present invention with reference to its specific embodiments here, comprised the scope of modification, various variation and replacement among the present invention.In some instances, can under the situation of not corresponding other characteristics of use, adopt characteristics of the present invention, and not deviate from described scope of the present invention.Therefore, can carry out particular arrangement or method that many modifications are disclosed to adapt to, and not deviate from essence spirit of the present invention and scope.The present invention is intended to be not limited to the specific embodiments that disclosed, and the present invention will comprise all embodiment and the equivalent that belongs in claims scope.

Claims (23)

1. integrated circuit comprises:
Programmable logic block; And
The programmable hard intelligence power of part piece, it comprises programmable register group and special circuit and is coupled with described programmable logic block, wherein the programmable register group is configured to control the function of the subclass of described special circuit;
Wherein, the logical circuit in the programmable hard intelligence power piece of described part receives configuration data and described configuration data is written into described programmable register group.
2. integrated circuit as claimed in claim 1 is characterized in that, during described integrated circuit energising, described logical circuit is written into described programmable register group with described configuration data from configuration random-access memory.
3. integrated circuit as claimed in claim 1 is characterized in that, described logical circuit is written into described programmable register group from the user model Configuration Control Unit by the user model configuration interface with described configuration data.
4. integrated device electronics comprises:
Nonvolatile memory;
First circuit, it comprises the FPGA (Field Programmable Gate Array) that can be disposed by the data of storing in the described nonvolatile memory; And
Second circuit, wherein when disposing the FPGA (Field Programmable Gate Array) of described first circuit, described first circuit is assisted the configuration of the FPGA (Field Programmable Gate Array) of described second circuit, and the configuration of the FPGA (Field Programmable Gate Array) of wherein said second circuit is used from other data of the external source of described integrated device electronics and finished.
5. integrated device electronics as claimed in claim 4 is characterized in that, described first circuit comprises the programmable hard intelligence power piece of part, and this hard intelligence power piece comprises programmable register group and special circuit.
6. integrated device electronics as claimed in claim 4 is characterized in that, described first circuit is used for by sending described other data to configuration that described second circuit is assisted the FPGA (Field Programmable Gate Array) of described second circuit through described first circuit.
7. integrated device electronics as claimed in claim 4 is characterized in that, also comprises:
The one I/O piece;
First multiplexer, it has first input end, second input terminal that is coupled to described first circuit that is coupled to a described I/O piece, the selection input of being coupled to the lead-out terminal of configuration block in the system and being coupled to described first circuit.
8. integrated device electronics as claimed in claim 7 is characterized in that, also comprises:
The 2nd I/O piece; And
Second multiplexer, second input terminal that has the lead-out terminal that is coupled to described the 2nd I/O piece, first input end that is coupled to described first circuit and be coupled to described second circuit.
9. an integrated circuit comprises
First programmable logic block;
First on-reset circuit, it provides first output signal to described first programmable logic block, can start working to indicate described first programmable logic block;
Second programmable logic block; And
Second on-reset circuit, it provides second output signal to described second programmable logic block, can start working to indicate described second programmable logic block, wherein, described first on-reset circuit separates with described second on-reset circuit, and wherein said first programmable logic block was started working before described second programmable logic block.
10. integrated circuit as claimed in claim 9 is characterized in that, described first programmable logic block can be with being configured than the described second programmable logic block less time.
11. integrated circuit as claimed in claim 9 is characterized in that, described first programmable logic block is less than described second programmable logic block.
12. the method for a collocating integrate circuit equipment comprises:
When the first programmable circuit piece in the described integrated device electronics is in total power, produce first signal;
When the second programmable circuit piece in the described integrated device electronics is in total power, produce secondary signal;
After producing described first signal, dispose the described first programmable circuit piece, the wherein said first programmable circuit piece is configured by the data that the non-volatile memory block in described integrated device electronics receives; And
After producing described secondary signal and disposing the described first programmable circuit piece, dispose the described second programmable circuit piece, the wherein said second programmable circuit piece is configured by the data that the external source from described integrated device electronics receives, and the described first programmable circuit piece is used to dispose the described second programmable circuit piece.
13. the method for a collocating integrate circuit equipment comprises:
Non-volatile memory block from described integrated device electronics is fetched first data;
With described first data first programmable circuit piece in the described integrated device electronics is configured;
Receive second data from the external source of described integrated device electronics; And
The described first programmable circuit piece that use is configured is configured the second programmable circuit piece in the described integrated device electronics with described second data.
14. an integrated circuit comprises:
Programmable circuit; And
Nonvolatile memory, wherein, described nonvolatile memory is stored the configuration data of default bootmode in first, and can be configured in second portion storage user configuration data, wherein, when not detecting valid data in described second portion, described default bootmode is controlled the configuration of described programmable circuit, and wherein when in described second portion, detecting valid data, use described valid data to dispose described programmable circuit.
15. a method of operating integrated circuit comprises:
Determine whether first subregion of the non-volatile memory block in the described integrated circuit has stored effective user data;
When in described first subregion, having stored effective user data, dispose the first programmable circuit piece in the described integrated circuit with this effective user data; And
When not storing effective user data in described first subregion, use the configuration data of the default bootmode in second subregion that is stored in described non-volatile memory block to dispose the described first programmable circuit piece.
16. method as claimed in claim 15 is characterized in that, also comprises:
The first programmable circuit piece that use is disposed disposes the second programmable circuit piece in the described integrated circuit.
17. a method of operating integrated circuit comprises:
In described integrated circuit, deposit the configuration data of the bootmode that standard feature is provided in first subregion of non-volatile memory block in;
Receive user's configuration data from the user;
In described integrated circuit, deposit described user's configuration data in second subregion of non-volatile memory block in; And
Configuration data and described user's configuration data with described bootmode are configured the first programmable circuit piece in the described integrated circuit.
18. method as claimed in claim 17 is characterized in that, also comprises:
The first programmable circuit piece that use is disposed disposes the second programmable circuit piece in the described integrated circuit.
19. an integrated circuit comprises:
FPGA (Field Programmable Gate Array); And
The programmable hard intelligence power piece of part, it comprises programmable register group and special circuit, wherein said programmable register group can be configured to control the function of described special circuit, and wherein, circuit in the described FPGA (Field Programmable Gate Array) is used to receive configuration data and described configuration data is written into described programmable register group, wherein during described integrated circuit energising, described configuration data is written into described programmable register group.
20. integrated circuit as claimed in claim 19 is characterized in that, the circuit in described FPGA (Field Programmable Gate Array) that is used for configuration data is written into described programmable register group comprises the nonvolatile memory that is used for storing described configuration data.
21. integrated circuit as claimed in claim 19 is characterized in that, described configuration data is fetched from the external source of described integrated circuit.
22. integrated circuit as claimed in claim 19, it is characterized in that, the circuit in described FPGA (Field Programmable Gate Array) that is used for configuration data is written into described programmable register group comprises the user model Configuration Control Unit, and this user model Configuration Control Unit transmits described configuration data by the user model configuration interface in the programmable hard intelligence power piece of described part.
23. integrated circuit as claimed in claim 22, it is characterized in that, the circuit in described FPGA (Field Programmable Gate Array) that is used for configuration data is written into described programmable register group also comprises configuration random-access memory, wherein, the programmable circuit of described part also comprises multiplexer, be used between described user model configuration interface and configuration random-access memory, selecting, configuration data is written into described programmable register group.
CN2005101287616A 2004-12-02 2005-12-02 Method and circuit for configuring programmable device Expired - Fee Related CN1815628B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/003,586 US7242218B2 (en) 2004-12-02 2004-12-02 Techniques for combining volatile and non-volatile programmable logic on an integrated circuit
US11/003,586 2004-12-02

Publications (2)

Publication Number Publication Date
CN1815628A CN1815628A (en) 2006-08-09
CN1815628B true CN1815628B (en) 2010-10-27

Family

ID=36078904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101287616A Expired - Fee Related CN1815628B (en) 2004-12-02 2005-12-02 Method and circuit for configuring programmable device

Country Status (4)

Country Link
US (1) US7242218B2 (en)
EP (1) EP1667327A3 (en)
JP (1) JP4249745B2 (en)
CN (1) CN1815628B (en)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190190B1 (en) * 2004-01-09 2007-03-13 Altera Corporation Programmable logic device with on-chip nonvolatile user memory
US7689726B1 (en) * 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
US20060136858A1 (en) * 2004-12-17 2006-06-22 International Business Machines Corporation Utilizing fuses to store control parameters for external system components
US7442583B2 (en) * 2004-12-17 2008-10-28 International Business Machines Corporation Using electrically programmable fuses to hide architecture, prevent reverse engineering, and make a device inoperable
US20080061817A1 (en) * 2004-12-17 2008-03-13 International Business Machines Corporation Changing Chip Function Based on Fuse States
US7919979B1 (en) * 2005-01-21 2011-04-05 Actel Corporation Field programmable gate array including a non-volatile user memory and method for programming
US20060194603A1 (en) * 2005-02-28 2006-08-31 Rudelic John C Architecture partitioning of a nonvolatile memory
US8395426B2 (en) * 2005-05-19 2013-03-12 Broadcom Corporation Digital power-on reset controller
US7538577B2 (en) * 2005-06-29 2009-05-26 Thomas Bollinger System and method for configuring a field programmable gate array
US7403051B1 (en) * 2006-01-26 2008-07-22 Xilinx, Inc. Determining voltage level validity for a power-on reset condition
JP2007251329A (en) * 2006-03-14 2007-09-27 Matsushita Electric Ind Co Ltd Programmable logic device
US7327595B2 (en) * 2006-05-09 2008-02-05 Analog Devices, Inc. Dynamically read fuse cell
US7495970B1 (en) * 2006-06-02 2009-02-24 Lattice Semiconductor Corporation Flexible memory architectures for programmable logic devices
US7570078B1 (en) 2006-06-02 2009-08-04 Lattice Semiconductor Corporation Programmable logic device providing serial peripheral interfaces
US7378873B1 (en) * 2006-06-02 2008-05-27 Lattice Semiconductor Corporation Programmable logic device providing a serial peripheral interface
US7375546B1 (en) 2006-06-08 2008-05-20 Xilinx, Inc. Methods of providing performance compensation for supply voltage variations in integrated circuits
US7365563B1 (en) 2006-06-08 2008-04-29 Xilinx, Inc. Integrated circuit with performance compensation for process variation
US7529993B1 (en) 2006-06-08 2009-05-05 Xilinx, Inc. Method of selectively programming integrated circuits to compensate for process variations and/or mask revisions
US7362129B1 (en) 2006-06-08 2008-04-22 Xilinx, Inc. Methods of providing performance compensation for process variations in integrated circuits
US7368940B1 (en) * 2006-06-08 2008-05-06 Xilinx, Inc. Programmable integrated circuit with selective programming to compensate for process variations and/or mask revisions
US20080306723A1 (en) * 2007-06-08 2008-12-11 Luca De Ambroggi Emulated Combination Memory Device
US7576561B1 (en) * 2007-11-13 2009-08-18 Xilinx, Inc. Device and method of configuring a device having programmable logic
US7795909B1 (en) * 2008-04-15 2010-09-14 Altera Corporation High speed programming of programmable logic devices
WO2010038293A1 (en) 2008-10-01 2010-04-08 富士通株式会社 Semiconductor device, information processor, and semiconductor device configuration method
WO2010070736A1 (en) * 2008-12-16 2010-06-24 株式会社島津製作所 Apparatus and method for controlling programmable device
US7888965B2 (en) * 2009-01-29 2011-02-15 Texas Instruments Incorporated Defining a default configuration for configurable circuitry in an integrated circuit
EP2224344A1 (en) * 2009-02-27 2010-09-01 Panasonic Corporation A combined processing and non-volatile memory unit array
US8433950B2 (en) * 2009-03-17 2013-04-30 International Business Machines Corporation System to determine fault tolerance in an integrated circuit and associated methods
US8174287B2 (en) * 2009-09-23 2012-05-08 Avaya Inc. Processor programmable PLD device
US8417874B2 (en) * 2010-01-21 2013-04-09 Spansion Llc High speed memory having a programmable read preamble
US8358553B2 (en) * 2010-06-07 2013-01-22 Xilinx, Inc. Input/output bank architecture for an integrated circuit
US9543956B2 (en) * 2011-05-09 2017-01-10 Intel Corporation Systems and methods for configuring an SOPC without a need to use an external memory
US8625345B2 (en) * 2011-07-27 2014-01-07 Micron Technology, Inc. Determining and transferring data from a memory array
US8611138B1 (en) 2012-01-20 2013-12-17 Altera Corporation Circuits and methods for hardening volatile memory circuits through one time programming
US9715911B2 (en) * 2012-09-10 2017-07-25 Texas Instruments Incorporated Nonvolatile backup of a machine state when a power supply drops below a threshhold
US9547034B2 (en) * 2013-07-03 2017-01-17 Xilinx, Inc. Monolithic integrated circuit die having modular die regions stitched together
US10169618B2 (en) 2014-06-20 2019-01-01 Cypress Semiconductor Corporation Encryption method for execute-in-place memories
US10192062B2 (en) * 2014-06-20 2019-01-29 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
US10691838B2 (en) 2014-06-20 2020-06-23 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
DE102015110729A1 (en) * 2014-07-21 2016-01-21 Dspace Digital Signal Processing And Control Engineering Gmbh Arrangement for partially releasing a debugging interface
CN105632567B (en) * 2014-10-27 2019-01-01 阿尔特拉公司 Integrated circuit device with embedded programmable logic
KR102441717B1 (en) * 2014-11-12 2022-09-07 자일링크스 인코포레이티드 Heterogeneous multiprocessor program compilation targeting programmable integrated circuits
US9847783B1 (en) * 2015-10-13 2017-12-19 Altera Corporation Scalable architecture for IP block integration
GB2567215B (en) * 2017-10-06 2020-04-01 Advanced Risc Mach Ltd Reconfigurable circuit architecture
US10956241B1 (en) 2017-12-20 2021-03-23 Xilinx, Inc. Unified container for hardware and software binaries
US10782759B1 (en) 2019-04-23 2020-09-22 Arbor Company, Lllp Systems and methods for integrating batteries with stacked integrated circuit die elements
JP7064060B1 (en) * 2019-04-23 2022-05-09 アーバー・カンパニー・エルエルエルピイ Systems and methods for reconstructing dual-function cell array
US10587270B2 (en) 2019-06-12 2020-03-10 Intel Corporation Coarse-grain programmable routing network for logic devices
US10949204B2 (en) * 2019-06-20 2021-03-16 Microchip Technology Incorporated Microcontroller with configurable logic peripheral
US20210011732A1 (en) 2019-07-09 2021-01-14 MemryX Inc. Matrix Data Reuse Techniques in Processing Systems
US10749528B2 (en) 2019-08-20 2020-08-18 Intel Corporation Stacked programmable integrated circuitry with smart memory
US10992299B1 (en) * 2020-03-09 2021-04-27 Gowin Semiconductor Corporation Method and system for providing word addressable nonvolatile memory in a programmable logic device
KR102567207B1 (en) 2020-06-29 2023-08-16 아르보 컴퍼니 엘엘엘피 Mobile IOT edge device using 3D die stacking reconfigurable processor module with 5G processor standalone modem
US11468220B2 (en) * 2020-07-24 2022-10-11 Gowin Semiconductor Corporation Method and system for enhancing programmability of a field-programmable gate array via a dual-mode port
US11662923B2 (en) 2020-07-24 2023-05-30 Gowin Semiconductor Corporation Method and system for enhancing programmability of a field-programmable gate array
US11829480B2 (en) * 2022-04-20 2023-11-28 Quanta Computer Inc. Remote access of system register configuration
US20240104280A1 (en) * 2022-09-22 2024-03-28 Apple Inc. Functional Circuit Block Harvesting in Integrated Circuits

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1144964A (en) * 1994-08-01 1997-03-12 精工电子工业株式会社 Integrated logic circuit and EEPROM
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US6052309A (en) * 1996-03-14 2000-04-18 Altera Corporation Nonvolatile configuration cells and cell arrays
US6107821A (en) * 1999-02-08 2000-08-22 Xilinx, Inc. On-chip logic analysis and method for using the same
US20030020512A1 (en) * 2001-07-30 2003-01-30 Paul Mantey System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system
CN1462945A (en) * 2003-06-18 2003-12-24 上海北大方正科技电脑系统有限公司 Method for configuring hardware logic of printer controller by using programmable gate array
CN1512591A (en) * 2002-12-30 2004-07-14 ����ʿ�뵼�����޹�˾ Non-volatile storage device
CN1523510A (en) * 2003-02-18 2004-08-25 明基电通股份有限公司 Method and apparatus for repeated data downloading to in situ programmable gate array

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548228A (en) * 1994-09-28 1996-08-20 Altera Corporation Reconfigurable programmable logic device having static and non-volatile memory
US5734868A (en) * 1995-08-09 1998-03-31 Curd; Derek R. Efficient in-system programming structure and method for non-volatile programmable logic devices
US6097211A (en) * 1996-07-18 2000-08-01 Altera Corporation Configuration memory integrated circuit
US5970142A (en) * 1996-08-26 1999-10-19 Xilinx, Inc. Configuration stream encryption
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US5874834A (en) * 1997-03-04 1999-02-23 Xilinx, Inc. Field programmable gate array with distributed gate-array functionality
US6102963A (en) * 1997-12-29 2000-08-15 Vantis Corporation Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's
US6145020A (en) * 1998-05-14 2000-11-07 Advanced Technology Materials, Inc. Microcontroller incorporating an enhanced peripheral controller for automatic updating the configuration date of multiple peripherals by using a ferroelectric memory array
US6260087B1 (en) * 1999-03-03 2001-07-10 Web Chang Embedded configurable logic ASIC
JP3754221B2 (en) * 1999-03-05 2006-03-08 ローム株式会社 Multi-chip type semiconductor device
US6490707B1 (en) * 2000-07-13 2002-12-03 Xilinx, Inc. Method for converting programmable logic devices into standard cell devices
US6526563B1 (en) * 2000-07-13 2003-02-25 Xilinx, Inc. Method for improving area in reduced programmable logic devices
US6515509B1 (en) * 2000-07-13 2003-02-04 Xilinx, Inc. Programmable logic device structures in standard cell devices
US6538468B1 (en) * 2000-07-31 2003-03-25 Cypress Semiconductor Corporation Method and apparatus for multiple boot-up functionalities for a programmable logic device (PLD)
US6441641B1 (en) * 2000-11-28 2002-08-27 Xilinx, Inc. Programmable logic device with partial battery backup
WO2002057921A1 (en) * 2001-01-19 2002-07-25 Hitachi,Ltd Electronic circuit device
JP3904859B2 (en) * 2001-07-30 2007-04-11 シャープ株式会社 Power-on reset circuit and IC card having the same
US6766406B1 (en) * 2001-10-08 2004-07-20 Lsi Logic Corporation Field programmable universal serial bus application specific integrated circuit and method of operation thereof
US6842034B1 (en) * 2003-07-01 2005-01-11 Altera Corporation Selectable dynamic reconfiguration of programmable embedded IP
US7170315B2 (en) * 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
US7030646B1 (en) * 2003-09-02 2006-04-18 Altera Corporation Functional pre-configuration of a programmable logic device
US20050102573A1 (en) * 2003-11-03 2005-05-12 Macronix International Co., Ltd. In-circuit configuration architecture for embedded configurable logic array
US20050093572A1 (en) * 2003-11-03 2005-05-05 Macronix International Co., Ltd. In-circuit configuration architecture with configuration on initialization function for embedded configurable logic array

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1144964A (en) * 1994-08-01 1997-03-12 精工电子工业株式会社 Integrated logic circuit and EEPROM
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US6263430B1 (en) * 1995-08-18 2001-07-17 Xilinx, Inc. Method of time multiplexing a programmable logic device
US6052309A (en) * 1996-03-14 2000-04-18 Altera Corporation Nonvolatile configuration cells and cell arrays
US6107821A (en) * 1999-02-08 2000-08-22 Xilinx, Inc. On-chip logic analysis and method for using the same
US20030020512A1 (en) * 2001-07-30 2003-01-30 Paul Mantey System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system
CN1512591A (en) * 2002-12-30 2004-07-14 ����ʿ�뵼�����޹�˾ Non-volatile storage device
CN1523510A (en) * 2003-02-18 2004-08-25 明基电通股份有限公司 Method and apparatus for repeated data downloading to in situ programmable gate array
CN1462945A (en) * 2003-06-18 2003-12-24 上海北大方正科技电脑系统有限公司 Method for configuring hardware logic of printer controller by using programmable gate array

Also Published As

Publication number Publication date
JP4249745B2 (en) 2009-04-08
US7242218B2 (en) 2007-07-10
EP1667327A2 (en) 2006-06-07
JP2006166430A (en) 2006-06-22
US20060119384A1 (en) 2006-06-08
CN1815628A (en) 2006-08-09
EP1667327A3 (en) 2010-05-19

Similar Documents

Publication Publication Date Title
CN1815628B (en) Method and circuit for configuring programmable device
US7495970B1 (en) Flexible memory architectures for programmable logic devices
US7919979B1 (en) Field programmable gate array including a non-volatile user memory and method for programming
US6057705A (en) Programmable pin designation for semiconductor devices
US6097211A (en) Configuration memory integrated circuit
US6828823B1 (en) Non-volatile and reconfigurable programmable logic devices
US8627105B2 (en) Method and apparatus for securing programming data of a programmable device
US7622948B1 (en) Parallel configuration of programmable devices
US7154297B1 (en) Programmable logic with programmable volatility
US10855285B2 (en) Field programmable transistor arrays
JP6530358B2 (en) How to change the configuration of programmable logic chips
US6029236A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
US7683663B1 (en) Authorization of an implementation of a user design in a programmable integrated circuit
EP0227329A2 (en) Programmable logic device
US11362662B2 (en) Field programmable transistor arrays
US8601306B1 (en) Decryption of configuration data for multi-die integrated circuits
US6680871B1 (en) Method and apparatus for testing memory embedded in mask-programmable logic device
CN103633993A (en) Programmable logic circuit containing customizable fuse configuration module
US8327194B1 (en) Nonvolatile recording of integrated circuit-related data
US8941408B2 (en) Configuring data registers to program a programmable device with a configuration bit stream without phantom bits
US6567970B1 (en) PLD configuration architecture
JP3857691B2 (en) Reconfigurable digital logic unit
US7830171B1 (en) Method and apparatus for initializing an integrated circuit
Simek et al. Reconfigurable Platform with Polymorphic Digital Gates and Partial Reconfiguration Feature
Honarmand et al. High Level Synthesis of Degradable ASICs Using Virtual Binding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101027

Termination date: 20181202

CF01 Termination of patent right due to non-payment of annual fee