MIN-Fakultät
Fachbereich Informatik
TAMS
ASIC

VidTrans

EPLD basierter Transienten-Rekorder

FPL'96
Studienarbeit

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.

Frame Grabber Bild VidTrans Bild
Vollbild - Dieses Bild wurde mit einem kommerziellen Hardware Frame Grabber aufgenommen und aus dem Videosignaldatenstrom extrahiert. Halbbild - Dieses wurde mit einem Software Frame Grabber (C Programm) aus einem, mit VidTrans aufgenommenen, Videosignaldatenstrom extrahiert.

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.

System-Level

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.

CFrameDemo

''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