Sie sind auf Seite 1von 6

TTIGKEITSBERICHT VON SAID MCHAALIA

Einfhrung

Im vorliegenden Berichtszeitraum (von 01. 04. 2001 bis 30. 09. 2003) wurde der VHDL Simulator FreeHDL um Programmodule zur Generierung von CDFG (Control Data Flow Graph) Informationen erweitert und eine Waveform Komprimierungstechnik entwickelt, die die typischen Eigenschaften von digitalen Schaltungen ausnutzt. Im Folgenden wird die Waveform- Komprimierung und Dekomprimierung erlutert, danach folgt der Arbeitsplan fr den nchsten Antragszeitraum. 3 Waveform Komprimierung

Waveform Komprimierung ist eine sehr wichtige Technik im Bereich des HardwareVerifikation. Sie hat die Aufgabe, die whrend einer Simulation anfallenden Daten zu komprimieren um damit ihren Platzbedarf zu reduzieren. Die Simulationsergebnisse knnen dann vom Designer bei Bedarf benutzt werden, um das zeitliche Verhalten des Modells zu analysieren. Die Simulationsergebnisse liegen als Liste von Elementen vor, wobei jedes Element aus einem Signal, Zeit und Wert besteht. Jedes Element beschreibt den Wechsel eines Signals Signal zum Zeitpunkt Zeit. Wert ist der Wert, den das Signals nach dem Wechsel einnimmt. Leider sind die erzeugten Simulationsdaten sehr gro, so dass sie sehr viele Platz auf der Festplatte beansprucht wird (mehrere Gbytes). Zudem verbraucht die Speicherung der Daten einen erheblich Anteil an der gesamten Simulationszeit. Daher sind Verfahren erforderlich, diese Daten mglichst effizient zu erzeugen und zu speichern. Hierbei ist immer ein Kompromi zwischen dem Verbrauchten Festplattenplatz und dem Rechenaufwand, der zu Reduktion des bentigten Festplattenplatzes aufgewendet werden muss, einzugehen. Im Folgenden wird eine bersicht ber die entwickelten Verfahren und Algorithmen gegeben.

3.1 Architektur des Komprimierungssystems Die Architektur des entwickelten Komprimierungssystems ist in der Abbildung 1 zu sehen. Diese basiert auf vier verschiedenen Komponenten. Die erste umfat das Einlesen der VCD(Waveform-)Datei. Das Format einer VCD-Datei wurde schon in vorherigem Bericht beschrieben. Die brigen Komponenten werden im Folgenden erlutert

Abbildung 1: Architektur des Komprimierungssystems

Die Abbildung 1 zeigt die verschiedene Prozessen, auf die die Komprimierungstechnik basiert ist. 3.1.1 Transition-Block Separator

Der erste Komprimierungsschritt fngt mit der Trennung der Signalwerten und der Signalkennungen an. Signalkennungen werden in Form von speziellen kodierten Nummern in der VCD Datei gespeichert. Die Signalwerte werden im ASCII-Format kodiert und ebenfalls in der VCD Datei abgelegt. Durch die Trennung zwischen Signalwerten und Signalkennungen knnen verschiedene jeweils optimierte Komprimierungstechniken fr Kennungen und Werte benutzt werden. Im Detail werden zunchst alle Transitions Blcke aus dem VCD Datei gelesen und abgespeichert. Danach werden Signal IDs ( = Signalkennungen; entspricht einer Integerzahl) von der Signalwerten getrennt. Signal IDs und Signalwerte werden mit Hilfe eigenen Methode kodiert und komprimiert. Zum Schlu werden die bisher Informationsstrme vereinigt und mit herkmmlichen Daten- Komprimierungstechnik (z.B. Lempel-Ziv) weiter komprimiert.
2

3.1.2

Komprimierung der Signalkennungen

Die Komprimierung der Signalkennungen basiert auf einem sogenannten Transition Block Cache TBC. Ein Eintrag des TBC ist hierbei eine Menge von Signalkennungen, die alle zu einem bestimmten Zeitpunkt eine Transition hatten. Um einen Cache-Eintrag eindeutig zu identifizieren, ist wird fr jeden Eintrag ein eindeutigen Bezeichner definiert. Anstatt nun die Signalkennungen in die komprimierte Waveform-Datei zu speichern, wird statt dessen dieser Bezeichner abgelegt. Whrend der Komprimierung versucht das Komprimierungsmodul einen passenden CacheEintrag fr eine gegebene Menge von Signalkennungen (das sind die Kennungen der Signale, die zum aktuellen simulierten Zeitpunkt eine Transition haben) zu identifizieren. Wenn kein passender Eintrag gefunden wurde, wird ein neuer Cache-Eintrag erzeugt und die Kennungen in die komprimierte Datei gespeichert. Um den dafr verbrauchten Speicherplatz zu reduzieren, werden die Signalkennungen sortiert und dann die erste (kleinste) Signal ID in die Ausgabedatei geschrieben. Danach wird nur der Unterschied (Differenz) zur unmittelbar vorhergehenden Kennung gespeichert. Schlielich wird die variable length encoded Technik benutzt, um die definierten Kennungen weiter zu komprimieren. 3.1.3 Komprimierung der Signalwerte

Diese Komprimierungstechnik versucht die Werte der Signale innerhalb eines Models zu kodieren und dadurch zu komprimieren. Wie bei der Komprimierung der Signalkennungen werden auch die Signalwerte fr jeden Transition Block separat gespeichert. Zunchst mssen die Bitwerte in ein binres Format konvertiert werden. Tabelle 1 zeigt diese Konvertierung. Danach werden die Signalwerte des Transition Blocks in Reihenfolgen der dazugehrigen Signal-IDs sortiert. Schlielich wird die variable length encoded Technik benutz, um die Werte zu komprimieren. Um eine weitere Komprimierung der Signalwerte zu erzielen, knnen zustzlich WertprognoseTechniken benutzt werden. Diese Techniken versuchen die Werte der Signale vorauszusagen. Dann vergleichen sie die vorausgesagten Signalwerten mit den tatschlichen Werten. Dazu werden die Bitmuster beider Werden miteinander Exklusiv-Oder verknpft. Sind die beiden Werte gleich, dann entstehen dadurch Muster, die nur Null-Bits enthalten. Dies kann durch nachfolgende weitere Kodierungsverfahren ausgenutzt werden. Die Qualitt der Prognose hngt dabei vom benutzten Prognosenalgorithmus ab. Es wurden eine Reihe von Prognosealgorithmen entwickelt, die sich in der Qualitt der Vorhersage wie auch im Ressourcenbedarf (Speicher und Rechenaufwand) unterscheiden.
3

VCD Bit 0 1 x z

Binre Format 00 01 10 11

Tabelle 1: Binre Format Konvertierung

2.2 Komprimierung basiert auf CDFG: Im letzten Arbeitsabschnitt wurden die vorhergehend beschriebenen Verfahren erweitert, so dass sie den aus einem CDFG ermittelten Signalabhngigkeiten ausnutzen, um sowohl die Komprimierungsrate zu erhhen als auch den Komprimierungsvorgang zu beschleunigen. Dazu wurden Komprimierungsverfahren basierend auf den folgenden Anstzen untersucht (Abbildung 2):
1.

Selektion der gespeicherten Signale: durch genetischen Algorithmen werden die Signale, die gespeichert werden mssten, identifiziert. Dies geschieht mit Hilfe der Dependency Scheduler Softwarekomponente, die Informationen von der CDFG Scanner und Parser Softwarekomponente erhlt. Im aktuellen Berichtszeitraum wurde die Scanner und Parser Softwarekomponente erstellt. Diese Arbeit wurde bereits durchgefhrt.

2. Erstellung der komprimierten Waveform Datei basierend auf CDFG-Informationen. Im Folgenden wurden die bereits vorhanden Algorithmen erweitert, so dass die aus dem CDFG extrahierten Abhngigkeiten genutzt werden konnten, um Signale zu identifizieren, die nur einfache Kopien bzw. um einen bestimmten Zeitbetrag verzgerte Kopien anderer Signale wird. Verlufe fr diese Signale werden nicht in die Ausgabedatei abgelegt. Whrend der Dekomprimierung muss das entsprechende Programmmodul dann den Verlauf dieser entfernten Signale anhand der CDFG-Informationen rekonstruieren. Erweitert wurde dieser Ansatz dahingehend, dass auch einfache direkte Zusammenhnge zwischen Signalen bei der Komprimierung bercksichtigt. Hngt z.B. ein Signal in direkter Art und Weise von einem anderen Satz von Signalen ab, so wird dieses Signal ebenfalls nicht abgespeichert, da es whrend der Dekomprimierung einfach rekonstruiert werden kann.

Waveform Dekomprimierung basierend auf CDFG

Im nchsten Arbeitsabschnitt sollen die Mechanismen zur Dekomprimierung der komprimierten Waveform- Daten implementiert werden. Dabei handelt es sich um ein kleines zustzliches Programmmodul, das zum Dekomprimieren und berprfen der komprimierten Waveforms dient. Im einzelnen sind folgende Module zu entwickeln (Abbildung 2): 1. Dependency Analysis: Dieses Modul bestimmt die Regeln, nach denen die aus dem komprimierten Datenstromern entfernten Signale rekonstruiert werden. Diese Arbeit wurde bereits durchgefhrt, muss aber noch getestet werden. 2. Header File Decompression: Diese Komponente dekomprimiert die Daten, die zu dem Header File gehren. Diese Arbeit wurde bereits durchgefhrt und getestet. 3. Signal Value Decompression: diese Komponente dekomprimiert die Werten der Signaltransitionen basierend auf den Abhngigkeiten der Signale. Diese Arbeit ist noch nicht beendet.
V V C C D D F F i l e i l e

S C D e p e n d e n c y S c h e d P C u l e r

i m o

u m

l a t i o n T i m p r e s s i o n e H C o

Waveform Compressor

a r a m t e r V a l u o m p r e s s i o n

e a d e r F i l e m p r e s s e i o

+ W
D D B F i l e i l e C D F G S c a n n e r & P a r s e r C V C C D D F F G G F F i l e i l e o C m D p r e s s e d F i l e

a v e f o r m

o m

r e s s i o n

e p

e n

e n

c y

S D

i m u l a t i o n H T e iam d e r a l y s i s e c o m p r e D s es ic o o n m p

F i l e r e s s i o

Waveform Viewer

S D

i g n a l V a l u e e c o m p r e s s i o

a v e f o r m

e c o m

r e s s o r

a v

e f o

r m

i e w

e r

Abbildung 2: entwickelte Verfahren

Die Abbildung 2 zeigt das gesamte Komprimierungssystem, das entwickelt in diese Arbeit wird.

ZEITPLAN FR DEN BEANTRAGENTEN ZEITRAUM

Projektplan fr den folgenden Antragszeitraum : Endfertigung des Programmmoduls zur Dekomprimierung der komprimierten WaveformDatei. 1 Monat) Fertigstellen der Promotionsschrift und Publikation der Ergebnisse. (2 Monate) Voraussichtlicher Termin des Abschlusses ist Ende Sommersemester 2004 (Einschlielich Begutachtung der Promotionsschrift und abschlieender (mndlicher) Prfung). Dieses Programmodul basiert ebenso wie das entsprechende Komprimierungsprogramm auf den CDFG-Informationen fr das jeweilige Modell. (Dauer:

Gesehen und fr richtig befunden:

Das könnte Ihnen auch gefallen