WO1997006599B1 - Efficient in-system programming structure and method for non-volatile programmable logic devices - Google Patents
Efficient in-system programming structure and method for non-volatile programmable logic devicesInfo
- Publication number
- WO1997006599B1 WO1997006599B1 PCT/US1996/013036 US9613036W WO9706599B1 WO 1997006599 B1 WO1997006599 B1 WO 1997006599B1 US 9613036 W US9613036 W US 9613036W WO 9706599 B1 WO9706599 B1 WO 9706599B1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- register
- isp
- address
- instruction
- Prior art date
Links
Abstract
An in-system programming/erasing/verifying structure for non-volatile programmable logic devices includes a data input pin (TDI), a data output pin, an instruction register (103A, 103B), a plurality of data registers (506A, 506B) including an ISP register, wherein said instruction register and said plurality of data registers are coupled in parallel between said data input pin and said data output pin, and a controller for synchronizing said instruction register and said plurality of data registers. The ISP register includes: an address field, a data field, and a status field. An ISP instruction need only be entered once to program/erase the entire device. Specifically, the address/data packets can be shifted back to back into the ISP register without inserting multiple instructions between each packet at the data input pin, thereby dramatically decreasing the time required to program/erase the entire device in comparison to known ISP methods. Furthermore, the invention provides an efficient method for providing the status (i.e. result), of the ISP operations to either the end-user or the supporting software.
Claims
AMENDED CLAIMS
[received by the International Bureau on 11 February 1997 (11.02.97); original claim 2 cancelled; original claims 1 and 3 amended; remaining claims unchanged (1 page)] 1 . An in-system progra ming/erasing/veri fying structure for non-volatile programmable logic devices including: a data input pin; a data output pin; an instruction register; a plurality of data registers including an ISP register, wherein said ISP register includes: an address field; a data field; and a status field, wherein said instruction register and said plurality of data registers are coupled to parallel between said data input pin and said data output pin; and a controller for synchronizing the clocking of said instruction register and said plurality of data registers.
2. Cancelled.
3. The in-system progr-imming/erasing/verifying structure in Claim 1 wherein said status field stores a two-bit code.
4. An in-system programming method for a non¬ volatile programmable logic device including: shifting a program instruction into an instruction register, thereby selecting an ISP register as the active data register; shifting an address, data, and status code into said ISP register; initiating a programming pulse for said data at said address; terminating said programming pulse; and automatically performing a verify operation on said address.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP96927385A EP0843915A1 (en) | 1995-08-09 | 1996-08-09 | Efficient in-system programming structure and method for non-volatile programmable logic devices |
JP9508692A JPH11511307A (en) | 1995-08-09 | 1996-08-09 | Efficient in-system programming constructs and methods for nonvolatile programmable logic devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/512,796 | 1995-08-09 | ||
US08/512,796 US5734868A (en) | 1995-08-09 | 1995-08-09 | Efficient in-system programming structure and method for non-volatile programmable logic devices |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1997006599A1 WO1997006599A1 (en) | 1997-02-20 |
WO1997006599B1 true WO1997006599B1 (en) | 1997-03-20 |
Family
ID=24040601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1996/013036 WO1997006599A1 (en) | 1995-08-09 | 1996-08-09 | Efficient in-system programming structure and method for non-volatile programmable logic devices |
Country Status (4)
Country | Link |
---|---|
US (2) | US5734868A (en) |
EP (1) | EP0843915A1 (en) |
JP (1) | JPH11511307A (en) |
WO (1) | WO1997006599A1 (en) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US5838901A (en) * | 1996-08-05 | 1998-11-17 | Xilinx, Inc. | Overridable data protection mechanism for PLDs |
US6134707A (en) * | 1996-11-14 | 2000-10-17 | Altera Corporation | Apparatus and method for in-system programming of integrated circuits containing programmable elements |
US5966723A (en) * | 1997-05-16 | 1999-10-12 | Intel Corporation | Serial programming mode for non-volatile memory |
US6691267B1 (en) | 1997-06-10 | 2004-02-10 | Altera Corporation | Technique to test an integrated circuit using fewer pins |
JPH1172541A (en) | 1997-06-10 | 1999-03-16 | Altera Corp | Method for constituting programmable integrated circuit, usage of programmable integrated circuit and jtag circuit, and usage of command inputted to jtag command register |
US6389321B2 (en) | 1997-11-04 | 2002-05-14 | Lattice Semiconductor Corporation | Simultaneous wired and wireless remote in-system programming of multiple remote systems |
US6148435A (en) * | 1997-12-24 | 2000-11-14 | Cypress Semiconductor Corporation | Optimized programming/erase parameters for programmable devices |
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 |
US6023570A (en) * | 1998-02-13 | 2000-02-08 | Lattice Semiconductor Corp. | Sequential and simultaneous manufacturing programming of multiple in-system programmable systems through a data network |
US5968196A (en) * | 1998-04-21 | 1999-10-19 | Atmel Corporation | Configuration control in a programmable logic device using non-volatile elements |
US6304099B1 (en) * | 1998-05-21 | 2001-10-16 | Lattice Semiconductor Corporation | Method and structure for dynamic in-system programming |
US5889701A (en) * | 1998-06-18 | 1999-03-30 | Xilinx, Inc. | Method and apparatus for selecting optimum levels for in-system programmable charge pumps |
US6181163B1 (en) * | 1999-01-21 | 2001-01-30 | Vantis Corporation | FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals |
US6738962B1 (en) * | 2000-06-12 | 2004-05-18 | Altera Corporation | Configuration and/or reconfiguration of integrated circuit devices that include programmable logic and microprocessor circuitry |
US6651199B1 (en) * | 2000-06-22 | 2003-11-18 | Xilinx, Inc. | In-system programmable flash memory device with trigger circuit for generating limited duration program instruction |
EP1438662A2 (en) * | 2001-10-11 | 2004-07-21 | Altera Corporation | Error detection on programmable logic resources |
US7073111B2 (en) * | 2002-06-10 | 2006-07-04 | Texas Instruments Incorporated | High speed interconnect circuit test method and apparatus |
US7170315B2 (en) | 2003-07-31 | 2007-01-30 | Actel Corporation | Programmable system on a chip |
US7521960B2 (en) * | 2003-07-31 | 2009-04-21 | Actel Corporation | Integrated circuit including programmable logic and external-device chip-enable override control |
US7328377B1 (en) | 2004-01-27 | 2008-02-05 | Altera Corporation | Error correction for programmable logic integrated circuits |
US7138824B1 (en) | 2004-05-10 | 2006-11-21 | Actel Corporation | Integrated multi-function analog circuit including voltage, current, and temperature monitor and gate-driver circuit blocks |
US7099189B1 (en) | 2004-10-05 | 2006-08-29 | Actel Corporation | SRAM cell controlled by non-volatile memory cell |
US7242218B2 (en) * | 2004-12-02 | 2007-07-10 | Altera Corporation | Techniques for combining volatile and non-volatile programmable logic on an integrated circuit |
US7116181B2 (en) * | 2004-12-21 | 2006-10-03 | Actel Corporation | Voltage- and temperature-compensated RC oscillator circuit |
US7119398B1 (en) | 2004-12-22 | 2006-10-10 | Actel Corporation | Power-up and power-down circuit for system-on-a-chip integrated circuit |
US7446378B2 (en) * | 2004-12-29 | 2008-11-04 | Actel Corporation | ESD protection structure for I/O pad subject to both positive and negative voltages |
US7919979B1 (en) * | 2005-01-21 | 2011-04-05 | Actel Corporation | Field programmable gate array including a non-volatile user memory and method for programming |
US20060271728A1 (en) * | 2005-05-31 | 2006-11-30 | Stmicroelectronics S.R.L. | A low area architecture solution for embedded flash programming memories in microcontrollers |
US7602655B2 (en) * | 2006-01-12 | 2009-10-13 | Mediatek Inc. | Embedded system |
US7546498B1 (en) * | 2006-06-02 | 2009-06-09 | Lattice Semiconductor Corporation | Programmable logic devices with custom identification systems and methods |
US7778074B2 (en) * | 2007-03-23 | 2010-08-17 | Sigmatel, Inc. | System and method to control one time programmable memory |
US8060453B2 (en) | 2008-12-31 | 2011-11-15 | Pitney Bowes Inc. | System and method for funds recovery from an integrated postal security device |
US8055936B2 (en) * | 2008-12-31 | 2011-11-08 | Pitney Bowes Inc. | System and method for data recovery in a disabled integrated circuit |
US8516176B1 (en) | 2012-10-11 | 2013-08-20 | Google Inc. | Gang programming of devices |
US10599853B2 (en) | 2014-10-21 | 2020-03-24 | Princeton University | Trust architecture and related methods |
US11314865B2 (en) | 2017-08-01 | 2022-04-26 | The Trustees Of Princeton University | Pluggable trust architecture |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4761768A (en) * | 1985-03-04 | 1988-08-02 | Lattice Semiconductor Corporation | Programmable logic device |
US4855954A (en) * | 1985-03-04 | 1989-08-08 | Lattice Semiconductor Corporation | In-system programmable logic device with four dedicated terminals |
US4879688A (en) * | 1985-03-04 | 1989-11-07 | Lattice Semiconductor Corporation | In-system programmable logic device |
JPH0422576A (en) * | 1990-05-17 | 1992-01-27 | Mitsubishi Electric Corp | Soldering device |
US5237218A (en) * | 1991-05-03 | 1993-08-17 | Lattice Semiconductor Corporation | Structure and method for multiplexing pins for in-system programming |
US5412260A (en) * | 1991-05-03 | 1995-05-02 | Lattice Semiconductor Corporation | Multiplexed control pins for in-system programming and boundary scan state machines in a high density programmable logic device |
JP2637018B2 (en) * | 1992-08-25 | 1997-08-06 | 川崎製鉄株式会社 | Programmable logic device |
US5329179A (en) * | 1992-10-05 | 1994-07-12 | Lattice Semiconductor Corporation | Arrangement for parallel programming of in-system programmable IC logical devices |
US5606710A (en) * | 1994-12-20 | 1997-02-25 | National Semiconductor Corporation | Multiple chip package processor having feed through paths on one die |
US5635855A (en) * | 1995-07-21 | 1997-06-03 | Lattice Semiconductor Corporation | Method for simultaneous programming of in-system programmable integrated circuits |
US5734868A (en) * | 1995-08-09 | 1998-03-31 | Curd; Derek R. | Efficient in-system programming structure and method for non-volatile programmable logic devices |
-
1995
- 1995-08-09 US US08/512,796 patent/US5734868A/en not_active Expired - Lifetime
-
1996
- 1996-08-09 JP JP9508692A patent/JPH11511307A/en active Pending
- 1996-08-09 EP EP96927385A patent/EP0843915A1/en not_active Ceased
- 1996-08-09 WO PCT/US1996/013036 patent/WO1997006599A1/en not_active Application Discontinuation
-
1998
- 1998-03-26 US US09/048,923 patent/US5949987A/en not_active Expired - Lifetime
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1997006599B1 (en) | Efficient in-system programming structure and method for non-volatile programmable logic devices | |
US5734868A (en) | Efficient in-system programming structure and method for non-volatile programmable logic devices | |
JP3091694B2 (en) | Simultaneous programming method for multiple field programmable devices | |
US5377145A (en) | Circuitry and method for programming and erasing a non-volatile semiconductor memory | |
CN103809964B (en) | SIMT processors with the system and method for sets of threads execution sequence code and comprising it | |
US5890193A (en) | Architecture for state machine for controlling internal operations of flash memory | |
JP2001526443A (en) | Integrated circuit having flag register for block selection of non-volatile cells for bulk operation | |
US20070139074A1 (en) | Configurable circuits with microcontrollers | |
CA2250924A1 (en) | Software pipelining a hyperblock loop | |
JPH11185483A (en) | Method and circuit for erasing flash memory array | |
ATE336070T1 (en) | PROGRAMMING METHOD FOR A SEMICONDUCTOR MEMORY CELL | |
US8108754B1 (en) | Programmable logic device programming verification systems and methods | |
JPH0314025A (en) | Instruction execution control system | |
EP1168161A3 (en) | System and method of executing hybridized code on a dynamically cofigurable hardware environment | |
US6414871B1 (en) | Systems and methods for programming programmable devices | |
GB2302971A (en) | Method of erasing a flash memory device | |
US20120216016A1 (en) | Instruction scheduling approach to improve processor performance | |
US7350134B2 (en) | Method and apparatus of reloading erroneous configuration data frames during configuration of programmable logic devices | |
US7075331B2 (en) | Methods and systems for providing hardware assisted programming of a programmable logic device in an embedded system | |
Jones et al. | Design of discrete event control systems for programmable logic controllers using T-timed Petri nets | |
US20030057996A1 (en) | Methods and apparatus for reconfiguring programmable devices | |
TW517241B (en) | Method and system for reversed-sequence code loading into partially defective memory | |
US8838912B2 (en) | Interruptible write block | |
US20050195655A1 (en) | Write state machine architecture for flash memory internal instructions | |
WO2002052576A1 (en) | Enhanced special programming mode |