DE10231956A1 - Verfahren und Vorrichtung zur systeminternen Programmierung durch einen gemeinsamen Verbindungspunkt von programmierbaren logischen Bauelementen auf mehreren Schaltungsplatinen eines Systems - Google Patents

Verfahren und Vorrichtung zur systeminternen Programmierung durch einen gemeinsamen Verbindungspunkt von programmierbaren logischen Bauelementen auf mehreren Schaltungsplatinen eines Systems

Info

Publication number
DE10231956A1
DE10231956A1 DE10231956A DE10231956A DE10231956A1 DE 10231956 A1 DE10231956 A1 DE 10231956A1 DE 10231956 A DE10231956 A DE 10231956A DE 10231956 A DE10231956 A DE 10231956A DE 10231956 A1 DE10231956 A1 DE 10231956A1
Authority
DE
Germany
Prior art keywords
configuration
board
bus
eeprom
eeproms
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.)
Withdrawn
Application number
DE10231956A
Other languages
English (en)
Inventor
Paul J Mantey
David Maciorowski
Wendy Heisterkamp
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10231956A1 publication Critical patent/DE10231956A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03GCONTROL OF AMPLIFICATION
    • H03G11/00Limiting amplitude; Limiting rate of change of amplitude ; Clipping in general
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03GCONTROL OF AMPLIFICATION
    • H03G7/00Volume compression or expansion in amplifiers
    • H03G7/06Volume compression or expansion in amplifiers having semiconductor devices
    • H03G7/08Volume compression or expansion in amplifiers having semiconductor devices incorporating negative feedback

Landscapes

  • Stored Programmes (AREA)
  • Logic Circuits (AREA)
  • Information Transfer Systems (AREA)

Abstract

Ein Verfahren und eine Vorrichtung wird für die systeminterne Programmierung von EEPROMs mit einem Konfigurationscode zum Programmieren von logischen Bauelementen, wie z. B. FPGAs, beschrieben. Das Verfahren und die Vorrichtung ist zu Verwendung in größeren Systemen geeignet, wo sich nicht alle EEPROMs auf der gleichen Schaltungsplatine befinden. Mehrere platinenspezifische serielle Busse sind vorgesehen, wobei jeder serielle Bus mit den EEPROMs einer speziellen Schaltungsplatine und mit einem gemeinsamen Konfigurationspunkt mit einer Auswählvorrichtung und mit einem Anfangsblock zum Koppeln mit der Konfigurationsvorrichtung verbunden ist. Das Verfahren umfaßt die Schritte des Einstellens der Auswählvorrichtung, um einen speziellen Bus zu kennzeichnen, den Schritt des Löschens von zumindest einem EEPROM, der mit dem seriellen Bus gekoppelt ist, und den Schritt des Schreibens eines programmierbaren logischen Bauelementkonfigurationscodes durch den seriellen Bus an den EEPROM. Weitere Ansprüche umfassen das Zugreifen auf den Bus vor dem Schreiben eines EEPROM, um die Kompatibilität einer Codedatei mit der ausgewählten Schaltungsplatine zu verifizieren.

Description

  • Ein zu dieser Anmeldung verwandter Gegenstand ist in den ebenfalls anhängigen, am gleichen Tag wie die vorliegende Anmeldung eingereichten deutschen Anmeldungen "VERFAHREN ZUM ZUGREIFEN AUF ABTASTKETTEN UND ZUM AKTUALISIEREN EINES EEPROM-RESIDENTEN FPGA-CODES DURCH EINEN SYSTEMVERWALTUNGSPROZESSOR UND EINEN JTAG-BUS", "VERFAHREN UND VORRICHTUNG FÜR EINE SERIELLE-BUS-ZU-JTAG-BUSBRÜCKE", "VERFAHREN ZUM ZEITGERECHTEN AKTUALISIEREN VON PROGRAMMIERTEILEN", die alle hiermit durch Bezugnahme aufgenommen werden, beschrieben.
  • Die Erfindung bezieht sich auf die Technik des Lieferns von Konfigurationscodeinformationen an programmierbare logische Bauelemente, einschließlich feldprogrammierbare logische Anordnungsbauelemente (FPGA-Bauelemente; FPGA = Field Programmable Gate Array) in komplexen elektronischen Systemen. Speziell bezieht sich die Erfindung auf Verfahren und Vorrichtungen zum Programmieren eines FPGA-Codes in einem EEPROM, der den FPGAs zugeordnet ist, oder in einen EEPROM von FPGAs durch einen zentralen Punkt in einem System und über serielle JTAG-Busse.
  • Serielle Kommunikationsbusse des separaten Takt- und Datentyps sind zu einer allgemein verwendeten Anwendung für eine Kommunikation zwischen integrierten Schaltungskomponenten eines Systems geworden. Serielle Verbindungen dieses Typs umfassen die IIC-Busse (die anfänglich als Inter-IC-Busse bekannt waren und nun in weiten Kreisen als I2C bekannt sind) und die SPI-Busse. Verbindungen dieses Typs können ohne das Erfordernis von Präzisionszeitgebungskomponenten an jeder integrierten Schaltung auf dem Bus implementiert sein und arbeiten typischerweise unter der Kontrolle von zumindest einem Bus-Master. Serielle EEPROM-Bauelemente (EEPROM = Electrically Erasable Programmable Read-Only Memory = elektrisch löschbarer programmierbarer Festwertspeicher) sind in weiten Kreisen erhältlich und sind mit seriellen Kommunikationsbussen des SPI- und IIC-Typs schnittstellenmäßig verbunden.
  • Obgleich die I2C- und SPI-Busse typischerweise für Kommunikationen in Systemen bei Normalbetrieb verwendet werden, diente der serielle IEEE-1149.1-Bus, der als JTAG-Bus bekannt ist, zum Testen von inaktiven Systemen, indem er Zugriff von einem Tester lieferte, um einen Grenz-Scan auf jeder integrierten Schaltung auszuführen. Der Tester kann dadurch die Konnektivität der integrierten Schaltungen verifizieren und verifizieren, daß sie richtig installiert und verbunden sind. Der JTAG-Bus sorgt für eine Verbindung von einer oder mehreren integrierten Schaltungen in einer Kette, wobei jede derselben durch den Tester adressiert werden kann. Typischerweise sind mehrere Bauelemente einer Schaltungsplatine in einem JTAG-Bus verbunden.
  • Der JTAG-Bus verwendet vier Drähte. Diese umfassen eine serielle Daten-Ein-Leitung, eine serielle Daten-Aus-Leitung, eine Taktleitung und eine Testmodus-Auswählleitung. Typischerweise ist die Daten-Aus-Leitung eines ersten Chips in einer Kette mit der Datenleitung eines zweiten Chips der Kette gekoppelt, und die Daten-Aus-Leitung des zweiten Chips ist mit der Daten-Ein-Leitung eines dritten gekoppelt. Die Daten-Ein- und Daten-Aus-Leitungen der mehreren Chips sind daher in einer Prioritätsverkettungskonfiguration gekoppelt.
  • Der IEEE-1152-Bus ist eine neuere, verbesserte Version des 1149.1-JTAG-Busses. Bezugnahmen, die hierin auf einen JTAG- Bus erfolgen, sollen sowohl die 1149.1- als auch die 1152- Variationen umfassen.
  • Programmierbare logische Bauelemente, die hierin als PLDs (PLD = programmable logic device) bezeichnet sind, werden im allgemeinen als Komponenten von Computersystemen verwendet. Diese Bauelemente umfassen- Bauelemente mit programmierbarer Arraylogik (PALs = programmable array logic devices), programmierbare logische Arrays (PLAs = programmable logic arrays), komplexe programmierbare logische Bauelemente (CPLDs = complex programmable logic devices) und feldprogrammierbare logische Anordnungen (FPGAs = field programmable gate arrays). Die PLDs sind typischerweise Allzweckbauelemente, die eine systemspezifische Funktion annehmen können, wenn ein funktionsbestimmender Code oder Konfigurationscode in denselben eingebaut ist. Die PLDs können den funktionsbestimmenden Code in Schmelzverbindungen, Antischmelzsicherungen, EPROM-Zellen, EEPROM-Zellen einschließlich FLASH-Zellen oder statischen RAM-Zellen speichern.
  • Diese PLD-Bauelemente, die statische RAM-Zellen nutzen, um ihren funktionsbestimmenden Code zu halten, können konzipiert sein, um diesen Code von einem EEPROM auf derselben oder auf einer anderen integrierten Schaltung beim Hochfahren des Systems automatisch wiederzugewinnen. Viele übliche FPGA-Bauelemente, die bei Xilinx, Altera, Lucent und Atmel erhältlich sind, sind als SRAM-basierte FPGAs bekannt, weil sie ihre Codes in statischen RAM-Zellen speichern.
  • Die FPGAs dieses Typs sind dafür bekannt, daß sie einen Konfigurationscode von einem externen EEPROM in entweder serieller oder paralleler Weise beim Hochfahren des Systems wiedergewinnen können. Diese Bauelemente sind typischerweise konfiguriert, um ihre Konfigurationscodes beim Hochfahren des Systems automatisch wiederzugewinnen. FPGAs, die den Konfigurationscode in einem seriellen Modus wiedergewinnen, können konzipiert sein, um einen kundenspezifischen seriellen Bus, der zum Laden eines Codes in eine FPGA konzipiert ist, zu verwenden, und können konzipiert sein, um einen seriellen Standardbus, wie die IIC- und SPT-Busse, zu verwenden, obwohl viele solche Bauelemente kundenspezifische serielle Busse verwenden. Der Begriff "serieller Bus", wie er hierin verwendet wird, schließt daher IIC-, SPI- und kundenspezifische serielle Busse ein.
  • Von den FPGAs ist ebenfalls bekannt, daß sie eine Quersummenverifizierung an ihrem Konfigurationscode ausführen können, wenn sie diesen von einem EEPROM empfangen. Diese FPGAs erzeugen ein Fehlersignal, wenn die Quersummenverifizierung ausfällt, was anzeigt, daß ihr Konfigurationscode eventuell nicht richtig ist.
  • Es ist bekannt, daß einige EEPROM-Bauelemente, einschließlich, jedoch nicht beschränkt auf Bauelemente der XC18V00- Serie von Xilinx, mit dem JTAG-Bus verbunden sein können und gelöscht und mit einem Konfigurationscode über dem JTAG-Bus programmiert sein können. Ferner ist bekannt, daß diese Bauelemente mit einem FPGA verbunden sein können, um einen Konfigurationscode an das FPGA zu liefern. Es ist ebenfalls bekannt, daß einige FPGA-Bauelemente auch mit dem JTAG-Bus für Test- oder Konfigurationszwecke verbunden sein können.
  • Es ist bekannt, daß ein tragbares programmierbares Bauelement mit einem JTAG-Bus einer Platine durch einen systeminternen Konfigurationsanfangsblock auf der Platine verbunden sein kann. Der JTAG-Bus ist mit zumindest einem JTAGkonfigurierbaren EEPROM auf der Platine gekoppelt, der wiederum gekoppelt ist, um die FPGAs auf der Platine zu konfigurieren. Ein Konfigurationssystem ist mit dem JTAG-Bus durch den Anfangsblock gekoppelt, und das System ist in einem Konfigurationsmodus angeordnet. Der Konfigurationsmodus wird dann von dem Konfigurationssystem, durch den Anfangsblock, und über den JTAG-Bus in den EEPROM geschrieben. Sobald sich der Code in dem EEPROM befindet, kann die Systemleistung zyklisch gesteuert werden; wobei zu diesem Zeitpunkt der Konfigurationscode in das zugeordnete FPGA übertragen wird. Dieser Prozeß ist in dem Datenblatt DSO26 von XILINX und anderen bei XILINX erhältlichen Dokumenten in groben Zügen umschrieben.
  • Das Konfigurationssystem ist typischerweise ein Notebook- Computer mit einem Konfigurationscode für die FPGAs der Platine. Das Konfigurationssystem weist auch eine geeignete Software und Hardware zum Treiben des JTAG-Busses der Platine zusammen mit dem Wissen um die JTAG-Buskonfiguration der Platine auf.
  • Obgleich das Laden des FPGA-Konfigurationscodes in die EEPROMs der Platine bei kleinen Systemen gut funktioniert, kann es bei großen Systemen zu Schwierigkeiten kommen. Große Systeme können mehrere Platinen aufweisen, von denen nicht alle mit dem gleichen JTAG-Bus verbunden sind. Separate Ketten werden häufig verwendet, weil:
    • 1. Ein Konfigurationssystem das Wissen über alle Bauelemente in der Kette aufweisen muß, um jedes Bauelement auf der Kette ordnungsgemäß zu adressieren; wenn eine einzelne Kette verwendet wird, muß das Konfigurationssystem ein detailliertes Wissen über jeder Platine in dem System aufweisen.
    • 2. Große Systeme können Schlitze aufweisen, was sie auch häufig tun, die ein späteres Hinzufügen oder Aktualisieren von Peripheriegeräten, Speicherteilsystemen, Prozessoren und anderen Teilsystemen erlauben; ein zusätzlicher Schaltungsaufbau wäre erforderlich, um zu verhindern, daß eine einzelne Kette an einem beliebigen leeren Schlitz bricht.
    • 3. Große Systeme werden häufig vor dem Versand mit einem speziellen Satz von Peripheriegeräten, Speicherteilsystemen, Prozessoren und anderen Bauelementen kundenspezifisch gefertigt; eine einzelne Kette könnte eine kundenspezifische JTAG-Schnittstellensoftware für jede Systemkonfiguration erfordern.
    • 4. Ein Zugriff auf Bauelemente erfolgt in kurzen Ketten schneller als auf Bauelemente in langen Ketten. Eine einzelne Platine kann daher, muß jedoch nicht, mehr als eine Kette in der Platine verkörpern.
  • Der Konfigurationsprozeß des Stands der Technik bereitet auch Schwierigkeiten, wenn separate JTAG-Busse verwendet werden, um den FPGA-Konfigurationscode in die EEPROMs von jeder Platine eines großen Systems zu laden. Zum Beispiel kann häufig nicht ohne weiteres auf mehrere Schaltungsplatinen von großen Systemen zum Koppeln eines Konfigurationssystems mit einem Konfigurationsanfangsblock zugegriffen werden, ohne dieselben aus dem System zu entfernen. Es kann auf bestimmte Platinen zugegriffen werden, jedoch nur, wenn eine oder mehrere zusätzliche Platinen zuerst aus dem System entfernt worden sind. Der physische Zugriff auf ein System durch einen Techniker kann auch die Anrechnung von Anfahrtskosten erfordern. In beiden Fällen sind eventuell viele Arbeitskräfte und eine lange Systemausfallzeit notwendig, um die FPGA-Konfigurationscodes von allen Platinen eines großen Systems zu aktualisieren.
  • Es ist bekannt, daß Computersysteme mehr als einen Datenkommunikationsbus für unterschiedliche Zwecke aufweisen können. Zum Beispiel weisen handelsübliche Computer einen PCI-Bus für die Kommunikation mit Peripherieschnittstellenkarten, einem oder mehreren Prozessorbussen, die mit jedem Prozessor schnittstellenmäßig verbunden sind, und Bussen anderer Typen auf. Komplexe Systeme können auch serielle Busse für spezielle Zwecke nutzen. Zum Beispiel kann ein komplexes Computersystem einen IIC- oder SPI-Bus als einen Systemverwaltungsbus nutzen.
  • Eine Busbrücke ist ein Bauelement zum Verbinden von Bussen von unterschiedlichen Typen. Zum Beispiel nutzt ein typischer Personalcomputer zumindest eine Busbrücke zwischen parallelen Bussen, wobei ein Prozessorbus mit einem PCI-Bus gekoppelt wird.
  • Ein Systemverwaltungsbus kann eine Schnittstelle mit den Systemfunktionen einschließlich, jedoch nicht beschränkt auf, Leistungsversorgungsspannungs-Überwachungseinrichtungen, Temperatursensoren, Lüftersteuerungen und Lüftergeschwindigkeits-Überwachungseinrichtungen mit einem reservierten Systemverwaltungsprozessor vorsehen. Der Systemverwaltungsprozessor kann wiederum durch eine entsprechende Hardware, die eine oder mehrere Busbrücken umfassen kann, mit anderen Prozessoren des Systems schnittstellenmäßig verbunden sein.
  • Bei einem solchen System kann der Systemverwaltungsprozessor die Systemfunktionen überwachen und bestimmen, ob eine beliebige Systemfunktion Grenzwerte überschreitet. Wenn Grenzwerte überschritten werden, kann der Systemverwaltungsprozessor das System durch Ändern der Lüftergeschwindigkeit schützen, indem er das System anweist, in speziellen Modi, einschließlich Herunterfahren, zu arbeiten, oder durch andere Möglichkeiten, die in der Technik bekannt sind.
  • Komplexe Computersysteme können mehrere FPGAs und andere PLDs verkörpern. Die FPGAs können für kundenspezifische I/O-Funktionen, die die CPUs des Systems mit anderen Bauelementen zur Kommunikation zwischen den CPUs schnittstellenmäßig verbinden, und zum schnittstellenmäßigen Verbinden von Einrichtungen, wie Lüftern und Temperatursensoren, mit einem Systemverwaltungsbus verwendet werden.
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung für die systeminterne Programmierung zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, eine Vorrichtung gemäß Anspruch 7 und ein System gemäß Anspruch 11 gelöst.
  • Die vorliegende Erfindung ist ein System mit mehreren, verbundenen Schaltungsplatinen, von denen mehrere zumindest einen EEPROM aufweisen, um einen Konfigurationscode an ein FPGA zu liefern. Die EEPROM-Bauelemente von jeder dieser Platinen sind in einem JTAG-Bus, mit einer separaten Kette für jede Platine, gekoppelt. Die JTAG-Busse von jeder dieser Platinen ist mit einem zentralen Systemkonfigurationspunkt verbunden. Der Systemkonfigurationspunkt befindet sich auf einer speziellen Platine, auf die ein Techniker ohne weiteres zum Verbinden eines Konfigurationsanfangsblocks zugreifen kann.
  • Der Systemkonfigurationspunkt ist mit einem Drehschalter ausgerüstet, um zu bestimmen, welcher der mehreren platinenspezifischen JTAG-Busse die Konfigurationscodeinformationen durch den Konfigurationsanfangsblock empfangen soll.
  • Wenn es notwendig ist, den FPGA-Code der Platinen des Systems zu aktualisieren, greift ein Techniker auf das System zu und koppelt ein Konfigurationssystem mit dem Konfigurationsanfangsblock. Der Techniker stellt dann den Drehschalter auf eine Einstellung ein, die für die erste Platine zum Empfangen des Konfigurationscodes geeignet ist. Sobald der Schalter eingestellt ist, wird der Konfigurationscode von dem Konfigurationssystem in die EEPROMs der Platine übertragen. Sobald die erste Platine den Konfigurationscode empfangen hat, kann der Schalter erneut auf eine Einstellung eingestellt werden, die für die nächste Platine geeignet ist, um den Konfigurationscode zu empfangen, und der Konfigurationscode wird in diese Platine übertragen.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • Fig. 1 ein Blockdiagramm eines Computersystems des Stands der Technik mit mehreren JTAG-Bussen auf mehreren Platinen, wobei jede Platine einen separaten Konfigurationsanfangsblock aufweist;
  • Fig. 2 ein Blockdiagramm eines Computersystems mit mehreren JTAG-Bussen von mehreren Platinen, die auf einen gemeinsamen Systemkonfigurationspunkt gebracht sind;
  • Fig. 3 ein Blockdiagramm eines gemeinsamen Systemkonfigurationspunktes des Systems von Fig. 2; und
  • Fig. 4 ein Flußdiagramm eines Verfahrens zum Konfigurieren der FPGAs eines Systems durch einen gemeinsamen Systemkonfigurationspunkt.
  • Ein Computersystem, das in der Technik bekannt ist, umfaßt mehrere Schaltungsplatinen, wie eine Platine A 100 (Fig. 1) und eine Platine B 102, die die FPGAs 104, 106, 107 auf den Platinen verkörpern. Es können zusätzliche Platinen in dem System vorhanden sein, sowohl mit als auch ohne FPGAs, wobei die verschiedenen Platinen als Komponenten des Systems zusammengekoppelt 103 sind. Auf der Platine A 100 ist die FPGA 104 mit einem Konfigurations-EEPROM 108 gekoppelt, so daß die FPGA 104 ihren Konfigurationscode vom EEPROM 108 empfängt, wenn die Platine A 100 hochgefahren worden ist. Desgleichen ist die FPGA 106 mit einem zweiten Konfigurations-EEPROM 110 gekoppelt. Die Konfigurations-EEPROMs 108 und 110 sind in einem JTAG-Bus 111 zusammengekettet, der zu einem Konfigurationsanfangsblock 112 herausgebracht wird.
  • Wenn gewünscht ist, den Konfigurationscode von einem oder mehreren der FPGAs 104 oder 106 auf der Platine A 100 zu aktualisieren, wird ein Konfigurationssystem 114 durch ein Konfigurationskabel 116 mit dem Konfigurationsanfangsblock 112 gekoppelt. Der Konfigurationscode kann dann von einem Speichersystem 118 eines Konfigurationssystems 114 durch ein Konfigurationskabel 116 und einen Konfigurationsanfangsblock 118 und über den JTAG-Bus 111 in einen EEPROM, wie z. B. den EEPROM 108, übertragen werden. Sobald dies erreicht ist, kann die Leistung zyklisch gesteuert werden, um zu bewirken, daß das FPGA 104 den aktualisierten Konfigurationscode vom EEPROM 108 lädt.
  • Wenn gewünscht ist, den Konfigurationscode der FPGAs auf einer anderen Platine zu aktualisieren, wie z. B. der Platine B 102, wird das Konfigurationskabel 116 vom Konfigurationsanfangsblock 112 getrennt und mit einem geeigneten Konfigurationsanfangsblock 120 von der Platine B zusammen mit einer anderen Konfigurationskabelführung 122 gekoppelt. Der Prozeß wird dann wiederholt, um die geeigneten EEPROMs der EEPROMs 124 über einen Platine-B-JTAG-Bus 126 zu aktualisieren.
  • Die systeminterne FPGA-Konfigurationscode-Aktualisierungsvorrichtung des Stands der Technik, die in Fig. 1 dargestellt ist, erfordert, daß auf jede Platine des Systems, die aktualisiert werden soll, ein physischer Zugriff vorgenommen wird, so daß das Konfigurationskabel 116 mit den geeigneten Konfigurationsanfangsblöcken verbunden werden kann.
  • In einem Computersystem 198 der vorliegenden Erfindung sind mehrere Schaltungsplatinen, wie z. B. Platine C 200 (Fig. 2) und Platine D 202, die die FPGAs 204, 206, 207 verkörpert, vorhanden. Es können auch zusätzliche Platinen in dem System, sowohl mit als auch ohne FPGAs, vorhanden sein, wobei die verschiedenen Platinen als Komponenten des Systems zusammengekoppelt 203 sind. Auf der Platine C 200 ist das FPGA 204 mit einem Konfigurations-EEPROM 208 so gekoppelt, daß das FPGA 204 seinen Konfigurationscode vom EEPROM 208 empfängt, wenn die Platine C 200 hochgefahren ist. Desgleichen ist das FPGA 206 mit einem zweiten Konfigurations- EEPROM 210 gekoppelt. Die Konfigurations-EEPROMs 208 und 210 sind in einer JTAG-Kette oder einem JTAG-Bus 211 zusammengekettet.
  • Der JTAG-Bus 211 wird zu einem gemeinsamen Konfigurationspunkt 214 gebracht, der sich auf einer dritten Platine, Platine E 216, des Systems befinden kann.
  • Desgleichen sind die FPGAs 207 der Platine D gekoppelt, um den Konfigurationscode der EEPROMs 218 zu empfangen, die in einem JTAG-Bus 220 gekoppelt sind, der ebenfalls mit dem gemeinsamen Konfigurationspunkt 214 gekoppelt ist. Der gemeinsame Konfigurationspunkt 214 umfaßt eine Auswählvorrichtung 222 und einen Konfigurationsanfangsblock 224.
  • Wenn gewünscht ist, einen Konfigurationscode von einem oder mehreren der FPGAs 204 oder 206 auf der Platine C 200 zu aktualisieren, wird ein Konfigurationssystem 230 durch ein Konfigurationskabel 232 mit dem Konfigurationsanfangsblock 224 gekoppelt. Die Auswählvorrichtung 222 wird dann so eingestellt, daß der Platine-C-JTAG-Bus 211 zur Programmierung ausgewählt ist. Der Konfigurationscode kann dann von einem Speicherteilsystem 238 des Konfigurationssystems 230 durch das Konfigurationskabel 232, den Konfigurationsanfangsblock 224 über den JTAG-Bus 211 und in einen EEPROM, wie z. B. den EEPROM 208, übertragen werden. Sobald dies erreicht ist, kann die Leistung zyklisch gesteuert werden, um zu bewirken, daß das FPGA 204 den aktualisierten Konfigurationscode vom EEPROM 208 lädt.
  • Wenn es ebenfalls gewünscht ist, den Konfigurationscode der FPGAs auf eine anderen Platine zu aktualisieren, wie z. B. der Platine D 202, besteht keine Notwendigkeit, das Konfigurationskabel 232 zu bewegen - da es bereits mit dem Konfigurationsanfangsblock 224 gekoppelt ist. Die Auswählvorrichtung 222 ist geändert worden, um den Platine-D-JTAG-Bus 220 zur Programmierung zu kennzeichnen. Der Konfigurationscode wird dann übertragen, um die entsprechenden EEPROMs, wie die EEPROMs 218, über den Platine-D-JTAG-Bus 220 vom Speicherteilsystem 238 des Konfigurationssystems 230 zu aktualisieren.
  • Der gemeinsame Konfigurationspunkt 214 eines speziellen Ausführungsbeispiels weist einen Taktleitungspuffer 300 (Fig. 3) auf, um die JTAG-Takte 301 zu puffern, die durch den Konfigurationsanfangsblock 224 empfangen wurden, und um diese an einen ersten 302 der mehreren platinenspezifischen JTAG-Konfigurationsbusse zu liefern. Desgleichen puffert ein Datenleitungspuffer 304 die seriellen JTAG-Daten 306 und liefert die Daten an den JTAG-Bus 302. Die Testmodusleitung 308 vom Konfigurationsanfangsblock 224 wird zu einem Aktivierungseingang eines Dekodierbauelements 310 geleitet.
  • Das Dekodierbauelement 310 empfängt auch einen binären Auswählcode vom binär codierten Auswählschalter 312 und leitet die Testmodusleitungs-Informationen von der Anfangsblocktestmodus-Leitung 308 zu einer ausgewählten platinenspezifischen Testmodusleitung weiter. Wenn der erste 302 der mehreren platinenspezifischen JTAG-Konfigurationsbusse ausgewählt worden ist, leitet das Dekodietbauelement 310 die Testmodusleitungs-Informationen zur Testmodusleitung 312 des JTAG-Busses 302 weiter. Desgleichen, sollte der zweite 314 der mehreren platinenspezifischen JTAG- Konfigurationsbusse ausgewählt werden, leitet das Dekodierbauelement 310 die Testmodusleitungs-Informationen zur Testmodusleitung 316, die dem zweiten 314 des JTAG- Konfigurationsbusses zugeordnet ist.
  • Die serielle JTAG-Daten-Aus-Leitung 318 verläuft vom ersten 302 der mehreren platinenspezifischen JTAG- Konfigurationsbusse zu einem Lesemultiplexer 320. Wenn der erste 302 der Busse ausgewählt ist, werden diese Lesedaten weiter zur JTAG-Daten-Aus-Leitung 322 des Anfangsblocks 224 geleitet. Desgleichen, sollte der zweite 314 JTAG-Bus ausgewählt werden, wird seine busspezifische serielle JTAG- Datenausgabeleitung 324 durch den Lesemultiplexer 320 mit der JTAG-Daten-Aus-Leitung 322 gekoppelt. Die Widerstände 326, 328 und 330 sind vorgesehen, um sicherzustellen, daß sich die Anfangsblock-JTAG-Takt-, die JTAG-Dateneingabe- und die JTAG-Testmodusauswähl-Leitungen immer dann auf definierten Pegeln befinden, wenn kein Konfigurationssystem mit dem Anfangsblock verbunden ist.
  • Die Erfindung ist unter Bezugnahme auf einen Lesemultiplexer zum Auswählen eines Platinen-JTAG-Ports beschrieben worden, der zu dem gemeinsamen Konfigurationspunkt- Konfigurationsanfangsblock 224 gelesen werden soll. Es wird darauf hingewiesen, daß ein Dekodierer und ein Gatter mit drei logischen Zuständen (Tristate-Gatter) anstelle des gezeigten Lesemultiplexers betreibbar sein könnten.
  • Unter Bezugnahme auf Fig. 2, 3 und 4, wenn gewünscht ist, ein FPGA zu programmieren oder den Code für dasselbe zu ändern, ohne die betroffene Platine aus dem System zu entfernen, koppelt 400 (Fig. 4) ein Techniker ein Konfigurationssystem 230 mit dem Konfigurationsanfangsblock 224. Dann stellt 402 der Techniker den Auswählschalter 312 ein, um einen speziellen JTAG-Bus des Systems, das den EEPROM, der dem FPGA zugeordnet ist, aufweist, zu kennzeichnen. Der Techniker startet 404 dann ein Konfigurationsprogramm auf dem Konfigurationssystem und kennzeichnet eine FPGA- Codedatei, die für den betroffenen JTAG-Bus geeignet ist.
  • Das Konfigurationssystem adressiert den ausgewählten JTAG- Bus und bestimmt 406 die JTAG-Buskonfiguration einschließlich der Anzahl und Typen von Bauelementen auf dem Bus. Dies wird teilweise durch die Verwendung des JTAG- "GET DEVICE ID"-Befehls erreicht, der einen Code zurücksendet, der den Typ von jedem Bauelement, das mit dem JTAG-Bus verbunden ist, anzeigt. Dieser wird mit Informationen in der FPGA-Codedatei verglichen 408, um sicherzustellen, daß der Schalter 312 korrekt eingestellt ist und daß der Code nicht in einer Platine, die nicht mit ihm kompatibel ist, programmiert ist. Sollte der Code mit der ausgewählten Platine inkompatibel sein, wird ein Fehler erklärt 410. Diese Schritte verifizieren die Kompatibilität der Codedatei mit der ausgewählten Schaltungsplatine.
  • Bei einem alternativen Ausführungsbeispiel werden, anstelle oder zusätzlich zum Vergleichen der JTAG-Buskonfiguration mit Informationen in der Codedatei, die Platinenidentifikationsinformationen von einem EEPROM, der sich auf der Platine befindet, gelesen. Diese Platinenidentifikationsinformationen werden verwendet, um die Kompatibilität der Codedatei mit der Platine zu verifizieren, und kann ebenfalls verwendet werden, um den geeigneten FPGA-Code aus mehreren FPGA-Codes, die in der Codedatei enthalten sind, auszuwählen.
  • Anschließend löscht 412 das Konfigurationssystem einen oder mehrere EEPROMs der Platine, die an dem JTAG-Bus angebracht sind. Mehr als ein EEPROM kann gelöscht werden, sollte die FPGA-Codedatei einen Code für mehr als ein FPGA der Platine enthalten. Anschließend schreibt 414 das Konfigurationssystem den neuen Code in die gelöschten EEPROMs. Schließlich überprüft 416 das Konfigurationssystem den EEPROM- Schreibprozeß auf Fehler und erklärt einen Fehler 418, wenn ein beliebiger Fehler auftrat und durch ein EEPROM gemeldet wurde. Wenn die Codedatei korrekt in die EEPROMs der Platine geschrieben wurde, wird der Techniker benachrichtigt. Der Techniker kann dann den Auswählschalter neu einstellen 420, um den nächsten JTAG-Bus, der programmiert werden soll, anzuzeigen, und das Konfigurationsprogramm neu starten, um diesen JTAG-Bus in der gleichen Weise zu programmieren, die für den ersten JTAG-Bus beschrieben wurde.
  • Nachdem alle JTAG-Busse des Systems programmiert worden sind, unterzieht der Techniker das System einem Leistungszyklus 422, so daß beim Hochfahren jedes FPGA des Systems seinen Code von den zugeordneten EEPROMs wieder lädt.
  • Obgleich die Erfindung unter Bezugnahme auf die Auswählvorrichtung beschrieben worden ist, die einen binär codierten Schalter und Decodierer, die in Fig. 3 dargestellt sind, aufweist, rechnet man damit, daß sie auch mit einem alternativen Schaltungsaufbau betreibbar sein könnte.
  • Obgleich Fig. 3 einen gemeinsamen Konfigurationspunkt mit drei bordspezifischen JTAG-Bussen darstellt, um ein Durcheinander zu vermeiden, ist die Erfindung auf eine andere Anzahl von bordspezifischen JTAG-Bussen anwendbar. Ein spezielles Ausführungsbeispiel der Erfindung verkörpert zehn platinenspezifische JTAG-Busse.
  • Man rechnet ebenfalls damit, daß die Erfindung mit einer elektronischen Auswählvorrichtung betreibbar sein könnte. Eine solche elektronische Auswählvorrichtung könnte die Form eines IIC- oder JTAG-adressierbaren Registers annehmen, das unter der Steuerung des Konfigurationssystems arbeitet, um die Auswahl von speziellen platinenspezifischen JTAG-Bussen des Systems zu automatisieren.
  • Obgleich die Erfindung unter Bezugnahme auf ein separates Konfigurationssystem beschrieben worden ist, das mit einem Konfigurationsanfangsblock eines gemeinsamen Konfigurationspunkts gekoppelt ist, rechnet man damit, daß die Erfindung betreibbar wäre, sollte das System eine JTAG- Schnittstellen-Hardware anstelle des oder zusätzlich zu dem dargestellten Konfigurationsanfangsblock aufweisen. Auf diese Weise könnte der Bedarf an einem separaten Konfigurationssystem aufgehoben werden.
  • Die Erfindung ist unter Bezugnahme auf platinenspezifische JTAG-Busse beschrieben worden. Man rechnet damit, daß ein oder mehrere Platinen eines Systems mehr als einen solcher JTAG-Busse auf der Platine aufweisen können.

Claims (12)

1. Verfahren zum systeminternen Programmieren von EE- PROMs, wobei die EEPROMs (208, 210) gekoppelt sind, um einen Konfigurationscode an die programmierbaren logischen Bauelemente (204, 206) zu liefern, wobei sich jeder EEPROM (208, 210) auf einer speziellen Schaltungsplatine (200) einer Mehrzahl von Schaltungsplatinen eines Systems befindet und wobei sich nicht alle EEPROMs (208, 210, 218) auf der gleichen Schaltungsplatine (200, 202) befinden, wobei das Verfahren folgende Schritte aufweist:
Bereitstellen einer Mehrzahl von platinenspezifischen seriellen Bussen (211, 220), wobei jeder platinenspezifische serielle Bus (211, 220) mit den EEPROMs (208, 210) einer speziellen Schaltungsplatine (200) gekoppelt ist;
Koppeln der Mehrzahl von platinenspezifischen seriellen Bussen (211, 220) mit einem gemeinsamen Konfigurationspunkt (214), der eine Auswählvorrichtung (222) aufweist;
Koppeln des gemeinsamen Konfigurationspunktes (214) mit der Konfigurationsvorrichtung (230), die mit zumindest einem seriellen Bus interagieren kann, um die EEPROMs (208) zu programmieren;
Einstellen der Auswählvorrichtung (222), um einen speziellen platinenspezifischen seriellen Bus (211) der Mehrzahl von platinenspezifischen seriellen Bussen (211, 220) auszuwählen;
Löschen von zumindest einem EEPROM (208), der mit dem speziellen platinenspezifischen seriellen Bus (211) gekoppelt ist; und
Schreiben eines Konfigurationscodes für ein programmierbares logisches Bauelement durch den ausgewählten platinenspezifischen seriellen Bus (211) zu dem zumindest einen EEPROM (208).
2. Verfahren gemäß Anspruch 1, bei dem die Mehrzahl von platinenspezifischen seriellen Bussen (211, 220) gemäß dem JTAG-Typ ist.
3. Verfahren gemäß Anspruch 2, bei dem der programmierbare logische Bauelementkonfigurationscode einen Konfigurationscode für zumindest ein FPGA (204) aufweist.
4. Verfahren gemäß Anspruch 3, das ferner den Schritt des Zugreifens auf den speziellen platinenspezifischen seriellen Bus (211) aufweist, um eine Kompatibilität der Codedatei mit der ausgewählten Schaltungsplatine (200) zu verifizieren.
5. Verfahren gemäß Anspruch 4, bei dem zumindest ein EEPROM-Bauelement (208) auf demselben Chip wie zumindest ein FPGA (204) angeordnet ist.
6. Verfahren gemäß Anspruch 4, das ferner den Schritt des Ladens von zumindest einem der programmierbare logischen Bauelemente (204) mit dem Konfigurationscode von zumindest einem der EEPROMs (208) aufweist.
7. Vorrichtung (214) mit einem gemeinsamen Verbindungspunkt zum systeminternen Programmieren von EEPROMs (208), wobei zumindest einige der EEPROMs (208) gekoppelt sind, um einen Code an programmierbare logische Bauelemente (204) zu liefern, wobei sich jeder EEPROM (208) auf einer speziellen Schaltungsplatine (200) einer Mehrzahl von Schaltungsplatinen von einem System (198) befindet, und wobei sich nicht alle EEPROMs (208, 218) auf der gleichen Schaltungsplatine (200, 202) befinden, wobei die Vorrichtung folgende Merkmale aufweist:
eine Schnittstellenvorrichtung für eine Mehrzahl von seriellen Bussen (211, 220), wobei jeder serielle Bus (211, 220) zum Koppeln mit EEPROMs (208, 218) einer speziellen Schaltungsplatine (200, 207) dient;
eine Schnittstellenvorrichtung (224) zum Verbinden eines Konfigurationssystems (230);
eine Auswählvorrichtung (222) zum Auswählen eines speziellen Busses (211) der Mehrzahl von seriellen Bussen; und
eine Kopplungsvorrichtung (214) zum Koppeln von Signalen von dem Konfigurationssystem (230) mit dem speziellen Bus (211) der Mehrzahl von seriellen Bussen.
8. Vorrichtung (214) mit einem Verbindungspunkt gemäß Anspruch 7, bei der die seriellen Busse (211) JTAG-Busse sind.
9. Vorrichtung (214) mit einem Verbindungspunkt gemäß Anspruch 8, bei der die Auswählvorrichtung (222) einen Schalter aufweist, der durch einen Techniker einstellbar ist.
10. Vorrichtung (214) mit einem Verbindungspunkt gemäß Anspruch 8, bei der die Auswählvorrichtung (222) ein Register aufweist, das durch die Konfigurationsvorrichtung adressierbar ist.
11. System, das folgende Merkmale aufweist:
eine Mehrzahl von verbundenen Schaltungsplatinen (200, 202), wobei zumindest zwei der Mehrzahl von verbundenen Schaltungsplatinen zumindest ein FPGA (204) umfassen, das mit einem Konfigurations-EEPROM (208) des Typs gekoppelt ist, der über einen seriellen Bus (211) programmiert werden kann;
wobei zumindest ein EEPROM (208) einer Schaltungsplatine (200) der Mehrzahl von Schaltungsplatinen (200, 202) mit einem ersten seriellen Bus (211) gekoppelt ist, und zumindest ein EEPROM (218) einer Schaltungsplatine (202) der Mehrzahl von Schaltungsplatinen mit einem zweiten seriellen Bus (210) gekoppelt ist;
eine Vorrichtung mit einem gemeinsamen Konfigurationspunkt (214), die mit dem ersten seriellen Bus (211) und mit dem zweiten seriellen Bus (220) gekoppelt ist, wobei die Vorrichtung mit einem gemeinsamen Konfigurationspunkt ferner folgende Merkmale aufweist:
eine Auswählvorrichtung (214) zum Auswählen eines speziellen Busses des ersten und des zweiten seriellen Busses; und
eine Kopplungsvorrichtung (214) zum Koppeln von Konfigurationssignalen mit dem speziellen Bus (211) der Mehrzahl von seriellen Bussen.
12. System gemäß Anspruch 10, bei dem der erste serielle Bus und der zweite serielle Bus des JTAG-Typs sind.
DE10231956A 2001-07-30 2002-07-15 Verfahren und Vorrichtung zur systeminternen Programmierung durch einen gemeinsamen Verbindungspunkt von programmierbaren logischen Bauelementen auf mehreren Schaltungsplatinen eines Systems Withdrawn DE10231956A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/918,023 US20030023793A1 (en) 2001-07-30 2001-07-30 Method and apparatus for in-system programming through a common connection point of programmable logic devices on multiple circuit boards of a system

Publications (1)

Publication Number Publication Date
DE10231956A1 true DE10231956A1 (de) 2003-02-20

Family

ID=25439665

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10231956A Withdrawn DE10231956A1 (de) 2001-07-30 2002-07-15 Verfahren und Vorrichtung zur systeminternen Programmierung durch einen gemeinsamen Verbindungspunkt von programmierbaren logischen Bauelementen auf mehreren Schaltungsplatinen eines Systems

Country Status (4)

Country Link
US (1) US20030023793A1 (de)
JP (1) JP2003140917A (de)
DE (1) DE10231956A1 (de)
TW (1) TW589535B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291484A (zh) * 2016-04-11 2017-10-24 龙芯中科技术有限公司 烧写裸板的方法及装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907496B2 (en) * 2002-05-02 2005-06-14 International Business Machines Corporation Method and apparatus for auto-detection of a configuration of a flash memory
JP2004164367A (ja) * 2002-11-14 2004-06-10 Renesas Technology Corp マルチプロセッサシステム
US6957288B2 (en) * 2003-02-19 2005-10-18 Dell Products L.P. Embedded control and monitoring of hard disk drives in an information handling system
ES2220223B1 (es) * 2003-05-26 2005-09-16 Universidad De Vigo Sistema de desarrollo de aplicaciones electronicas basado en dispositivos logicos configurables y en el bus serie universal.
US7315770B2 (en) * 2004-02-03 2008-01-01 General Electric Company Railway controller with improved application programming
US7258100B2 (en) * 2004-08-03 2007-08-21 Bruce Pinkston Internal combustion engine control
US20060036803A1 (en) * 2004-08-16 2006-02-16 Mori Edan Non-volatile memory device controlled by a micro-controller
US20060212838A1 (en) * 2005-02-09 2006-09-21 Checksum, Llc System and apparatus for in-system programming
CN100407143C (zh) * 2005-04-19 2008-07-30 华为技术有限公司 校验可编程逻辑器件中软件版本的方法
US9104894B2 (en) * 2005-12-16 2015-08-11 Hewlett-Packard Development Company, L.P. Hardware enablement using an interface
US7636796B2 (en) * 2006-09-15 2009-12-22 Microsoft Corporation Smart interconnect for modular multi-component embedded devices
JP4538639B2 (ja) * 2006-12-27 2010-09-08 大学共同利用機関法人 高エネルギー加速器研究機構 中性子計測用のデータ収集装置及びプログラムダウンロード方法
US20090079467A1 (en) * 2007-09-26 2009-03-26 Sandven Magne V Method and apparatus for upgrading fpga/cpld flash devices
JP5115274B2 (ja) * 2008-03-28 2013-01-09 富士通株式会社 論理制御装置およびプログラム書き込み方法
CN102854962B (zh) * 2012-08-23 2015-05-13 哈尔滨工业大学 应用cpld的mpc8280最小系统及设置硬复位配置字的状态转换方法
CN103200026B (zh) 2013-02-21 2018-12-04 上海中兴软件有限责任公司 固件的升级方法及系统
JP2023543466A (ja) * 2020-09-30 2023-10-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 回路、チップ、および電子デバイス

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5477544A (en) * 1994-02-10 1995-12-19 The United States Of America As Represented By The Secretary Of The Navy Multi-port tester interface
US5802268A (en) * 1994-11-22 1998-09-01 Lucent Technologies Inc. Digital processor with embedded eeprom memory
US5864486A (en) * 1996-05-08 1999-01-26 Lattice Semiconductor Corporation Method and apparatus for in-system programming of a programmable logic device using a two-wire interface
US6314550B1 (en) * 1997-06-10 2001-11-06 Altera Corporation Cascaded programming with multiple-purpose pins
US5970005A (en) * 1998-04-27 1999-10-19 Ict, Inc. Testing structure and method for high density PLDs which have flexible logic built-in blocks
US6459297B1 (en) * 1999-09-20 2002-10-01 Ag Communication Systems Corporation System for programming field programmable devices
US6137738A (en) * 1999-11-30 2000-10-24 Lucent Technologies, Inc. Method for in-system programming of serially configured EEPROMS using a JTAG interface of a field programmable gate array
US7168005B2 (en) * 2000-09-14 2007-01-23 Cadence Design Systems, Inc. Programable multi-port memory BIST with compact microcode

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291484A (zh) * 2016-04-11 2017-10-24 龙芯中科技术有限公司 烧写裸板的方法及装置
CN107291484B (zh) * 2016-04-11 2021-05-25 龙芯中科技术股份有限公司 烧写裸板的方法及装置

Also Published As

Publication number Publication date
TW589535B (en) 2004-06-01
US20030023793A1 (en) 2003-01-30
JP2003140917A (ja) 2003-05-16

Similar Documents

Publication Publication Date Title
DE10231930A1 (de) Verfahren zum Zugreifen auf Abtastketten und zum Aktualisieren eines EEPROM-residenten FPGA-Codes durch einen Systemverwaltungsprozessor und einen JTAG-Bus
DE10231956A1 (de) Verfahren und Vorrichtung zur systeminternen Programmierung durch einen gemeinsamen Verbindungspunkt von programmierbaren logischen Bauelementen auf mehreren Schaltungsplatinen eines Systems
DE69914864T2 (de) Steuerung der konfiguration in einer programmierbaren logik-einheit mittels nichtflüchtiger bauelemente
DE69209538T2 (de) Automatische Konfiguration einer Einheit für koppelbare Rechner
DE69019402T2 (de) Prüfverfahren und -gerät für integrierte Schaltungen.
DE3886529T2 (de) Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung.
DE69834401T2 (de) Businterfacesystem und verfahren
DE602004007503T2 (de) REKONFIGURIERBARE ARCHITEKTUR FÜR SOCs
EP0503117B1 (de) Prozessorschaltung
DE3750236T2 (de) Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung.
EP0253530A2 (de) Dynamisch rekonfigurierbare Feldlogik
DE10034405B4 (de) Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware
DE102013113262B4 (de) Auslöser-Leitwegeinheit
DE102015217933B4 (de) Vorrichtung zum Verarbeiten von Daten und Verfahren zum Betreiben einer solchen Vorrichtung
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE10231990A1 (de) Verfahren und Vorrichtung für eine serieller-Bus-JTAG-Busbrücke
DE10238563A1 (de) System und Verfahren zum Testen von Schaltungen und Programmieren integrierter Schaltungsvorrichtungen
DE3750704T2 (de) Datenprozessor.
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
EP1118935A2 (de) Schaltungsanordnung und Verfahren zur Erzeugung und zum Auslesen von Ersatzdaten
DE112014006751T5 (de) Schlankes serielles Interface für ein Wrapper-Boundary-Register (vorrichtung und Verfahren)
DE10217609A1 (de) Ein-Chip-Mikrocomputer mit dynamischer Einbrenn-Testfunktion und dynamisches Einbrenn-Testverfahren dafür
DE69833123T2 (de) Schaltungsanordnung zum testen eines kerns
DE3916811C2 (de)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal