Hardware Reference
In-Depth Information
um 14idx Stellen arithmetisch (vorzeichenerweitert) nach rechts verschobe-
ne erste Faktor addiert. Der Preis für die Einsparung der beiden Multiplizierer
sind vierzehn zusätzliche Berechnungsschritte. Das heißt aber nicht unbedingt,
dass die Berechnung so viel länger dauert. Denn ohne die Multiplizierer wird
die Schaltung kleiner und einfacher und lässt sich möglicherweise mit einer
höheren Taktfrequenz betreiben.
Unser Entwurfsbeispiel endet hier, obwohl es noch nicht abgeschlossen ist.
Es gibt weitere Optimierungsmöglichkeiten. Die Signale und Zeitabläufe für
die Übernahme der Eingabedaten und die Übergabe der Ergebnisse sind noch
zu definieren und in die Modellabläufe einzupassen. Die Warteanweisungen
sind an Takten auszurichten etc. und zum Abschluss ist die ablauforientierte
Funktionsbeschreibung in eine synthesefähige Beschreibung zu transformieren.
Selbst für einen erfahrenen Entwickler ist ein Hardware-Entwurf mit
der Komplexität eines CORDIC-Rechenwerks (mehrere Tausend Gat-
ter) kaum noch ohne Zwischenschritte mit simulierbaren Teilergebnis-
sen zu lösen.
3.4.7 Zusammenfassung und Übungsaufgaben
Ein fehlerarmer Entwurf mit einem kalkulierbaren Aufwand verlangt ein plan-
volles Vorgehen. Komplexe Entwürfe sind sowohl strukturell als auch im zeit-
lichen Ablauf in separat zu testende Beschreibungen aufzuspalten. Für den
zeitlichen Entwurfsablauf empfiehlt es sich, die Zielfunktionen zuerst wie ei-
ne normale Software zu beschreiben und zu simulieren, dann mit Wartean-
weisungen die zeitlichen Abläufe einzubauen und dann iterativ die Abläufe,
die Operationen und die Datenstrukturen zu optimieren. Die so entwickel-
ten Algorithmen werden anschließend über ihre Operationsablaufgraphen in
synthesefähige Beschreibungen überführt, simuliert, synthetisiert, wieder si-
muliert und nach der Umsetzung in die Hardware getestet. Für die strukturelle
Aufteilung der Beschreibungen in den Anfangsphasen des Entwurfsprozesses
empfiehlt sich eine Auslagerung der Typvereinbarungen, der Beschreibungen
von kombinatorischen Funktionen und der Beschreibungen von Testhilfen in
Packages. Auch eine objektorientierte Modellentwicklung ist für Hardware in
einem begrenzten Maße möglich und sinnvoll. Die Berechnungsabläufe für die
kombinatorischen Funktionen sollten sich an der angestrebten Zielstruktur
der Schaltungsnachbildung orientieren. So sollten Schleifen zur Beschreibung
kombinatorischer Funktionen möglichst einen baumartigen statt einen ket-
tenartigen Berechnungsfluss haben. Weiterführende und ergänzende Literatur
siehe [11, 16, 39, 45].
Aufgabe 3.14
Entwerfen Sie eine VHDL-Funktion
Search WWH ::




Custom Search