IP Library Granted Patent US 6,883,109
Granted Patent B2
US 6,883,109 · App. 09/918,030 · Granted Apr 19, 2005

Method for accessing scan chains and updating EEPROM-resident FPGA code through a system management processor and JTAG bus

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,883,109
App. No.
09/918,030
Granted
Apr 19, 2005
Kind
B2
Abstract

A method of updating programmable device configuration code stored in EEPROMs of a system is operable on complex systems having separate management and system processors. The method includes executing a sequence for updating programmable device configuration code on a management processor of the system including erasing the EEPROMs, writing at least one block of configuration code to the EEPROMs, and checking for errors after writing. The errors checked for include failure of a FIFO to empty. Upon detecting errors, the method includes automatically retrying writes. Embodiments of the method are operable on systems having multiple serial busses interconnecting EEPROMs to a common configuration logic, and on systems having multiple management processors each capable of accessing the common configuration logic.

Claims (19)

1. A method of updating programmable device configuration code stored in EEPROMs of a system comprising the steps of:

providing at least one serial bus interconnecting EEPROMs of the system with a common configuration logic;

obtaining a file of configuration code;

verifying compatibility of the file with the serial bus;

erasing at least one EEPROM of the EEPROMs;

writing at least one block of configuration code to the EEPROMs; and

checking for errors after writing blocks, the errors including failure of a FIFO to empty, and retrying the step of writing at least one block upon an error.

2. The method of claim 1 , further comprising the step of soft-booting at least one programmable logic device to load configuration code from an EEPROM of the at least one EEPROMs into the programmable logic device.

3. The method of claim 2 , wherein the system has more than one processor, and further comprising the step of allocating the common configuration logic to prevent simultaneous access by more than one processor of the system.

4. The method of claim 2 , wherein the at least one serial bus interconnecting EEPROMs of the system with a common configuration logic is a plurality of serial busses, and further comprising the step of selecting a particular serial bus of the plurality of serial busses.

5. The method of claim 2 , wherein at least one programmable logic device is an FPGA, and wherein the method is executed automatically upon an error loading configuration code from EEPROM into the FPGA.

6. The method of claim 2 , wherein at least one programmable logic device is an FPGA, and wherein the method is executed automatically upon an error loading configuration code from EEPROM into the FPGA.

7. The method of claim 1 , wherein the at least one serial bus interconnecting EEPROMs of the system with a common configuration logic is a plurality of serial busses, and further comprising the step of selecting a particular serial bus of the plurality of serial busses.

8. A method of updating programmable device configuration code stored in EEPROMs of a system, the system having separate management and system processors, comprising executing a sequence for updating programmable device configuration code on a management processor of the system, the sequence for updating programmable device configuration code further comprising the steps of:

erasing the EEPROMs;

writing at least one block of configuration code to EEPRMs;

checking for errors after writing the at least one block, the errors including failure of a FIFO to empty, and retrying the step of writing at least one block upon error;

verifying that a file contains configuration code compatible with the system;

wherein the step of verifying that a file contains configuration code compatible with the system comprises polling a JTAG bus of the system to determine the configuration of the JTAG bus, and comparing the configuration with a configuration stored in the file.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2022
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 060005/0600 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2003
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.
Reel/Frame 014061/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2002
From: ERICKSON, MICHAEL JOHN; CROSS, EDWARD A.; MACIOROWSKI, DAVID R.
To: HEWLETT-PACKARD COMPANY
Reel/Frame 012511/0408 →