Hi, noch ganz frisch habe ich angefangen, mich mit Vivado und SoC zu beschäftigen und habe eine ganz generelle Frage zu den Block Designs. In einem Block Design kann man ja IO-Ports und IP Blocks miteinander vernetzen, aber auch HDL-Module. In HDLs instanziiert man ja Module in jeweils übergeordneten Modulen. Soll das Design jetzt aber als Block Design entworfen werden, müssen die Parameter eines untergeordneten Moduls als Ein- und Ausgänge des übergeordneten Moduls implementiert werden, damit man die Parameter im Blockdiagramm dann verbinden kann. Auf diese Weise wachsen die Modulköpfe aber selbst bei ganz einfachen Strukturen ganz schnell bis zur Unkenntlichkeit heran. Umständlich ist es auch. Also dass HDL-Module generell in Block Designs instanziiert werden, kann anscheinend nicht sein. So habe ich mir Block Designs aber eigentlich bis vorhin noch vorgestellt. Welche Strukturen setzt man in Block Designs um und wann bleibt man in der syntaxcodierten Beschreibung? Gibt es da Regeln? Sind Block Designs in reinen Hardware-Projekten fehl am Platz? Werden sie nur eingesetzt, wenn Hard- und Software verknüpft werden sollen oder IP Cores eingesetzt werden sollen? Ist es vielleicht so, dass stets nur das übergeordnetste HDL-Modul im Block Design auftauchen soll? Oder gibt es handlichere Vorgehensweisen, als die beschriebene, wie untergeordnete Module ins Block Design mit aufgenommen werden? Danke euch schonmal!
:
Bearbeitet durch User
Emil G. schrieb: > In HDLs instanziiert man ja Module in jeweils übergeordneten Modulen. > Soll das Design jetzt aber als Block Design entworfen werden, müssen die > Parameter eines untergeordneten Moduls als Ein- und Ausgänge des > übergeordneten Moduls implementiert werden, damit man die Parameter im > Blockdiagramm dann verbinden kann. Parameter implementierst du als Generics und nicht als Ein- und Ausgänge. Unabhängig von Blockdesign oder Text. In Vivado werden die Generics dann im GUI des jeweiligen Moduls konfiguriert. Dazu muss zu dem HDL Code eine IP Core Definition existieren, dort sind die zugehörigen Dateien, Parameter (Generics), Bus Interfaces etc. definiert. Emil G. schrieb: > Welche Strukturen setzt man in Block Designs um In Vivado generell alles was mit dem AXI on-chip Bus zu tun hat, da das Blockdesign Tool dann automatisch die benötigten Crossbarswitches etc. mit hin zu fügt und dessen Anzahl Ports etc. automatisch konfiguriert. Das spart ganz massiv Schreibarbeit. AXI kann man auch in reinen Hardwareprojekten einsetzen, kommt in der Praxis wohl aber nicht so oft vor. Meistens wird da dann schon irgendwo noch ein Hard-/Soft-Core Prozessor sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.