Gibt es ein "Design Patterns" für synthetisierbare RTL?

11

Für Software ist das Buch Design Patterns eine Reihe von Mustern für allgemeine Aufgaben in Software und bietet Software-Anwendern eine allgemeine Terminologie, um einige der Komponenten zu beschreiben, die sie erstellen müssen.

Gibt es ein solches Buch oder eine solche Ressource für synthetisierbare RTL oder RTL im Allgemeinen? Dinge wie häufige Fallstricke, Design-Kompromisse, Deadlock-Überlegungen und Schnittstellendesign.

Ross Rogers
quelle

Antworten:

3

Ich habe die Erfahrung gemacht, dass Sie die Dokumente auf einem oder mehreren der gängigen Synthesewerkzeuge lesen müssen, um zu sehen, welche Entwurfsmuster sie akzeptieren und in was sie übersetzt werden.

Meistens müssen Sie wissen: - wie man Flops macht - wie man Drähte (und keine Latches) macht - wie man das Zurücksetzen handhabt (synchronisieren und / oder asynchronisieren)

Taniwha
quelle
Ich spreche von Dingen wie "Entwerfen einer Warteschlange mit virtuellen Ressourcen" oder "Anrechnungsschemata und häufige Fallstricke" oder "Wann werden Schichtabstraktionen unterbrochen?". Die Best Practices und Methoden zum Entwerfen von Komponenten. Sachen, die die Veteranen des Chipdesigns bereits kennen. Ich sehe in IEEE nicht viele praktische Designrichtlinien. Gibt es da draußen den "Code Complete" eines RTLer?
Ross Rogers
RTL-Synthesizer sind "weniger streng" als C-Compiler. Der Syntheseimplementierung bleibt noch ein gewisser Spielraum. Aus diesem Grund ist es eine gute Idee, das Dokument für den Synther zu lesen, den Sie verwenden möchten. Xilinx 'Synther ist beispielsweise XST, und es gibt ein XST-Benutzerhandbuch, in dem beschrieben wird, welche Entwurfsmuster richtige FSMs erstellen, wie das versehentliche Erstellen von Latches vermieden werden kann.
Ajs410