VidTrans
EPLD basierter Transienten-Rekorder
FPL'96Studienarbeit
Der EPLD-basierte Transientenrekorder VidTrans dient zur Aufnahme und Wiedergabe von (Farb-)Videosignalen. Die Steuerung der Schaltung sowie die Signaleingabe und Signalausgabe erfolgen über die Druckerschnittstelle eines PCs. Mit der Schaltung ist es möglich, kurze Videosequenzen aufzunehmen und zur Simulation videosignalverarbeitender Einheiten in einer VHDL-Umgebung oder Programmumgebung zu verwenden. Videosignale, die als Simulationsergebnisse vorliegen, können mit der Schaltung in Echtzeit zyklisch abgespielt und so direkt bewertet werden. So ist eine besonders systemnahe Simulation videosignalverarbeitender Einheiten möglich. Als bidirektionale Schnittstelle zwischen Simulation und Realsystem eignet sich die Schaltung auch für den Einsatz in der Lehre.
Da die verwendeten EPLDs hinreichende Integrationsdichte bei genügend hoher Geschwindigkeit aufweisen, war es möglich, den Transientenrekorder auf einer kleinen Platine mit zwei EPLDs zu realisieren. Dabei wurde der Implementationsaufwand nur durch die Verwendung von EPLDs in einem für einen derartigen Prototypen sinnvollen Rahmen gehalten.
Der Vorteil eines Eigenbaus gegenüber einem kommerziellen Gerät besteht darin, daß es so möglich ist, Signale die gleichen Signalpfade und Komponenten passieren lassen zu können, wie bei einer sich in der Entwicklung befindlichen Schaltung. Einflüsse der Systemebene auf die zu verarbeitenden Signale können einerseits an die Simulation in der VHDL-Umgebung weitergereicht werden, andererseits können Ergebnisse aus einer VHDL-Simulation an die Systemumgebung zurückgereicht werden.
Die Problematik der systemnahen Simulation wird durch die folgende Animation demonstriert: Die Extraktion einer Bildsequenz mit Hilfe eines C Programms (CFrame) aus einem aufgenommenen Videosignal funktioniert bezüglich der horizontalen Synchronisation offensichtlich zufriedenstellend. Die vertikale Synchronisation funktioniert zwar bezogen auf Einzelbilder, ist jedoch bezüglich einer Bildsequenz fehlerhaft.
''Als die Bilder Laufen lernten ...'' (8 Frames)
Die Auswertung der Synchronimpulse und Extraktion der Bldinformation
aus einem aufgenommenen Videosignal (VIDEO DATA) mit einem Programm
(CFrame) liefert Einzelbilder im PGM-Format. Diese wurden mit
xv zu Bildern einer Größe von 200x150 Bildpunkten
skaliert, als GIF-Bilder gespeichert und anschließend mit dem
Microsoft GIF Animator wieder zu einer Bildsequenz
zusammengesetzt.
Derartiges Fehlverhalten wird bei der separaten Betrachtung extrahierter Einzelbilder kaum auffallen und erst recht nicht, wenn sich die Betrachtung auf Signalverläufe beschränkt. Dabei ist das Fehlverhalten nicht etwa auf fehlerhafte Implementation zurückzuführen, sondern auf (unberücksichtigte) Abweichungen zwischen dem realen (und gestörten) Videosignal und dem idealisierten Videosignal, wie es bei der Programmentwicklung zu Grunde gelegt wurde.
Bei umgekehrter Entwicklungsreihenfolge können ähnliche Probleme auftreten. So lassen sich ''Echtheit'' und Qualität digital erzeugter Farbvideosignale nicht ausschließch durch Betrachtung von Signalverläufen, sondern erst durch Darstellung auf einem Farbfernseher abschließend beurteilen. Durch Austausch von Videosignalen zwischen Simulationen und realen Systemen kann so etwa das Verhaltens eines digitalen Simulationsmodells eines Farbfernsehers an das Verhalten realer Farbfernseher schrittweise angeglichen werden.
Alle Komponenten der Schaltung wurden in VHDL beschrieben und gemeinsam
auf der Systemebene in der VHDL-Umgebung simuliert.
Dazu wurden neben den synthetisierbaren VHDL-Modellen der beiden EPLDs
auch reine VHDL-Verhaltensmodelle der übrigen Systemkomponenten
(DRAM, Printer Port, FADC, DAC) erstellt, um die Simulation
des Gesamtsystems zu ermöglichen.
Auch das Steuerprogramm PrnTrans wurde in die VHDL-Simulation
mit einbezogen. Die Kommunikation des Steuerprogramms mit dem
VHDL-Modell der Druckerschnittstelle erfolgte über Dateien.
Die funktionale VHDL-Simulation wurde mit dem Synopsys VHDL System
Simulator durchgeführt. Die Synthese und Abbildung der
funktional validierten VHDL-Beschreibungen auf die beiden EPLDs
erfolgte mit Altera MAX+Plus II.
Die probeweise Synthese mit dem Synopsys Design Compiler, dem ES2 ecpd07 als CMOS-Zielprozess (0.7µm) und anschließende Erstellung eines Layouts mit Cadence (DF-II, Cell Ensemble) ergab einen pad-bestimmten Entwurf mit einer Chipfäche von etwa 3,9mm x 3,7mm - wobei der Core-Bereich nur etwa 1,0mm x 1,2mm ausmacht.
Hardware und Software sind im Rahmen des Promotionsvorhabens von Lars Larssson entstanden, um die VLSI-Implementation eines neuronalen Netzwerks für die Echtzeitverarbeitung von Bildern zu unterstützen. Die Schaltung wurde bei einer Studienarbeit zur digitalen Videosignalverarbeitung verwendet.
technische Information
EPLDs | 2 x Altera EPLD Typ EPM7128ELC84 |
shifter | 4 x 8 Bit Video Shift Register + 32 Bit Video Buffer |
controller | Schnittstelle zu Video Shift Register + Printer Port + DRAM |
Ausnutzungsgrad | ~ 80 % |
Pads | 84 |
FADC | Motorola MC10319 |
VDAC + Video OpAmp | 1/3 Brooktree Bt121 + 1/3 elantec EL4393C |
Systemtaktfrequenz | 30 MHz |
Abtastfrequenz | 15 MHz |
DRAM Speicher verwendet |
4 MBytes (4 x 1 MByte SIMMs) 2400000 Bytes = 8 Halbbilder (PAL) = 0,16 s |