DE10034405B4 - Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware - Google Patents

Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware Download PDF

Info

Publication number
DE10034405B4
DE10034405B4 DE10034405A DE10034405A DE10034405B4 DE 10034405 B4 DE10034405 B4 DE 10034405B4 DE 10034405 A DE10034405 A DE 10034405A DE 10034405 A DE10034405 A DE 10034405A DE 10034405 B4 DE10034405 B4 DE 10034405B4
Authority
DE
Germany
Prior art keywords
fpga
eeprom
prom
programming
mux element
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
DE10034405A
Other languages
English (en)
Other versions
DE10034405A1 (de
Inventor
Heinz Baier
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10034405A1 publication Critical patent/DE10034405A1/de
Application granted granted Critical
Publication of DE10034405B4 publication Critical patent/DE10034405B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Abstract

Das Konzept der Erfindung umfaßt ein Verfahren und eine Schaltungsanordnung zum Programmieren oder Aktualisieren von elektronischen Hardware-Schaltungen ohne manuellen Eingriff in die Schaltungen. Außerdem umfaßt die erfindungsgemäße Schaltungsanordnung eine EEPROM-Vorrichtung (12), eine FPGA-Vorrichtung (16), der über ein Computerbussystem und ein zwischengeschaltetes MUX-Element zugänglich ist, und ein MUX-Element (14), das zwischen diese Vorrichtungen geschaltet ist. DOLLAR A Weiterhin besitzt die Schaltungsanordnung eine PROM-Vorrichtung (10), in der Steuerdaten für die ordnungsgemäße Erkennung des FPGA durch das Bussystem enthalten sind, sowie eine Logik, die zum Programmieren der EEPROM-Vorrichtung mit einer EEPROM-FPGA-Schnittstelle wie der JTAG-Schnittstelle (Joint Test Action Group) benutzt werden kann. Das erwähnte MUX-Element kann so gesteuert werden, daß es entweder den PROM oder den EEPROM oder das FPGA zum Auslesen von Daten auswählt, um das FPGA richtig mit dem Bussystem zu verbinden und eine Konfiguration des FPGA mit dem Inhalt des EEPROM zu initialisieren. DOLLAR A Während einer ersten Folge von Schritten wird das FPGA dazu benutzt, den EEPROM wie oben beschrieben mit dem von einer Platte empfangenen Schema zu programmieren. Dann wird das MUX-Element so geschaltet, daß es vom EEPROM lesen und das entwickelte Schema, das darin programmiert ist, wie vorgesehen in das FPGA einspeisen kann. Der PROM hat nur die Aufgabe, dem FPGA die Information zu liefern, die notwendig ...

Description

  • 1. HINTERGRUND DER ERFINDUNG
  • 1.1 GEGENSTAND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet der Programmierung von feldprogrammierbaren Gattern (fieldprogrammable gate arrays – FPGAs). Speziell geht es darum, ihre Nutzung beim Gebrauch durch den Endanwender und bei der Entwicklung von Schaltungen zu verbessern, indem bei den feldprogrammierbaren Gattern einige neue Funktionen implementiert werden.
  • 1.2 BESCHREIBUNG UND NACHTEILE DES STANDS DER TECHNIK
  • In der Regel werden feldprogrammierbare Gatter, im folgenden mit der Abkürzung FGPA bezeichnet, verwendet, um Computerfunktionen zu implementieren, die elementare, hardwarebezogene Funktionen zur Steuerung der Grundfunktionen von Peripheriegeräten wie Bildschirmen, Druckern, Netzwerkkarten usw. steuern.
  • Außerdem werden sie in Anwendungen eingesetzt, die umfangreiche arithmetische Berechnungen erfordern, z.B. Multiplikations- und Additionsoperationen, die in Grafikverarbeitungsanwendungen sehr schnell ausgeführt werden müssen.
  • FPGA werden zur Implementierung von Funktionalitäten eingesetzt, die in einer großen Anzahl (bis zu einer Million) miteinander verbundener Schaltungen implementiert werden. Solche großen Schaltungen werden mit Hilfe einer speziellen Hardware geplant und realisiert, z.B. mit der Hardware-Vorrichtung von Byte BlasterMV, die entweder an die serielle oder an die parallele Schnittstelle der Workstation angeschlossen ist, die ihrerseits als Entwicklungsplattform mit dedizierten Software-Tools verwendet wird.
  • Dies ist in 2 zu sehen, wo eine PCI-Karte 18 schematisch als mit einer Zusatzhardware 32 außerhalb des PCs verbunden dargestellt ist. Eine Logik 34 dient dazu, das FPGA 16 mit den dafür zu entwickelnden Konfigurationsdaten zu steuern und zu programmieren und ihm die Konfigurationsdaten zu liefern, die notwendig sind, daß die PCI-Karte beim Systemstart vom Bussystem erkannt wird. Solche Umgebungen, die dem Stand der Technik entsprechen, erfordern entweder zusätzliche Hardware oder programmierbare Festwertspeicher, die hier im folgenden als PROMs bezeichnet werden. Das Entwicklungsschema, das die neue Funktionalität enthält, wird in den PROM eingespeist, der sich auf der PC-Karte befindet, die mit dem FPGA entwickelt werden soll. Wenn danach die Workstation des Entwicklers eingeschaltet wird, steuert und konfiguriert der PROM das FPGA. Dann kann die Funktionalität des FPGA im laufenden Betrieb getestet werden. Wenn eine weitere Aktualisierung des Schemas notwendig ist, muß ein neuer PROM verwendet werden, da der alte nicht mit neuen Daten beschrieben werden kann.
  • Alternativ können anstelle von PROMs auch elektrisch löschbare PROMs, im folgenden als EEPROMs bezeichnet, verwendet werden. Diese können im Fall einer Aktualisierung neu beschrieben werden; dazu ist aber externe Hardware erforderlich, wie auch zur Steuerung des Schreibprozesses in den EEPROM.
  • In den Fällen bei der Entwicklung der FPGA-Funktionalität, oder wenn ein Endbenutzer eine PC-Karte 16 mit dem FPGA austauscht, weil die Funktionalität in dieser Karte aktualisiert oder erweitert wird, ist deshalb ein manueller Zugriff auf die betreffende Karte erforderlich, um im letzteren Fall die Karte durch eine andere zu ersetzen oder um, im Fall eines FPGA-Entwicklers, zumindest den zum Programmieren des FPGA verwendeten PROM zu ersetzen.
  • Das gleiche gilt im Prinzip auch, wenn statt einer Aktualisierung eine neue Funktionalität in einem FPGA implementiert werden soll.
  • Jeder manuelle Zugriff auf PC-Karten verursacht aber zusätzliche Arbeit und beinhaltet das Risiko, andere Hardware, die im Gehäuse des Computers angeschlossen ist, zu beschädigen, z.B. durch statische Aufladung an Stellen, die darauf empfindlich reagieren.
  • US Patent 5,628,028 offenbart ein verfahren, um Funktionalität, wie sie auf PCMCIA Karten vorhanden ist, zu konfigurieren. Die PCMCIA-Karte trägt dabei ein für Konfigurationszwecke zu programmierendes FPGA. Die Konfigurationsdaten für das FPGA, die das Programmierschema enthalten, werden von der Festplatte eines Host Computers (Entwicklungs-Workstation) in seinen Systemspeicher geladen und von dort über einen separaten, auf der PCMCIA- Karte implementierten Interface Chip, und eine separat vorgesehene Steuerschaltung in das FPGA geladen. Dies ist für den FPGA notwendig, um die Daten zu bekommen, die benötigt werden, um den FPGA zu programmieren oder umzuprogrammieren. Dabei sind folgende Nachteile erkennbar:
    Zum einen ist eine zusätzliche Hardware, ein separater Chip, (PCMCIA Interface chip 26) notwendig, der relativ hohe Kosten verursacht und auch Chipfläche belegt. Zum anderen ist der FPGA Entwickler an seine Host-Workstation gebunden, denn dort im System-Memory liegen die Konfigurationsdaten für den FPGA, die seine Entwicklung beinhalten. Ein Wechsel der PCMCIA Steckkarte auf eine andere Workstation, z.B., eines Kollegen, ist damit nicht möglich, ohne die gesamte Entwicklungsumgebung (Entwicklungstool, Personalisierungsdaten und FPGA Konfigurationsdaten) ebenfalls auf die andere Workstation zu migrieren, bzw. zu kopieren.
  • 1.3 AUFGABEN DER ERFINDUNG
  • Es ist deshalb eine Aufgabe der vorliegenden Erfindung, ein alternatives Verfahren und eine Schaltung mit alternativ gewählten technischen Vorgaben bereitzustellen, um die Verwendung von FPGAs bei der Nutzung durch Endbenutzer und bei der Entwicklung von Schaltungen, in denen neue Funktionalitäten in den FPGAs implementiert werden, zu verbessern.
  • 2. KURZBESCHREIBUNG UND VORTEILE DER ERFINDUNG
  • Diese Aufgaben der Erfindung werden durch die in den unabhängigen Ansprüchen definierten Merkmale erreicht.
  • Das Konzept der Erfindung umfaßt ein Verfahren und ein System zum zum Aktualisieren von elektronischen Hardware-Schaltungen ohne manuellen Eingriff in die Schaltungen.
  • Gemäß einem der grundlegenden Konzepte der Erfindung wird vorgeschlagen, zuerst einen PROM oder einen EEPROM auf der betreffenden Karte anzuschließen. Auf diesen soll seriell zugegriffen werden, und er soll einen seriellen Datenstrom in das FPGA einspeisen, der notwendig ist, wenn das FPGA dem Bussystem des Computers, z.B. einem PCI-Bus, bekannt gemacht werden soll, und der ferner benötigt wird, damit über einen konventionellen Treiber auf die Karte zugegriffen werden kann. Wie bereits erwähnt, wird das FPGA beim nächsten Einschalten des Computers automatisch vom PROM konfiguriert, das Voraussetzung dafür ist, daß die PCI-Karte vom BIOS des Computers richtig erkannt wird.
  • Außerdem umfaßt die erfindungsgemäße Schaltungsanordnung einen EEPROM und ein FPGA, der über ein Computerbussystem und ein zwischengeschaltetes MUX-Element zugänglich ist.
  • Ferner ist in der Schaltungsanordnung der PROM so gestaltet, daß er Steuerdaten für die richtige Erkennung des FPGA durch das Bussystem sowie eine Logik enthält, die zum Programmieren des EEPROM mit einer EEPROM-FPGA-Schnittstelle wie der von JTAG (Joint Test Action Group) verwendet werden kann. Gemäß der vorliegenden Erfindung kann das erwähnte MUX- Element so gesteuert werden, daß es entweder den PROM oder den EEPROM oder das FPGA zum Auslesen von Daten auswählt, um das FPGA richtig mit dem Bussystem zu verbinden und eine Konfiguration des FPGA mit dem Inhalt des EEPROM zu initialisieren.
  • Die oben beschriebene Schaltunganordnung kann dazu verwendet werden, verschiedene Aktualisierungen des FPGA-Inhalts ohne physischen Eingriff in die Karte vorzunehmen. Wie dies erreicht wird, soll im folgenden kurz beschrieben werden:
    Während einer ersten Folge von Schritten wird das FPGA dazu benutzt, den EEPROM wie oben beschrieben mit dem von einer Platte empfangenen Schema zu programmieren. Dann wird das MUX-Element so geschaltet, daß es vom EEPROM lesen und das entwickelte Schema, das darin programmiert ist, wie vorgesehen in das FPGA einspeisen kann. Der PROM hat nur die Aufgabe, dem FPGA die Information zu liefern, die notwendig ist, damit die PC-Karte beim Systemstart vom BIOS erkannt wird. Es ist deshalb ein charakteristisches Merkmal der vorliegenden Erfindung, daß das FPGA auf zweifache Weise konfiguriert ist, zum einen, um die gewünschte Plattenkommunikation zu initialisieren und zum andern, um den EEPROM-Inhalt zu rekonfigurieren.
  • Das erfindungsgemäße Verfahren und die Schaltung haben gegenüber dem beschriebenen Stand der Technik den Vorteil, daß FGPAs programmiert werden können, ohne daß physisch auf die Karte mit dem FPGA zugegriffen wird. Dadurch verringern sich die durchschnittliche Entwicklungszeit und die Kosten.
  • Außerdem wird für den Computer keine zusätzliche Hardware benötigt.
  • Weiterhin ist es möglich, eine generische PC-Karte zu entwickeln, die leicht umprogrammiert werden kann, um eine höhere Funktionalität zu realisieren. Oder es kann eine ganz neue Funktionalität implementiert werden – falls dies gewünscht wird. Die vorliegende Erfindung steigert also die Flexibilität der FPGA-Hardware, da diese nun nicht mehr nur für einen einzigen Zweck benutzt werden kann.
  • 3. KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird exemplarisch beschrieben und ist nicht durch die Gestalt der Figuren in den beigefügten Zeichnungen eingeschränkt. Die Zeichnungen haben folgenden Inhalt:
  • 1 ist eine Schemazeichnung eines Strukturdiagramms, in dem die wesentlichen Elemente der Schaltung gemäß einer bevorzugten Ausführungsform der Erfindung dargestellt sind.
  • 2 ist eine Schemazeichnung eines Strukturdiagramms, in dem die wesentlichen Elemente einer Schaltung nach dem Stand der Technik dargestellt sind.
  • 3 ist eine Schemazeichnung eines Blockdiagramms, in dem die wesentlichen Schritte des Verfahrens gemäß einem ersten und einem zweiten Aspekt der vorliegenden Erfindung dargestellt sind.
  • 4. BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Unter allgemeiner Bezugnahme auf die Figuren und speziell auf 1 werden im folgenden die wesentlichen Elemente der erfindungsgemäßen Schaltung beschrieben.
  • Ein PROM 10 und ein EEPROM 12 sind über ein Multiplexerelement 14 mit einem FPGA 16 auf der generischen PCI-Karte, die nach der vorliegenden Erfindung hergestellt werden soll, verbunden. Die PCI-Karte ist durch die gestrichelten Linien mit der Bezugszahl 18 dargestellt. Auf der rechten Seite des FPGAs stehen 40 Leitungen als Ein-/Ausgangsleitungen zur Verfügung; diese stellen die Verbindung des PCI-Bussystems des Computers dar.
  • Von PROM 10 und EEPROM 12 sind eine Taktsignalleitung und eine Datenleitung an die entsprechenden Eingänge von MUX 14 angeschlossen. Ein Taktsignal- und Datenleitungspaar führt vom MUX zu den entsprechenden Eingängen im FPGA 16.
  • Das MUX-Element 14 kann über eine Leitung MUX CTL gesteuert werden, um Daten vom PROM zu lesen, wenn die Leitung inaktiv 10 ist, oder um Daten vom EEPROM 12 zu lesen, wenn die Leitung aktiv geschaltet ist.
  • Außerdem gibt es vier Anschlüsse TCK, TDI, TMS und TDO zwischen FPGA 16 und EEPROM 12, um den EEPROM vom FPGA zu programmieren wie oben beim Stand der Technik beschrieben.
  • Außerdem gibt es eine Signalleitung INIT_CONFIG von einem Ausgang des FPGA 16 zu einem Eingang des EPROM 12, dessen Funktionsweise weiter unten beschrieben wird.
  • PROM 10 enthält alle Konfigurationsdaten, die zum Konfigurieren des FPGA erforderlich sind, damit dieser beim Hochfahren des Computers vom BIOS als am PCI-Bus angeschlossenes Gerät erkannt und über einen Gerätetreiber angesprochen wird. Weiter umfaßt er die gesamte Logik, die benötigt wird, um den EEPROM 12 wie oben beschrieben mit der JTAG-Schnittstelle zu programmieren.
  • Im folgenden werden die wesentlichen Schritte der Programmierung des EEPROM und des FPGA unter zusätzlicher Bezugnahme auf 3 beschrieben.
  • Nach dem Einschalten (Schritt 110) wird das FPGA automatisch über den PROM-Inhalt konfiguriert (Schritt 120). Das FPGA signalisiert seine Anwesenheit, nachdem er vom BIOS abgefragt wird. Das FPGA enthält die PCI-Zielgerätefunktion und kann auf diese Weise mit einem Gerätetreiber kommunizieren.
  • In dem Fall, der den ersten Aspekt des erfindungsgemäßen Verfahrens darstellt, wird der zum Programmieren des FPGA verwendete EEPROM mit einer neuen, aktualisierten Version des oben erwähnten FPGA-Entwicklungsschemas programmiert, was der JA-Verzweigung in Entscheidungsblock 130 entspricht. Jedes dem Stand der Technik entsprechende Gerät liest das Schema, d.h. die Konfigurationsdaten, z.B. von einer Platte (Schritt 140), auf die sie vom Schemaentwicklungs-Tool geschrieben wurde, und programmiert diese Daten mittels der oben erwähnten speziellen Funktion, die im FPGA implementiert ist, in den EEPROM 12 (Schritt 150).
  • Speziell werden, wie nach dem Stand der Technik, die dedizierten JTAG-Signale TCK (Taktsignal), TDI (Dateneingang), TMS (Modusauswahl) und TDO (Datenausgang) verwendet, wie in 1 zu sehen ist. Damit ist die Programmierung des EEPROMs abgeschlossen.
  • Dann wird der Prozeß, der das FPGA 16 mit dem Inhalt des EEPROMs 12 konfiguriert, gestartet, indem die sogenannte Card_INIT-Funktion über über Signalleitung INIT_CONFIG aktiviert wird. Dieser Programmstartschritt wird von einer im FPGA implementierten Funktion gesteuert.
  • Und zwar wird der MUX 14 in Schritt 160 über die Leitung MUX CTL so geschaltet, daß die Signale auf den Leitungen CLK und DATA des EEPROMs 12 in das FPGA 16 eingespeist werden. Wenn die Leitung INIT_CONFIG tatsächlich aktiviert wird (Schritt 170), wird das FPGA mit dem Inhalt des EEPROMs konfiguriert (Schritt 180). Damit ist die Programmierung des FPGAs abgeschlossen (Schritt 130). Sie kann mit einer neuen, aktualisierten Version des Schemas wiederholt werden, indem einfach die soeben beschriebenen Schritte erneut ausgeführt werden.
  • Beim zweiten Aspekt des erfindungsgemäßen Verfahrens ist der EEPROM 12 bereits umprogrammiert. Damit sind solche Fälle abgehandelt, in denen die Entwicklung eines neuen FPGA-Konfigurationsschemas abgeschlossen ist.
  • In diesem Fall wird das in 3 dargestellte Verfahren nach der Startprozedur (Schritt 110 mit Beteiligung des PROM) fortgesetzt (Schritt 120), wobei in Entscheidungsblock 130 die NEIN-Verzweigung gewählt und dann Schritt 160 ausgeführt wird wie oben beschrieben.
  • In der obigen Spezifikation wurde die Erfindung unter Bezugnahme auf eine spezielle, exemplarische Ausführungsform beschrieben. Es ist jedoch klar, daß verschiedene Abwandlungen und Änderungen dieser Ausführungsform möglich sind, ohne daß dadurch der größere Rahmen der Erfindung, wie er in den angehängten Ansprüchen definiert wird, gesprengt würde. Die Spezifikation und die Zeichnungen sind deshalb nicht restriktiv, sondern rein illustrativ zu verstehen.
  • Es ist jedoch zu beachten, daß die erfindungsgemäßen Konzepte unabhängig von dem Bussystem sind, das in dem PC mit der FPGA-Schemaentwicklungsumgebung verwendet wird.
  • 10
    PROM
    12
    EEPROM
    14
    MUX
    16
    FPGA
    18
    PCI-Karte
    32
    externe Hardware
    34
    Logik
    110 bis 190
    Schritte, Entscheidungen des erfindungsgemäßen
    Verfahrens

Claims (4)

  1. Ein Verfahren zum Programmieren feldprogrammierbarer Gate-Arrays (FPGA) (16) mit Konfigurationsdaten gemäß einem durch ein Entwicklungs-Tool auf einem Computer entwickelten Schema, mit dem Schritt: a) Lesen (140) des Schemas durch einen Gerätetreiber von einer Speichervorrichtung des Computers, wobei das Verfahren durch folgende Schritte gekennzeichnet ist: b) Einprogrammieren (150) des Schemas mit Hilfe einer im FPGA (16) implementierten dedizierten Funktion in einen EEPROM (12), der über ein MUX-Element (14) mit dem FPGA (16) verbunden ist, c) Schalten (160) des MUX-Elementes (14), damit vom EEPROM (12) in das FPGA (16) eingelesen werden kann, und d) Starten (170, 180) des Programmierens des FPGA (16), indem das Schema vom EEPROM (12) in das FPGA (16) eingespeist wird.
  2. Ein Verfahren zur Verwendung eines FPGA (16) mit Konfigurationsdaten, die in einem über ein MUX-Element (14) an das FPGA (16) angeschlossenen EEPROM (12) gespeichert sind, wobei das Verfahren durch folgende Schritte gekennzeichnet ist: a) Steuern (160) des MUX-Elementes (14), damit vom EEPROM (12) in das FPGA (16) eingelesen werden kann, und b) Starten (170, 180) des Programmierens des FPGA (16), indem ein der Konfiguration des FPGA (16) dienendes Schema vom EEPROM (12) in das FPGA (16) eingespeist wird.
  3. Eine Hardware-Schaltungsanordnung, umfassend eine PROM-Vorrichtung (10), eine EEPROM-Vorrichtung (12), eine FPGA-Vorrichtung (16), auf die über ein Computer- Bussystem und ein zwischen die Vorrichtungen geschaltetes MUX-Element (14) zugegriffen werden kann, wobei die Schaltungsanordnung dadurch gekennzeichnet ist, daß a) die PROM-Vorrichtung (10) so angeordnet ist, daß sie Steuerdaten für die ordnungsgemäße Erkennung des FPGA (16) durch das Bussystem umfaßt, und eine Logik vorhanden ist, die zum Programmieren der EEPROM- Vorrichtung (12) mit einer EEPROM-FPGA-Schnittstelle verwendet werden kann, b) das MUX-Element (14) so gesteuert werden kann, daß es die PROM-Vorrichtung auswählt, wobei mittels der von der PROM-Vorrichtung gelesenen Daten das FPGA ordnungsgemäß an das Bussystem angeschlossen wird, oder daß es die EEPROM-Vorrichtung und die FPGA-Vorrichtung so auswählt, daß von der EEPROM-Vorrichtung Daten gelesen werden und daß das Konfigurieren des FPGAs mit den von der EEPROM-Vorrichtung gelesenen Daten initialisiert wird.
  4. Eine Hardware-Schaltungsanordnung nach Anspruch 3, die von einer PCI-Karte umfasst wird, wobei die PCI-Karte von einem PC-Systembus erkannt werden kann.
DE10034405A 1999-08-11 2000-07-14 Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware Expired - Fee Related DE10034405B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP991159633 1999-08-11
EP99115963 1999-08-11

Publications (2)

Publication Number Publication Date
DE10034405A1 DE10034405A1 (de) 2001-03-01
DE10034405B4 true DE10034405B4 (de) 2006-09-28

Family

ID=8238773

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10034405A Expired - Fee Related DE10034405B4 (de) 1999-08-11 2000-07-14 Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware

Country Status (8)

Country Link
US (1) US6976118B1 (de)
JP (1) JP3644590B2 (de)
KR (1) KR100393404B1 (de)
CN (1) CN1203434C (de)
CA (1) CA2311420A1 (de)
DE (1) DE10034405B4 (de)
SG (1) SG91880A1 (de)
TW (1) TW440845B (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7074519B2 (en) * 2001-10-26 2006-07-11 The Regents Of The University Of California Molehole embedded 3-D crossbar architecture used in electrochemical molecular memory device
US20030097649A1 (en) * 2001-10-31 2003-05-22 Terrence Jones Embedded language interpretation for configuration of fixturing applications
KR100443918B1 (ko) * 2002-01-25 2004-08-09 삼성전자주식회사 원격 에프피지에이 프로그램 업그레이드 방법
KR100445636B1 (ko) * 2002-06-17 2004-08-25 삼성전자주식회사 에프피지에이와 다수개의 프로그램 가능한 메모리모듈들을 이용한 컴퓨터 시스템 테스트 장치 및 그 테스트방법
KR20040043403A (ko) * 2002-11-18 2004-05-24 삼성전자주식회사 원격 프로그래밍이 가능한 피엘디 보드 및 그 원격프로그래밍방법
US7111110B1 (en) * 2002-12-10 2006-09-19 Altera Corporation Versatile RAM for programmable logic device
TWI220738B (en) 2002-12-20 2004-09-01 Benq Corp Method for effectively re-downloading data to a field programmable gate array
DE102004030230B4 (de) * 2004-06-23 2006-12-21 Abb Patent Gmbh Verfahren zur Aktualisierung der Betriebssoftware für eine Einrichtung mit einem programmierbaren Logikbaustein
EP1967920A1 (de) 2007-03-07 2008-09-10 Siemens Aktiengesellschaft Verfahren zur Durchführung von Softwareupdates in FPGA-basierte Automatisierungsgeräte
US7596651B2 (en) * 2007-05-29 2009-09-29 International Business Machines Corporation Multi-character adapter card
US20090079467A1 (en) * 2007-09-26 2009-03-26 Sandven Magne V Method and apparatus for upgrading fpga/cpld flash devices
JP5262578B2 (ja) 2008-10-27 2013-08-14 富士ゼロックス株式会社 電子機器
DE102010035102A1 (de) * 2010-08-23 2012-04-19 Bürkert Werke GmbH Steuergerät für fluidische Systeme
CN102184158B (zh) * 2011-03-31 2014-04-23 杭州海康威视数字技术股份有限公司 带两级fpga芯片的子板及两级fpga芯片的配置方法
CN102306107A (zh) * 2011-08-30 2012-01-04 四川和芯微电子股份有限公司 Fpga配置装置及配置方法
US9424019B2 (en) * 2012-06-20 2016-08-23 Microsoft Technology Licensing, Llc Updating hardware libraries for use by applications on a computer system with an FPGA coprocessor
US9298438B2 (en) 2012-06-20 2016-03-29 Microsoft Technology Licensing, Llc Profiling application code to identify code portions for FPGA implementation
US10229085B2 (en) 2015-01-23 2019-03-12 Hewlett Packard Enterprise Development Lp Fibre channel hardware card port assignment and management method for port names
US9641176B2 (en) 2015-07-21 2017-05-02 Raytheon Company Secure switch assembly
JP2018120992A (ja) * 2017-01-26 2018-08-02 株式会社東芝 集積回路および電子機器
US10223318B2 (en) * 2017-05-31 2019-03-05 Hewlett Packard Enterprise Development Lp Hot plugging peripheral connected interface express (PCIe) cards

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5628028A (en) * 1995-03-02 1997-05-06 Data Translation, Inc. Reprogrammable PCMCIA card and method and apparatus employing same
US5729495A (en) * 1995-09-29 1998-03-17 Altera Corporation Dynamic nonvolatile memory cell

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5465106A (en) 1992-09-25 1995-11-07 Hughes Aircraft Company Generic driver interface card
US6067615A (en) * 1993-11-30 2000-05-23 Trw Inc. Reconfigurable processor for executing successive function sequences in a processor operation
WO1995030437A1 (en) 1994-05-10 1995-11-16 American Home Products Corporation Improved modified live brsv vaccine
US5640107A (en) 1995-10-24 1997-06-17 Northrop Grumman Corporation Method for in-circuit programming of a field-programmable gate array configuration memory
US5794033A (en) * 1995-10-24 1998-08-11 International Business Machines Corporation Method and system for in-site and on-line reprogramming of hardware logics with remote loading in a network device
JPH09212445A (ja) 1996-02-05 1997-08-15 Toppan Printing Co Ltd カード状インターフェイス機器
KR100299161B1 (ko) * 1996-05-15 2001-10-22 박종섭 프로세서와롬을사용하여프로그램가능한전계게이트어레이(fpga)를구현하는장치및방법
US5789938A (en) * 1996-09-04 1998-08-04 Xilinx, Inc. Structure and method for reading blocks of data from selectable points in a memory device
JPH10143441A (ja) * 1996-09-13 1998-05-29 Nippon Steel Corp 機密保持機能を備えた半導体装置、符号処理方法及びそのソフトウエアを記憶した記憶媒体
JPH10240678A (ja) * 1997-02-27 1998-09-11 Oki Inf Syst 拡張入出力バス
US5931959A (en) * 1997-05-21 1999-08-03 The United States Of America As Represented By The Secretary Of The Air Force Dynamically reconfigurable FPGA apparatus and method for multiprocessing and fault tolerance
US5978862A (en) 1997-08-08 1999-11-02 Toshiba America Information Systems, Inc. PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device
US6102963A (en) * 1997-12-29 2000-08-15 Vantis Corporation Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's
US6260139B1 (en) * 1999-01-26 2001-07-10 Xilinx, Inc. FPGA control structure for self-reconfiguration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5628028A (en) * 1995-03-02 1997-05-06 Data Translation, Inc. Reprogrammable PCMCIA card and method and apparatus employing same
US5729495A (en) * 1995-09-29 1998-03-17 Altera Corporation Dynamic nonvolatile memory cell

Also Published As

Publication number Publication date
CN1203434C (zh) 2005-05-25
US6976118B1 (en) 2005-12-13
KR20010067048A (ko) 2001-07-12
JP3644590B2 (ja) 2005-04-27
JP2001101017A (ja) 2001-04-13
SG91880A1 (en) 2002-10-15
CA2311420A1 (en) 2001-02-11
TW440845B (en) 2001-06-16
KR100393404B1 (ko) 2003-07-31
CN1284681A (zh) 2001-02-21
DE10034405A1 (de) 2001-03-01

Similar Documents

Publication Publication Date Title
DE10034405B4 (de) Verfahren und System zum Programmieren von FPGAs auf PC-Karten ohne zusätzliche Hardware
DE69914864T2 (de) Steuerung der konfiguration in einer programmierbaren logik-einheit mittels nichtflüchtiger bauelemente
DE69209538T2 (de) Automatische Konfiguration einer Einheit für koppelbare Rechner
DE69834401T2 (de) Businterfacesystem und verfahren
DE60104854T2 (de) System und Verfahren zum Testen integrierter Schaltungen
DE69828800T2 (de) Herstellungschnittstelle für ein integriertes schaltungsprüfsystem
DE602004007503T2 (de) REKONFIGURIERBARE ARCHITEKTUR FÜR SOCs
DE3886529T2 (de) Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung.
DE4420610A1 (de) Verfahren und Vorrichtung zum Konfigurieren von Speicherschaltkreisen
DE60309931T2 (de) Verbindung mehrerer testzugriffsportsteuerungsvorrichtungen durch ein einzeltestzugriffsport
DE3508640A1 (de) Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE10231956A1 (de) Verfahren und Vorrichtung zur systeminternen Programmierung durch einen gemeinsamen Verbindungspunkt von programmierbaren logischen Bauelementen auf mehreren Schaltungsplatinen eines Systems
DE68927984T2 (de) Logikschaltung mit einer Prüffunktion
DE102018115411A1 (de) Bereichsweise teilrekonfiguration einer programmierbaren vorrichtung
EP1754075B1 (de) Testverfahren und testvorrichtung zum testen einer integrierten schaltung
DE10231990A1 (de) Verfahren und Vorrichtung für eine serieller-Bus-JTAG-Busbrücke
DE4211162A1 (de) Asic-Prototyper
DE4327660C2 (de) Vorrichtung zum Herstellen einer und Herstellungsverfahren für eine integrierte Halbleiterschaltungsvorrichtung und elektronische Schaltungsvorrichtung
DE10213582B4 (de) Datenberechnungsvorrichtung und Verfahren zur Anwendung der Datenberechnungsvorrichtung zur Einstellung einer elektronischen Steuereinrichtung
DE10217609A1 (de) Ein-Chip-Mikrocomputer mit dynamischer Einbrenn-Testfunktion und dynamisches Einbrenn-Testverfahren dafür
DE3532484A1 (de) Anordnung zur modelldarstellung einer physikalischen elektrischen komponente in einer elektrischen logiksimulation
DE60001450T2 (de) Vorrichtung zur funktionellen Widergabe einer spezifischen integrierten Halbleiterschaltung und deren Verwendung als Emulationsvorrichtung
DE60003847T2 (de) Universelle vorrichtung sowie verfahren und werkzeuge zu ihrer verwendung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130201