DE10244757B3 - Programmierung eines Speicherbausteins über ein Boundary Scan-Register - Google Patents

Programmierung eines Speicherbausteins über ein Boundary Scan-Register Download PDF

Info

Publication number
DE10244757B3
DE10244757B3 DE10244757A DE10244757A DE10244757B3 DE 10244757 B3 DE10244757 B3 DE 10244757B3 DE 10244757 A DE10244757 A DE 10244757A DE 10244757 A DE10244757 A DE 10244757A DE 10244757 B3 DE10244757 B3 DE 10244757B3
Authority
DE
Germany
Prior art keywords
data
programming
memory
circuit board
memory module
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
DE10244757A
Other languages
English (en)
Inventor
Karlheinz Krause
Elke Tiemeyer
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.)
Nokia Solutions and Networks GmbH and Co KG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE10244757A priority Critical patent/DE10244757B3/de
Priority to US10/668,603 priority patent/US6937493B2/en
Application granted granted Critical
Publication of DE10244757B3 publication Critical patent/DE10244757B3/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain

Abstract

Die Erfindung basiert auf einem Verfahren sowie einer parallelen Schnittstelle (118, 119b) zur On-Board-Programmierung und/oder In-System-Konfiguration (ISC) eines auf einer Leiterplatte (100, 200) montierten Speicherbausteins (116) durch Ansteuerung seiner Eingänge mit Hilfe eines auf derselben Leiterplatte (100, 200) montierten anwendungsspezifischen integrierten Halbleiterbausteins (108) über ein Boundary Scan(BSCAN)-Register (118), dessen Ausgangssignale zur Aktivierung bzw. Deaktivierung einer Schreiboperation vorgesehen sind. Dabei sind die Architekturbeschreibung des Halbleiterbausteins (108) und des zu prorammierenden Speicherbausteins (116) sowie das Datenformat der Programmier- (DATA_IN) und Konfigurationsdaten (Conf data) in einem Boundary-Scan Description Language(BSDL)-File abgespeichert. Die Leiterplatte (100, 200) ist über eine zur Durchführung einer Funktionsprüfung des Speicherbausteins (116) geeignete JTAG-Schnittstelle (102) zur Ein- bzw. Ausgabe von Standardbussignalen (TDI, TDO, TMS, TCK und TRST) sowie zur Eingabe der Ansteuersignale des Halbleiterbausteins (106) ansteuerbar. DOLLAR A Zur Verringerung des Programmieraufwands werden erfindungsgemäß die Daten des Stromlaufplans bzw. der daraus ableitbaren Netzliste, welche die Konfiguration der Schnittstelle (118, 119b) zwischen dem zu programmierenden Speicherbaustein (116) und dem Halbleiterbaustein (108) festlegen, in dem BSDL-File abgespeichert, so dass der zu programmierende Speicherbaustein (116) nach ...

Description

  • Die zugrunde liegende Erfindung basiert auf einem Verfahren sowie einer Schnittstelle zur On-Board-Programmierung und/oder In-System-Konfiguration (ISC) eines auf einer Leiterplatte montierten Speicherbausteins durch Ansteuerung seiner Eingänge mit Hilfe eines auf derselben Leiterplatte montierten anwendungsspezifischen integrierten Halbleiterbausteins über ein Boundary Scan (BSCAN)-Register, dessen Ausgangssignale zur Aktivierung bzw. Deaktivierung einer Schreiboperation vorgesehen sind.
  • Die Boundary-Scan-Technik (BSCAN) ist ein standardisiertes Verfahren für Boardtests, das 1990 formell als Industriestandard IEEE 1149.1 für Test Access Port (TAP)- und Boundary Scan (BSCAN)-Architekturen verabschiedet wurde. Auf dieser Spezifikation basieren Verbindungstests auf Boardebene in der Produktion von komplexen Printed Circuit Boards (PCBs). Besitzt der Prüfling einen eigenen Mikroprozessor nebst Flashbasiertem Programmspeicher, kann ein Built-In Self Test beispielsweise durch Laden des Flash-Speichers via Boundary Scan mit Hilfe eines Selbsttestprogramms implementiert werden. Im Speicher abgelegte Testresultate sind dabei nach Beendigung des Testvorganges wiederum per Boundary Scan auslesbar.
  • Zur Durchführung von Boundary Scan-Tests müssen zwei Bedingungen erfüllt sein: Zumindest einige der integrierten Schaltungen (ICs) auf der Platine müssen der BSCAN-Spezifikation entsprechen. Bei der Prüfung wird dann mit Hilfe von Testvektoren ein BSCAN-Register dazu veranlasst, den gewünschten Test auszuführen. Darüber hinaus müssen die Produktentwickler einen Scanpfad zwischen den einzelnen ICs zur Verfügung stellen, der von einem Test Access Port (TAP) durch die ICs hindurch wieder zurück zum TAP führt, wo die Daten schließlich abgetastet werden. Beim Prüfen von elektrischen Anschlüssen stellen Boundary Scan-Tests eine ausgezeichnete Alternative zu In-Circuit-Tests (ICTs) dar. Die Kosten für die Durchführung der Funktionsprüfung sind niedrig, und aufgrund der zunehmenden Miniaturisierung integrierter Halbleiterbauteile ist anzunehmen, dass sich der Trend hin zu Boundary Scan weiter fortsetzen wird.
  • Der IEEE-Standard 1149.1 spezifiziert neben den notwendigen Hardwarestrukturen auch eine adäquate Beschreibungsform all dieser Eigenschaften in Form der Boundary Scan Description Language (BSDL). Dabei ist dieser Standard so offen gehalten, dass durch Definition kundenspezifischer Register und entsprechender Instruktionen applikationsspezifische Funktionen implementiert werden können, ohne an Kompatibilität zu verlieren. Genau auf diesem Umstand beruhen prinzipiell auch alle konventionellen Verfahren zur In-System-Programmierung (ISP) integrierter Halbleiterbauteile, die auf der Basis von Boundary Scan arbeiten, allerdings existierte dafür bisher kein Standard. Auch eine einheitliche Definition von Testvektorformaten zum Datenaustausch ist im IEEE-Standard 1149.1 nicht enthalten.
  • Wurde das Boundary Scan-Verfahren gemäß IEEE-Standard 1149.1 bisher vor allem als innovative Technologie zur Funktionsprüfung integrierter Schaltungen bzw. zur Verifikation und Simulation von Hardwarefehlfunktionen verwendet, zeigen jüngste Entwicklungen weitere Einsatzmöglichkeiten dieses Prinzips auf. Neben der Nutzung zu Testzwecken wird Boundary Scan auch sehr effektiv im Bereich der sogenannten In-System-Programmierung (ISP) von Flash-Speichern sowie Programmable Logic Device (PLD)-Bausteinen, wie z.B. Field-Programmable Gate Arrays (FPGAs) mit bis zu 10.000 Logik-Gattern pro Array oder Programmable Logic Arrays (PLAs), eingesetzt. Dabei werden die einzelnen Steuer- und Adress-Eingänge eines Flash-Speichers über die diesen Eingängen zugeordneten, miteinander verketteten BSCAN-Zellen eines BSCAN-Registers derart stimuliert, dass wahlweise eine Lese- oder Schreiboperation ausgelöst wird. Wie aus der in 1 abgebildeten Prinzipskizze zu entnehmen ist, können die Steuer-, Adress- und Datensignale von den entsprechenden BSCAN-Zellen erfasst und ausgegeben werden.
  • Mit dem im Januar 2001 herausgegebenen IEEE-Standard 1532 wurde erstmals eine einheitliche Normierung für die Systemarchitektur und ein geeignetes Datenformat zur In-System-Konfiguration (ISC) von programmierbaren integrierten Halbleiterbauteilen geschaffen. Dieser Standard beschreibt eine Reihe von obligatorischen und optionalen Programmierinstruktionen und entsprechenden Datenregistern. Prinzipiell stellt der IEEE-Standard 1532 eine auf die speziellen Anforderungen der Programmierung abgestimmte Erweiterung des IEEE-Standards 1149.1 zur Standardisierung des Programmierprozesses für programmierbare Halbleiterbausteine dar, ist aber zu diesem vollständig kompatibel. Da sich der IEEE-Standard 1532 jedoch ausschließlich auf programmierbare Halbleiterbausteine bezieht, die eine JTAG-Schnittstelle aufweisen und in der Lage sind, Programmierdaten intern abzuspeichern, bezieht sich dieser Standard nicht auf Flash-Speicher ohne JTAG-Schnittstelle. Grundsätzlich umfasst der IEEE-Standard 1532 die Standardisierung spezieller ISC-Datenregister, ISC-Instruk tionen, BSDL-Erweiterungen für die Beschreibung der ISC-Merkmale sowie ein spezielles Dateiformat.
  • Damit geht der Standard IEEE 1532 weit über alle bisherigen Lösungen hinaus und ermöglicht auf Basis seines innovativen Charakters auch die simultane Programmierung mehrerer kompatibler Bauelemente. Durch eine Reihe von zusätzlichen Funktionen, wie z.B. der Nutzung spezieller Programmier-Spannungs-Pins, Compliance-Enable-Pins und der Möglichkeit einer Definition optionaler ISC-Instruktionen, bietet IEEE 1532 auch die notwendigen Freiräume zur Schaffung applikationsspezifischer Kompatibilitäten. Beim IEEE-Standard 1532 erfolgt dabei grundsätzlich eine methodische Trennung von Prozessinformationen und Programmierdaten.
  • Die für die Programmierung notwendigen Bauelementeinformationen sind in entsprechenden „BSDL-Erweiterungen" eines BSDL-Files enthalten. Ein aus Nutzersicht ganz wesentlicher Bestandteil ist hierbei der sogenannte „Attribute ISC Flow". Dieser nimmt die Umsetzung von Basisprogrammierfunktionen, wie z.B. Löschen, Programmieren, Verifizieren etc., in entsprechende Teilsequenzen vor. Sollen mehrere IEEE-1532-kompatible Bauelemente gleichzeitig programmiert werden, muss die Programmiersoftware die Fähigkeit besitzen, eine beliebige Anzahl von „Attribute ISC Flows" virtuell zusammenzuführen. Aufgrund dieser Methodik bietet der IEEE-Standard 1532 die Möglichkeit, PLDs verschiedener Hersteller unabhängig von der Prozesstechnologie (z.B. EEPROM-, SRAM- oder Flashbasiert), ihrer Architektur oder ihrer Spannungspegel zu programmieren.
  • Die BSDL-Files müssen typspezifisch vom jeweiligen Chiphersteller bereitgestellt werden. Sie sind insofern ein ganz we sentlicher Teil des Lieferumfanges. Demgegenüber werden die Programmierdaten individuell durch den PLD-Designer über einen entsprechenden Target-Compiler in Form eines Daten-Files erzeugt. Ohne auf nähere Einzelheiten einzugehen, sei nur erwähnt, dass es sich hierbei um ASCII-Dateien mit einer speziellen Syntax handelt, so dass sie gelesen und editiert werden können. Für jedes zu programmierende Bauelement müssen nach diesem Funktionsprinzip ein BSDL-File und ein dazu konsistentes Daten-File vorhanden sein.
  • Auch wenn die bisher beschriebene Theorie des IEEE-Standards 1532 vielversprechend erscheint, reicht das für den praktischen Erfolg dieses Standards keinesfalls aus. Insbesondere die Programmiersoftware nimmt aufgrund der Vielzahl notwendiger Funktionen eine Schlüsselstellung ein und bestimmt maßgeblich die Effizienz der ISC-Operationen.
  • Bei der simultanen Programmierung mehrerer Bauelemente hängt die erzielbare Zeiteinsparung von vielen verschiedenen Faktoren ab. Dabei sind insbesondere die Komplexität, Architektur, Technologie und Taktrate des betreffenden Bauelements zu nennen. Insofern sind verifizierbare quantitative Aussagen darüber abhängig von der jeweiligen Implementierung und Applikation.
  • Gerade bei Boundary Scan spielt die kontinuierliche Weiterentwicklung der Softwarewerkzeuge eine entscheidende Rolle für die effektive Umsetzung dieser zukunftsweisenden Technologie in der Praxis. In Zusammenhang mit der BSCAN-basierten On-Board-Programmierung von Speicherbausteinen ist dabei als Stand der Technik insbesondere die integrierte Entwicklungsund Programmierumgebung SYSTEM CASCONTM der Herstellerfirma GÖPEL electronic GmbH aus Jena zu erwähnen.
  • Um die neue Programmiermethode mit anderen BSCAN-Prozeduren wie Debugging, Produktionstests oder Flash-Programmierung zu kombinieren, ist bei GÖPEL ein J-Drive Programming Engine vorgesehen, das zur In-System-Konfiguration (ISC) eines PLDs direkt in die Boundary Scan-Softwarepakete SYSTEM CASCON und POLARISTM eingebunden ist. Dieses J-Drive Programming Engine greift dabei auf Konfigurationsdaten aus einem BSDL-File zur Konfiguration eines Test Access Ports (TAP) gemäß IEEE-Standard 1149.1 zu, welches als Steuereinheit zur Ansteuerung der BSCAN-Zellen des BSCAN-Registers über eine Programmierschnittstelle verwendet wird. In Verbindung mit den zur Verfügung stehenden Controllern auf Basis von USB, PCI, PXI oder VXI lassen sich dadurch Multi-Mode-Boundary-Scan-Systeme mit zugeschnittener Leistungsfähigkeit für Labor, Produktion und Service kostenoptimiert konfigurieren. Auf diese Weise wird es möglich, beispielsweise bei der Produktion mit nur einem Gerät ein auf einer Leiterplatte montiertes PLD auf Fertigungsfehler zu testen, anschließend das PLD zu konfigurieren und eine bestimmte Produktionsversion der Firmware in einen vorhandenen Flash-Speicher zu laden.
  • Nach dem Stand der Technik erfolgt die Programmierung von Flash-Speichern in der Regel mit Hilfe von anwendungsspezifischen integrierten Halbleiterbausteinen (ASICs), die in der Lage sind, den betreffenden Flash-Speicher auch während des Betriebs zu konfigurieren. In der Regel sind dies ASICs, die den JTAG-Standard IEEE 1149.1 unterstützen (vgl. 1: Schnittstelle zwischen ASIC-1 und Flash-1). Zu diesem Zweck wird ein ggf. verkürztes BSCAN-Register benutzt, mit dessen Hilfe die für die Programmierung des Speicherbausteins benötigte Zeitdauer entscheidend verkürzt werden kann.
  • Bei Anwendung dieses Verfahrens ergibt sich jedoch eine Reihe von Problemen: So ist beispielsweise zur Programmierung eines Flash-Speichers die Erstellung eines Programms verhältnismäßig aufwendig, da die Konfiguration (d.h. die Verbindungen zwischen ASIC und Flash-Speicher) aus dem Stromlaufplan bzw. aus der daraus ableitbaren Netzliste entnommen und das BSDL-File des ASICs herangezogen werden muss. Ferner ist eine simultane Programmierung mehrerer, auf derselben Leiterplatte montierter integrierter Halbleiterbausteine derzeit nicht möglich. Darüber hinaus ist bei herkömmlichen Verfahren auch ein Burstbetrieb nicht möglich, da bei jedem Schreibzyklus die Programmierdaten in den ASIC geschoben werden müssen sowie in der Regel auch die Adressen und die Steuerbits.
  • Aus der DE 198 33 970 A1 ist eine integrierte Halbleiterschaltung mit einem Baustein bekannt, durch den den Anschlüssen der integrierten Schaltung eine Boundary-Scan-Kette zugeordnet ist. Zur Programmierung eines mit dem Baustein verbundenen Flash-Speichers wird eine Teilkette der Kette gebildet.
  • Ausgehend von dem oben genannten Stand der Technik, ist die vorliegende Erfindung der Aufgabe gewidmet, ein Verfahren zur On-Board-Programmierung sowie In-System-Konfiguration (ISC) eines Speicherbausteins durch Stimulierung einzelner seiner Eingänge über Speicherzellen eines BSCAN-Registers zur Aktivierung bzw. Deaktivierung einer Schreiboperation bereitzustellen, bei dessen Anwendung der für die On-Board-Programmierung benötigte Stromlaufplan bzw. die daraus ableitbare Netzliste nicht mehr herangezogen werden muss.
  • Weiterhin soll die simultane Programmierung mehrerer, auf derselben Leiterplatte montierter Speicherbausteine auch bei Burstbetrieb ermöglicht werden.
  • Diese Aufgabe wird erfindungsgemäß durch die Merkmale der unabhängigen Patentansprüche gelöst. Vorteilhafte Ausführungs beispiele, die den Gedanken der Erfindung weiterbilden, sind in den abhängigen Patentansprüchen definiert.
  • ZUSAMMENFASSENDE DARSTELLUNG DER VORLIEGENDEN ERFINDUNG
  • Im Rahmen der erfindungsgemäßen Lösung ist zur Lösung der im vorangehenden Abschnitt definierten Aufgabe ein Verfahren sowie eine parallele Schnittstelle zur On-Board-Programmierung und/oder In-System-Konfiguration (ISC) eines auf einer Leiterplatte montierten Speicherbausteins durch Ansteuerung einzelner Eingänge des Speicherbausteins mit Hilfe eines auf derselben Leiterplatte montierten anwendungsspezifischen integrierten Halbleiterbausteins über einzelne Speicherzellen eines BSCAN-Registers zur Aktivierung bzw., Deaktivierung einer Schreiboperation vorgesehen. Dabei ist die Architekturbeschreibung des Halbleiterbausteins und des zu programmierenden Speicherbausteins sowie das Datenformat der Programmier(DATA_IN) und Konfigurationsdaten (Conf data) in einem BSDL-File abgespeichert. Die Leiterplatte ist über eine zur Durchführung einer Funktionsprüfung des Speicherbausteins geeignete JTAG-Schnittstelle zur Ein- bzw. Ausgabe von Standardbussignalen (TDI, TDO, TMS, TCK und TRST) sowie zur Eingabe der Ansteuersignale des Halbleiterbausteins ansteuerbar.
  • Zur Verringerung des Programmieraufwands werden erfindungsgemäß die Daten des Stromlaufplans bzw. der daraus ableitbaren Netzliste, welche die Konfiguration der Schnittstelle zwischen dem zu programmierenden Speicherbaustein und dem Halbleiterbaustein festlegen, in einer weiteren Datei (BSDL-File) abgespeichert, so dass der zu programmierende Speicherbaustein nach Anpassung der Eigenschaften des Halbleiterbausteins an den IEEE-Standard 1532 über eine JTAG-Schnittstelle in gleicher Weise wie ein programmierbarer Logikbaustein (PLD) programmiert werden kann.
  • Weitere Eigenschaften, Merkmale, Vorteile und Anwendungen der zugrunde liegenden Erfindung ergeben sich aus den untergeordneten abhängigen Patentansprüchen sowie aus der folgenden Beschreibung zweier Ausführungsbeispiele der Erfindung, welche in 1 bis 3 dargestellt sind. Hierbei zeigt
  • 1 ein Schaltungslayout eines Printed Circuit Boards (PCBs), welches zur Programmierung und Konfiguration zweier Flash-Speicher über ein Boundary Scan (BSCAN)-Register via JTRG-Schnittstelle nach dem Standard IEEE 1532 geeignet ist, wobei die Schnittstelle zwischen dem ASIC und dem zweiten Flash-Speicher durch einen Teil des BSCAN-Registers gebildet wird,
  • 2 ein reduziertes Schaltungslayout desselben PCBs zur Programmierung und Konfiguration eines integrierten Flash-Speichers über ein BSCAN-Register via JTAG-Schnittstelle auf Basis eines BSDL-Files nach dem Standard IEEE 1532, wobei ein Configuration-Register gemäß IEEE-Standard 1532 mit dem Ausgang eines anwendungsspezifischen Halbleiterbausteins verbunden ist, und
  • 3 Detailansichten zweier Ausführungsbeispiele des Schaltungslayouts zur Verschaltung der Multiplexer und Flipflops einer Scan-Zelle des BSCAN-Registers und einer Capture-Zelle des Configuration-Registers zur Bereitstellung der für die Programmierung des Flash-Speichers benötigten Steuer-, Daten- und Adresssignale.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Im Folgenden soll die zentrale Idee der erfindungsgemäßen Lösung anhand der in 1 bis 3 abgebildeten Ausführungsbeispiele näher erläutert werden. Die Bedeutung der mit Bezugszeichen versehenen Symbole in 1 bis 3 kann der beigefügten Bezugszeichenliste entnommen werden.
  • Im Rahmen eines Ausführungsbeispiels der vorliegenden Erfindung ist ein zur On-Board-Programmierung und In-System-Konfiguration (ISC) eines Flash-Speichers 116 geeignet angepasstes ASIC 108 vorgesehen, das über eine JTAG-Schnittstelle 102 gemäß IEEE-Standard 1149.1 ansteuerbar ist und den Flash-Speicher 116 auch während des Betriebs neu programmiert bzw. konfiguriert. Erfindungsgemäß können dabei das ASIC 108 und der zu programmierende Flash-Speicher 116 im Rahmen des IEEE-Standards 1532 als zusammenhängende Einheit 120 betrachtet werden (siehe 1 und 2). Demzufolge ist es unerheblich, ob sich der Flash-Speicher 116 innerhalb oder außerhalb des ASICs 108 befindet.
  • Verleiht man diesem ASIC 108 Eigenschaften gemäß IEEE-Standard 1532, kann der Flash-Speicher 116 auf die gleiche Art wie ein programmierbarer Logikbaustein (PLD) programmiert werden. Dabei werden die Daten des Stromlaufplans bzw. der daraus ableitbaren Netzliste, welche die Konfiguration der Schnittstelle 118 und 119b zwischen dem zu programmierenden Flash-Speicher 116 und dem ASIC 108 festlegen, im BSDL-File abgespeichert. Daraus ergeben sich die folgenden Vorteile:
    • – Da das BSDL-File jetzt alle Informationen für die Programmierung des Flash-Speichers 116 enthält, muss der Stromlaufplan bzw. die daraus ableitbare Netzliste für die Programmerstellung nicht mehr herangezogen werden. Somit kann der Programmieralgorithmus wie bei programmierbaren Logikbausteinen (PLDs) automatisch von JTAG-Tools, wie z.B. dem BSCAN-Softwarepaket SYSTEM CASCONTM der Firma GÖPEL electronic GmbH, generiert werden.
    • – Ferner ist eine simultane Programmierung und/oder Konfiguration mehrerer, auf derselben Leiterplatte 100 montierter Halbleiterbausteine 114, 116 möglich, wodurch bereits bei der Produktion der Leiterplatte 100 eine erhebliche Kostenreduzierung erreicht werden kann.
    • – Darüber hinaus ermöglicht die zugrunde liegende Erfindung nach Anschluss eines Configuration-Registers 119b zur Zwischenspeicherung anfallender Adress- und Steuerdaten an die Ausgänge des zur Programmierung des Flash-Speichers 116 vorgesehenen ASICs 108 auch die Programmierung bzw. Konfiguration des Flash-Speichers 116 bei Burstbetrieb.
  • Der IEEE-Standard 1532 lässt mehrere Optionen für die Bereitstellung von Steuer-, Daten- und Adressinformation über die JTAG-Schnittstelle 102 zu. In einem Ausführungsbeispiel der vorliegenden Erfindung wird das nach IEEE-Standard 1532 spezifizierte „Memory Array" eines PLDs, welches die Konfigurationsdaten enthält, die die programmierten Funktionen des PLDs festlegen, durch eine parallele Schnittstelle 118, 119b (externes Memory Array) zu einem externen Flash-Speicher 116 ersetzt. Hier bieten sich wiederum mehrere Möglichkeiten an:
    • – Die parallele Schnittstelle zwischen dem ASIC 108 und dem zu programmierenden Flash-Speicher 116 wird durch eine Serienschaltung mehrerer Speicherzellen 204a, die Teil des BSCRN-Registers 118 sind, gebildet (siehe 1).
    • – Alternativ kann ein zur In-System-Konfiguration (ISC) des zu programmierenden Speicherbausteins 116 geeignet angepasstes Configuration-Register 119b, wie z.B. eines der gemäß IEEE-Standard 1532 spezifizierten Register ISC PData bzw. ISC- RData, an die Ausgänge des ASICs 108 als parallele Schnittstelle zwischen dem ASIC 108 und dem zu programmierenden Flash-Speicher 116 angeschlossen werden (siehe 2). Wie in 3 dargestellt, sind dann wahlweise drei verschiedene Verbindungen möglich: a) eine Verbindung der Steuer-, Daten- und/oder Adresseingänge des zu programmierenden Flash-Speichers 116 mit dem ASIC 108 (Normalbetrieb), b) eine Verbindung der Steuer-, Daten- und/oder Adresseingänge des zu programmierenden Flash-Speichers 116 mit einem Signaleingang für BSCAN-Testdaten (SCAN IN) zur Funktionsprüfung des Flash-Speichers oder c) eine Verbindung der Steuer-, Daten- und/oder Adresseingänge des zu programmierenden Flash-Speichers 116 mit dem Configuration-Register 119b zur Konfiguration des Flash-Speichers mit Hilfe der im BSDL-File abgespeicherten Konfigurationsdaten.
  • Dies wird durch Modifikation der BSCAN-Zelle 204 erreicht, wie im 3 dargestellt. Erfindungsgemäß verfügt eine solche BSCRN-Zelle 204 über einen Eingangs-Multiplexer 302a zur Durchschaltung eines von mindestens zwei Eingangssignalen (DATA_IN, SCAN_IN) in Abhängigkeit eines an einem Steuersignaleingang (SEL) anliegenden Steuersignals (SHIFT_DR), wodurch wahlweise eine Verbindung vom ASIC 108 bzw. von einem Signaleingang für BSCAN-Testdaten (SCAN_IN) zu dem Flash-Speicher 116 durchgeschaltet wird. Ein Scan- bzw. Capture-Flipflop 304 dient zur Zwischenspeicherung der von dem ASIC 108 erhaltenen Programmierdaten (DATA_IN) bzw. der BSCRN-Testdaten (SCALA_IN). Zur Auslösung bzw. zur Beendigung einer Schreiboperation wird ein Update-Flipflop 306 verwendet, mit dessen Hilfe einzelne Steuersignal-, Daten- und/oder Adresseingänge des Flash-Speichers 116 angesteuert werden. Über einen Ausgangs-Multiplexer 302b1 bzw. 302b2 zur Durchschaltung eines von mindestens zwei Eingangssignalen (DATA_IN, SCAN_ OUT, Conf data) kann in Abhängigkeit eines an einem Steuersignaleingang (SEL) anliegenden Steuersignals (MODE) wahlweise eine Verbindung vom ASIC 108 bzw. von einem Signaleingang für Konfigurationsdaten (Conf data) zu dem Flash-Speicher 116 durchgeschaltet werden.
  • Eine Scan- bzw. Capture-Zelle 204a des Configuration-Registers 119b zur In-System-Konfiguration (ISC) des Flash-Speichers 116 besteht nach. einem ersten Ausführungsbeispiel der vorliegenden Erfindung aus einem Scan- bzw. Capture-Flipflop 308 zur Zwischenspeicherung der vom ASIC 108 erhaltenen Konfigurationsdaten (Conf data) und einem Ausgangs-Multiplexer 302c zur Durchschaltung eines von zwei Eingangssignalen (SCALA_OUT, Conf data) in Abhängigkeit eines an einem Steuersignaleingang (SEL) anliegenden Steuersignals (UPD DR). Somit kann wahlweise eine Verbindung vom ASIC 108, von einem Signaleingang für BSCAN-Testdaten (SCALA_IN) bzw. von einem Signaleingang für Konfigurationsdaten (Conf data) zu dem Flash-Speicher 116 durchgeschaltet werden.
  • Gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung wird anstelle des Ausgangs-Multiplexers 302c ein Update-Flipflop 306 zur Ansteuerung einzelner Steuersignal-, Daten- und/oder Adresseingänge des Speicherbausteins 116 zwecks Auslösung bzw. Beendigung einer Schreiboperation verwendet.
  • Der entscheidende Vorteil der vorliegenden Erfindung gegenüber herkömmlichen On-Board-Programmierverfahren nach dem Stand der Technik besteht darin, dass mit Hilfe des erfindungsgemäßen Verfahrens die Unterschiede zwischen Flash- und PLD-Programmierung eliminiert werden. Dabei bilden ASIC 108 und Flash-Speicher 116 eine Einheit im Rahmen des IEEE-Standards 1532. Dadurch dass die Stromlaufeigenschaften im BSDL-File gespeichert sind, ergibt sich für den Anwender auch der Vorteil einer erheblichen Verringerung des Programmieraufwands, da die Verbindungen zwischen dem ASIC 108 und dem Flash-Speicher 116 nicht mehr aus dem Stromlaufplan bzw. der daraus ableitbaren Netzliste entnommen werden müssen.

Claims (10)

  1. Verfahren zur On-Board-Programmierung und/oder In-System-Konfiguration (ISC) eines Speicherbausteins (116) auf einer Leiterplatte (100, 200) durch Ansteuerung der Eingänge des Speicherbausteins (116) mit Hilfe eines auf der Leiterplatte (100, 200) montierten Halbleiterbausteins (108) über einzelne Speicherzellen (204) eines Boundary Scan (BSCAN)-Registers (118) zur Aktivierung bzw. Deaktivierung einer Schreiboperation, wobei – die Architekturbeschreibung des Halbleiterbausteins (108) und des zu programmierenden Speicherbausteins (116) sowie das Datenformat der Programmier- (DATA_IN) und Konfigurationsdaten (Conf data) in einer Datei bereitgestellt werden, und – die Leiterplatte (100, 200) über eine Schnittstelle (102) zur Ein- bzw. Ausgabe von Standardbussignalen (TDI, TDO, TMS, TCK und TRST) sowie zur Eingabe der Ansteuersignale des Halbleiterbausteins (106) ansteuerbar ist, dadurch gekennzeichnet, dass weiterhin die Daten der Netzliste bzw. des Stromlaufpians, welche(r) die Konfiguration der Schnittstelle (102) zwischen dem zu programmierenden Speicherbaustein (116) und dem Halbleiterbaustein (108) festlegt, in weiteren Dateien bereitgestellt werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Halbleiterbaustein (108) und der zu programmierende Speicherbaustein (116) als zusammenhängende Einheit (120) angesteuert werden.
  3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass der Programmieralgorithmus zur Programmierung des Speicherbausteins (116) automatisch durch Zugriff auf die weitere Datei erzeugt wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, gekennzeichnet durch die simultane Programmierung mehrerer Speicherbausteine (114, 116) auf derselben Leiterplatte (100) über die Schnittstelle (102).
  5. Verfahren nach einem der Ansprüche 1 bis 4, gekennzeichnet durch die Implementierung eines Datenregisters (119b) zur Zwischenspeicherung der bei Burstbetrieb anfallenden Adress- und Steuerdaten, angeschlossen an die Ausgänge des für die Programmierung des Speicherbausteins (116) vorgesehenen anwendungsspezifischen integrierten Halbleiterbausteins (108).
  6. Parallele Schnittstelle zur On-Board-Programmierung und/ oder In-System-Konfiguration (ISC) eines Speicherbausteins (116) auf einer Leiterplatte (100, 200) durch Ansteuerung einzelner Eingänge des Speicherbausteins (116) mit Hilfe eines auf der Leiterplatte (100, 200) montierten anwendungsspezifischen integrierten Halbleiterbausteins (108) über Speicherzellen (204) eines Boundary Scan (BSCAN)-Registers (118) zur Aktivierung bzw. Deaktivierung einer Schreiboperation, dadurch gekennzeichnet, dass die parallele Schnittstelle durch eine Serienschaltung mehrerer Speicherzellen (204a), die Teil des BSCAN-Registers (118) sind, gebildet ist.
  7. Parallele Schnittstelle zur On-Board-Programmierung und/ oder In-System-Konfiguration (ISC) eines Speicherbausteins (116) auf einer Leiterplatte (100, 200) durch Ansteuerung einzelner Eingänge des Speicherbausteins (116) mit Hilfe eines auf der Leiterplatte montierten anwendungsspezifischen integrierten Halbleiterbausteins (108) über Speicherzellen (204) eines Boundary Scan (BSCAN)-Registers (118) zur Aktivierung bzw. Deaktivierung einer Schreiboperation, dadurch gekennzeichnet, dass die parallele Schnittstelle durch Serienschaltung mehrerer Speicherzellen (204a) eines zur In-System-Konfiguration (ISC) des zu programmierenden Speicherbausteins (116) verwendeten Datenregisters (119b) gebildet ist.
  8. Speicherzelle eines Boundary Scan (BSCAN)-Registers (118) zur On-Board-Programmierung eines Speicherbausteins (116) auf einer Leiterplatte (100, 200) durch Ansteuerung einzelner Eingänge des Speicherbausteins (116) mit Hilfe eines auf der Leiterplatte (100, 200) montierten anwendungsspezifischen integrierten Halbleiterbausteins (108) zur Aktivierung bzw. Deaktivierung einer Schreiboperation, gekennzeichnet durch – einen Eingangs-Multiplexer (302a) zur Durchschaltung eines von mindestens zwei Eingangssignalen (DATA IN, SCAN IN) in Abhängigkeit eines an einem Steuersignaleingang (SEL) anliegenden Steuersignals (SHIFT DR), wodurch wahlweise eine Verbindung vom Halbleiterbaustein (108) bzw: von einem Signaleingang für BSCAN-Testdaten (SCAN-IN) zu dem Speicherbaustein (116) durchgeschaltet wird, – ein Scan- bzw. Capture-Flipflop (304) zur Zwischenspeicherung der vom Halbleiterbaustein (108) erhaltenen Programmierdaten (DATA_IN) bzw. der BSCAN-Testdaten (SCALA_IN), – ein Update-Flipflop (306) zur Ansteuerung einzelner Steuersignal-, Daten- und/ oder Adresseingänge des Speicherbausteins (116) zur Auslösung bzw. Beendigung einer Schreiboperation und – einen Ausgangs-Multiplexer (302b1, 302b2) zur Durchschaltung eines von mindestens zwei Eingangssignalen (DATA IN, SCAN_OUT, Conf data) in Abhängigkeit eines an einem Steuersignaleingang (SEL) anliegenden Steuersignals (MODE), wodurch wahlweise eine Verbindung vom Halbleiterbaustein (108) bzw. von einem Signaleingang für Konfigurationsdaten (Conf data) zu dem Speicherbaustein (116) durchgeschaltet wird.
  9. Speicherzelle eines Datenregisters (119b) zur In-System-Konfiguration (ISC) eines Speicherbausteins (116) auf einer Leiterplatte (100, 200) durch Ansteuerung einzelner Eingänge des Speicherbausteins (116) mit Hilfe eines auf der Leiterplatte (100, 200) montierten anwendungsspezifischen integrierten Halbleiterbausteins (108) zur Aktivierung bzw. Deaktivierung einer Schreiboperation, gekennzeichnet durch – ein Scan- bzw. Capture-Flipflop (308) zur Zwischenspeicherung der vom Halbleiterbaustein (108) erhaltenen Konfigurationsdaten (Conf data) und – einen Ausgangs-Multiplexer (302c) zur Durchschaltung eines von zwei Eingangssignalen (SCAN_OUT, Conf data) in Abhängigkeit eines an einem Steuersignaleingang (SEL) anliegenden Steuersignals (UPD_DR), wodurch wahlweise eine Verbindung vom Halbleiterbaustein (108), von einem Signaleingang für BSCAN-Testdaten (SCAN_IN) bzw. von einem Signaleingang für Konfigurationsdaten (Conf data) zu dem Speicherbaustein (116) durchgeschaltet wird.
  10. Speicherzelle nach Anspruch 9, dadurch gekennzeichnet, dass anstelle des Ausgangs-Multiplexers (302c) ein Update-Flipflop (306) zur Ansteuerung einzelner Steuersignal-, Daten- und/ oder Adresseingänge des Speicherbausteins (116) zwecks Auslösung bzw. Beendigung einer Schreiboperation verwendet wird.
DE10244757A 2002-09-25 2002-09-25 Programmierung eines Speicherbausteins über ein Boundary Scan-Register Expired - Fee Related DE10244757B3 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10244757A DE10244757B3 (de) 2002-09-25 2002-09-25 Programmierung eines Speicherbausteins über ein Boundary Scan-Register
US10/668,603 US6937493B2 (en) 2002-09-25 2003-09-24 Programming flash memory via a boundary scan register

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10244757A DE10244757B3 (de) 2002-09-25 2002-09-25 Programmierung eines Speicherbausteins über ein Boundary Scan-Register

Publications (1)

Publication Number Publication Date
DE10244757B3 true DE10244757B3 (de) 2004-07-29

Family

ID=32602408

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10244757A Expired - Fee Related DE10244757B3 (de) 2002-09-25 2002-09-25 Programmierung eines Speicherbausteins über ein Boundary Scan-Register

Country Status (2)

Country Link
US (1) US6937493B2 (de)
DE (1) DE10244757B3 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356620B2 (en) 2003-06-10 2008-04-08 Altera Corporation Apparatus and methods for communicating with programmable logic devices
DE10244977B4 (de) * 2002-09-26 2004-08-12 Siemens Ag Beschleunigung der Programmierung eines Speicherbausteins mit Hilfe eines Boundary Scan (BSCAN)-Registers
US6948147B1 (en) * 2003-04-03 2005-09-20 Xilinx, Inc. Method and apparatus for configuring a programmable logic device using a master JTAG port
US7814377B2 (en) * 2004-07-09 2010-10-12 Sandisk Corporation Non-volatile memory system with self test capability
US7251805B2 (en) * 2004-10-12 2007-07-31 Nanotech Corporation ASICs having more features than generally usable at one time and methods of use
US7426708B2 (en) 2005-01-31 2008-09-16 Nanotech Corporation ASICs having programmable bypass of design faults
JP4388903B2 (ja) * 2005-02-09 2009-12-24 富士通マイクロエレクトロニクス株式会社 Jtag試験方式
US7505331B1 (en) 2005-11-23 2009-03-17 Altera Corporation Programmable logic device with differential communications support
EP1958102A1 (de) * 2005-12-02 2008-08-20 Nxp B.V. Verfahren zur bereitstellung eines ic-entwurfs und ic-entwurfswerkzeug
KR20070074193A (ko) * 2006-01-06 2007-07-12 삼성전자주식회사 업데이트 가능한 pdp 표시장치 및 그의 업데이트 방법
US20070258298A1 (en) * 2006-05-04 2007-11-08 Westell Technologies, Inc. Parallel programming of flash memory during in-circuit test
US20080114693A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for allowing content protected by a first DRM system to be accessed by a second DRM system
US20080114772A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for connecting to a network location associated with content
US8763110B2 (en) * 2006-11-14 2014-06-24 Sandisk Technologies Inc. Apparatuses for binding content to a separate memory device
US8079071B2 (en) * 2006-11-14 2011-12-13 SanDisk Technologies, Inc. Methods for accessing content based on a session ticket
US20080112562A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Methods for linking content with license
US8327454B2 (en) * 2006-11-14 2012-12-04 Sandisk Technologies Inc. Method for allowing multiple users to access preview content
US7882405B2 (en) * 2007-02-16 2011-02-01 Atmel Corporation Embedded architecture with serial interface for testing flash memories
US7707467B2 (en) * 2007-02-23 2010-04-27 Micron Technology, Inc. Input/output compression and pin reduction in an integrated circuit
US7710146B1 (en) * 2007-04-17 2010-05-04 General Dynamics Advanced Information Systems, Inc. Hierarchical FPGA configuration
US7804724B2 (en) * 2007-05-02 2010-09-28 Alcatel Lucent Method and apparatus for boundary scan programming of memory devices
US9946667B2 (en) * 2008-11-12 2018-04-17 Microchip Technology Incorporated Microcontroller with configurable logic array
WO2010094170A1 (zh) 2009-02-17 2010-08-26 华为技术有限公司 一种管理电源的方法、装置及供电系统
US9389945B1 (en) 2012-09-07 2016-07-12 Mentor Graphics Corporation Test access architecture for stacked dies
US9689918B1 (en) * 2012-09-18 2017-06-27 Mentor Graphics Corporation Test access architecture for stacked memory and logic dies
US10222418B2 (en) * 2016-12-02 2019-03-05 Arm Limited Scan cell for dual port memory applications
CN107145370B (zh) * 2017-05-02 2020-12-04 贵州航天电子科技有限公司 一种flash存储器在线烧录装置
CN113994434B (zh) * 2019-05-31 2022-12-20 美光科技公司 使用jtag单元寻址的直接存储器存取
US11875044B2 (en) 2019-05-31 2024-01-16 Lodestar Licensing Group, Llc Direct memory access using joint test action group (JTAG) cells addressing
US11181580B2 (en) 2019-10-03 2021-11-23 Raytheon Company Non-volatile computer data storage production-level programming
CN111142916B (zh) * 2019-12-16 2023-09-26 杭州迪普科技股份有限公司 快闪存储器的配置装置及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19833970A1 (de) * 1998-07-28 1999-12-02 Siemens Ag Schnelle Programmierung von Speicherbausteinen über Boundary Scan

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9111179D0 (en) * 1991-05-23 1991-07-17 Motorola Gmbh An implementation of the ieee 1149.1 boundary-scan architecture
US5325368A (en) * 1991-11-27 1994-06-28 Ncr Corporation JTAG component description via nonvolatile memory
US6173428B1 (en) * 1994-11-16 2001-01-09 Cray Research, Inc. Apparatus and method for testing using clocked test access port controller for level sensitive scan designs
US6499124B1 (en) * 1999-05-06 2002-12-24 Xilinx, Inc. Intest security circuit for boundary-scan architecture
US6774672B1 (en) * 2002-12-30 2004-08-10 Actel Corporation Field-programmable gate array architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19833970A1 (de) * 1998-07-28 1999-12-02 Siemens Ag Schnelle Programmierung von Speicherbausteinen über Boundary Scan

Also Published As

Publication number Publication date
US20040130944A1 (en) 2004-07-08
US6937493B2 (en) 2005-08-30

Similar Documents

Publication Publication Date Title
DE10244757B3 (de) Programmierung eines Speicherbausteins über ein Boundary Scan-Register
DE69914864T2 (de) Steuerung der konfiguration in einer programmierbaren logik-einheit mittels nichtflüchtiger bauelemente
DE602004007503T2 (de) REKONFIGURIERBARE ARCHITEKTUR FÜR SOCs
DE60104854T2 (de) System und Verfahren zum Testen integrierter Schaltungen
DE102006009224B4 (de) Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
DE19729163B4 (de) System und Verfahren zur Abtaststeuerung einer programmierbaren Sicherungsschaltung in einer integrierten Schaltung
DE602004003475T2 (de) Testen von integrierten schaltungen
DE69827159T2 (de) Boundary-scan-system mit adressabhängingen befehlen
DE4434927C2 (de) Verfahren zum Testen einer Schaltungsplatine
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE10034405B4 (de) Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware
DE60109321T2 (de) Prüfung von asynchroner rücksetzschaltung
DE60306164T2 (de) Verfahren und kontrolllogik zum ansteuern von mehreren taps (test access ports) über einen einzigen tap
EP1754075B1 (de) Testverfahren und testvorrichtung zum testen einer integrierten schaltung
DE112019007388T5 (de) Jtag-basierte architektur, die den multi-core-betrieb ermöglicht
DE69724575T2 (de) Integrierte Schaltung
EP1430320A2 (de) Elektronischer baustein und verfahren zu dessen qualifizierungsmessung
DE69921356T2 (de) Boundary-scanverfahren zur beendigung oder zum ändern von betriebsarten einer integrierten schaltung
DE10244977B4 (de) Beschleunigung der Programmierung eines Speicherbausteins mit Hilfe eines Boundary Scan (BSCAN)-Registers
DE102020111259A1 (de) On-chip-ausführung eines in-system-tests unter verwendung eines verallgemeinerten testbildes
DE19911099A1 (de) Testschaltung und -verfahren für eine Systemlogik
DE4221435C2 (de) Elektronischer Baustein mit einer taktgesteuerten Schieberegisterprüfarchitektur (Boundary-Scan)
CH694927A5 (de) Verfahren und Vorrichtung zur Fehleranalyse digitaler Logikschatungen..
DE102018124298A1 (de) Broadcast-Abtast-Netzwerk
DE69606129T3 (de) Verfahren und Tester zur Beaufschlagung eines elektronischen Bausteins mit einem Triggerimpuls

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NOKIA SIEMENS NETWORKS GMBH & CO.KG, 81541 MUE, DE

8339 Ceased/non-payment of the annual fee