Arbeitsumgebung des FPGA Boards von PLDA Marc Schiffner Oldenburg 2002 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Überblick Warum verwenden wir FPGAs? Vorstellung des FPGA Boards Vorgehensweise bei der Benutzung Probleme 21.09.2018 Steuerung eines Mikroroboters im REM
Warum verwenden wir FPGAs? Ziel: Schaltungsdesign entwickeln (Chip) Problem: Wiederholte Chipfertigung dauert zu lange und ist zu teuer Schaltung wird auf FPGA programmiert und kann getestet werden Rasches Prototyping mit FPGAs möglich Wir verwenden ein PCI FPGA Board 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Systemüberblick Host FPGA Treibersoftware PCI Anbindung Software- Umgebung Hardware- Design PCI Bus 21.09.2018 Steuerung eines Mikroroboters im REM
Das PCIGEN10K FPGA Board von PLDA 21.09.2018 Steuerung eines Mikroroboters im REM
Was wird auf die FPGAs programmiert? FPGAs sind zunächst leer Es wird Logik benötigt, die die PCI Bus Kommunikation übernimmt (PCI-Core) Das eigene Design (Backend) 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Vorgehensweise Design erstellen (incl. PCI-Core) Mit Max+plusII Layout Synthese durchführen Board programmieren Warmstart des Systems 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Design erstellen PCI Wizard design.vhd core.vhd top-level-design.vhd Design erstellen (incl. PCI-Core) Mit Max+plusII Layout Synthese durchführen Board programmieren Warmstart des Systems top-level-design.edf Logik Synthese 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Max+plusII top-level-design.edf top-level-design.acf Design erstellen (incl. PCI-Core) Mit Max+plusII Layout Synthese durchführen Board programmieren Warmstart des Systems top-level-design.sof 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Board Programmieren Programmiersoftware ist in Max+plusII integriert Programmierung geschieht seriell über BitBlaster, der an den JTAG Port des FPGA Boards angeschlossen ist Design erstellen (incl. PCI-Core) Mit Max+plusII Layout Synthese durchführen Board programmieren Warmstart des Systems 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Warmstart des Systems Durch den Warmstart des Systems wird das programmierte FPGA Board in einen definierten Anfangszustand versetzt Beim Booten reagiert PCI-Core auf Systemanforderungen und das Board wird ins System eingebunden Design erstellen (incl. PCI-Core) Mit Max+plusII Layout Synthese durchführen Board programmieren Warmstart des Systems 21.09.2018 Steuerung eines Mikroroboters im REM
Weitere Vorgehensweise Treibergenerierung mit Hilfe von WinDriver Software zur Kommunikation mit dem Design erstellen 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM WinDriver Applikation User Code WinDriver User Mode Library User Mode Kernel Mode I/O WinDriver Kernel FPGA Board 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Gesamtbild Host FPGA PCI Software- Umgebung Backend WinDriver PCI Core 21.09.2018 Steuerung eines Mikroroboters im REM
Steuerung eines Mikroroboters im REM Probleme Design muß (incl. PCI-Core) auf FPGA passen Beschränkte Debugging Möglichkeiten Mehrere logische Kommunika-tionskanäle über einen physischen 21.09.2018 Steuerung eines Mikroroboters im REM