Hardware Reference
In-Depth Information
Zeit |y|FIFO-Zustand
70.00ns|e2|[2:4|d3,c4]
80.00ns|d3|[3:4|c4]
90.00ns|c4|[4:4|(leer)]
100.00ns|c4|[4:4|(leer)]
110.00ns|c4|[4:5|1f]
120.00ns|c4|[4:6|1f,2e]
130.00ns|c4|[4:7|1f,2e,3d]
140.00ns|c4|[4:0|1f,2e,3d,4c]
0fs|XX|[0:0|XX,XX,XX,XX,XX,XX,XX,XX]
10.00ns|XX|[0:0|(leer)]
20.00ns|XX|[0:1|f1]
30.00ns|XX|[0:2|f1,e2]
40.00ns|XX|[0:3|f1,e2,d3]
50.00ns|XX|[0:4|f1,e2,d3,c4]
60.00ns|f1|[1:4|e2,d3,c4]
Zum Simulationsbeginn haben alle Datenteilobjekte des FIFOs ihre Anfangs-
werte, die Zeiger den Wert null, die Flags den Wert false und die Daten im
Blockspeicher den Wert »ungültig«. Im ersten Schritt wird der FIFO initiali-
siert, dann mit vier Werten beschrieben. Danach werden zwei Werte gelesen
etc. Bei jeder Schreiboperation schaltet der Schreibzeiger weiter und der FIFO
füllt sich. Bei jeder Leseoperation schaltet der Lesezeiger weiter und der FIFO
leert sich.
Für das Erkennen und die Lokalisierung potenzieller Entwurfsfehler
ist eine übersichtliche Darstellung der Simulationsergebnisse - insbe-
sondere für komplexe Datenobjekte wie einen FIFO - entscheidend.
3.4.5 UART - schrittweise Modellentwicklung
Die Entwicklung einer Verhaltensbeschreibung für eine komplexe Schaltung ist
ein langwieriger iterativer Prozess, der in überschaubare Schritte aufgeteilt
werden muss. Nach jedem Schritt sind Zwischenkontrollen erforderlich. Der
Bleistift-und-Papier-Entwurf beginnt mit Skizzen für Teilfunktionen, Beispiel-
abläufe und Algorithmenfragmente. Zur Kontrolle der einzelnen Ideen und
Funktionsskizzen ist es wichtig, bereits in frühen Entwurfsstadien Simulati-
onsmodelle und Testbeispiele aufzustellen und abzuarbeiten. Dieser Abschnitt
demonstriert, wie ein solcher Entwurf ablaufen könnte. Die Entwurfsobjekte
sind der Sender und der Empfänger für eine universelle serielle Schnittstelle
(UART -
u
niversal
a
synchronous
r
eceiver
t
ransmitter). Der Fahrplan für den
Entwurfsablauf lautet
• Ableitung von Algorithmen aus der Aufgabenstellung,
• Software-orientierte Modellierung mit Textein- und Textausgaben,
• Aufteilung der Berechnungsschritte in Zeitschritte,
• Auslagerung von Typdefinitionen und Unterprogrammen in Packages,
• Steuerung der Zeitabläufe mit Signalen (Takt, Initialisierung, Operations-
start etc.) und
• Umwandlung in eine synthesegeeignete Beschreibungsstruktur.
Jede Beschreibung, die in diesem Entwurfsablauf entsteht, benötigt einen
Testrahmen für die Simulation, um potenzielle Fehler aufzudecken und zu
beseitigen. Auch für die Zwischenergebnisse in einem solchen Prozess gibt
es gewisse Beschreibungsschablonen, die zwar nicht bindend, aber vorteilhaft
 
Search WWH ::




Custom Search