Aufrufe
vor 4 Jahren

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik 6.4.2 Ungewollte Latches Latches sind zustandsgesteuert und generell zu vermeiden, da sie während der gesamten Freigabedauer für Wechsel auf dem Eingangssignal transparent sind und dadurch Störsignale weiterleiten. Latches werden oft ungewollt synthetisiert. Ursache hierfür sind z.B. IF-Anweisungen, die nicht alle Fälle abdecken. Der Entwickler erfährt z.B. aus dem Synthesereport, ob und ggf. an welchen Stellen Latches synthetisiert wurden. Die betreffenden Stellen im Quellcode müssen dann gefunden und die Ursachen für die Latchsynthese beseitigt werden. Die folgenden Modelle zeigen Beispiele für die Ursache von Latches und Möglichkeiten für deren Beseitigung (Kommentarzeilen beachten). Die Modellvarianten beziehen sich auf folgende Entity: --------------------------------------------------------------------------- ENTITY d_latch IS PORT ( enable : IN STD_LOGIC; END d_latch ; d : IN STD_LOGIC; q : OUT STD_LOGIC) ; --------------------------------------------------------------------------- Modell 1: Latch-Variante mit IF-Anweisung --------------------------------------------------------------------------- ARCHITECTURE sequential_1 OF d_latch IS BEGIN PROCESS (d, enable) BEGIN IF enable = '1' THEN q

Hardware-Entwurf mit VHDL Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik Wenn das Signal enable auf ’1’ liegt, wird dem Ausgang q der Wert des Eingangs d zugewiesen. Im Falle enable = ’0’ erfolgt keine explizite Zuweisung des Ausgangs q, so daß der vorhergehende Wert beibehalten wird. Das bedeutet aber wiederum, daß der Wert gespeichert werden muß. Folglich beschreibt das obige Modell ein D-Latch. Modell 2: Latch-Variante mit CASE-Anweisung --------------------------------------------------------------------------- ARCHITECTURE sequential_2 OF d_latch IS BEGIN PROCESS (enable, d) BEGIN CASE enable IS WHEN '1' => q NULL ; -- NULL-Statement bewirkt Speicherung -- WHEN OTHERS => q

Verification.pdf
VHDL Kompakt - CES
Schaltungsdesign mit VHDL
VHDL Einführung
VHDL Design Guidelines