EP1286355A2

System and method for in-system programming

Abstract

A system, such as a complex computer system (200), incorporates several programmable logic devices (210, 211, 206, 208) coupled to load their configuration code from associated EEPROMs (212, 214, 216); typically this load is automatic on powerup. The EEPROMs connect to one of several serial busses (222, 224), typically JTAG busses, connecting the EEPROMs (212, 214, 216) with a common configuration logic (228). A processor (236) is configured to write programmable logic configuration code from memory through the common configuration logic (228) and over the serial busses (222, 224) into the EEPROMs (212, 214, 216). The processor (236) is also capable of connecting to a network (241) and fetching configuration code from a database (244) for writing to the EEPROMs

EP1286355A2, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Projected expiry passed 30 July 2022, 4.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

10 claims: 7 independent, 3 dependent

  1. 1
    A system comprising:a plurality of programmable logic devices, including at least a first (206) and a second (211) programmable logic device, the first (206) and second (211) programmable logic devices coupled to receive programmable logic device configuration code from a first (214) and a second (216) EEPROM associated therewith;a first serial bus (222) coupling the first EEPROM (212) with a common configuration logic (228), and a second serial bus (224) coupling the second EEPROM (216) with the common configuration logic (228);a processor (234) coupled to the common configuration logic;wherein the processor (234) is capable of writing programmable logic configuration into the first EEPROM (214).
  2. 3
    A system as claimed in Claims 1 or 2, wherein the first (222) and second (224) serial busses are JTAG busses.
  3. 4
    A system as claimed in any preceding claim, wherein the processor (234) is coupled to the common configuration logic (228) through a third (226) serial bus.
  4. 6
    A system as claimed in any preceding claim, wherein the programmable logic devices (208,206,210,211), are field programmable gate arrays.
  5. 8
    A system as claimed in any preceding claim, further comprising apparatus, for coupling the system to a network (241);and    wherein a processor (234) of the system is capable of transferring configuration code from a configuration code database (244) on a network server (242) through the common configuration logic (228) and writing the configuration code into an EEPROM (214) of the system.
  6. 9
    A system as claimed in any preceding claim wherein at least one of the programmable logic devices (208,211) performs system management functions and couples to a system management bus (226).
  7. 10
    A method of in-system programming of EEPROMs, the EEPROMS being coupled to provide configuration code to FPGAs, comprising:transferring at least portions of a configuration code file to a system management processor of the system;providing a system management bus coupling the system management processor to common configuration logic, the common configuration logic coupled to a plurality of serial busses coupled to a plurality of the EEPROMS;setting selection logic to designate an active serial bus coupled to an EEPROM to be programmed;verifying compatibility of the configuration code file with the active serial bus;erasing at least a portion of the EEPROM to be programmed;writing at least a portion of the configuration code file from the system management processor, over the system management bus, over the active serial bus, and into the EEPROM;and causing configuration code to be loaded from the EEPROM into at least one FPGA.