Hallo zusammen Ich versuche, auf Xilinx UltraScale das EMIF/MIG Beispieldesign auf VHDL ans laufen zu kriegen, weiss aber nicht genau wie das gehen soll. Was ich habe: sim_tb_top.sv und darin eingebettet example_top.sv (Memory-I/F und Datengenerator) ddr4_model.sv (DDR4-Modell, nicht im Klartext verfügbar) Alles in Verilog Wie setze ich das nun in VHDL um. Ich klemme mich and das in interface.sv definierte I/F, scheitere aber mit folgenden Errors: MAX_ROW_ADDR_BITS is not declared [D:/home_nobackup/vivadotraining/KCU105_MYMIG/ddr4_0_example/ddr4_0_exam ple.srcs/sim_1/imports/tb/ddr4_model/StateTableCore.sv:65] MAX_RANKS is not declared [D:/home_nobackup/vivadotraining/KCU105_MYMIG/ddr4_0_example/ddr4_0_exam ple.srcs/sim_1/imports/tb/ddr4_model/StateTableCore.sv:66 ... und dann irgendwann INFO: [#UNDEF] Sorry, too many errors.. Die (vermutlichen) Generics MAX_ROW_ADDR_BITS, MAX_RANKS, ... kommen jedoch in interface.sv nicht vor. Hat das schon jemand gemacht, oder gibt es irgendwo Doku, wie das Modell in VHDL sauber eingebunden werden kann/soll? Marci!
Gelöst habe ich die Aufgabe noch nicht, aber für die reine Memory-Simulation einen Workaround gefunden: Statt das SystemVerilog-DDR4-Modell ins VHDL einzubinden nehme ich gleich die ganze Simulations-Infrastruktur vom Beispiel-Design und ersetze im sim_tb_top.sv das Modul example_top.sv durch mein eigenes VHDL-Top, welches einen Memory-BIST enthält. Nicht wirklich "straight forward" aber geht fürs Erste (ein weiteres Kapitel zum Themea "Der Ingenieur ist dazu da den Tools das Leben zu erleichtern")
Nachtrag: Vivado hat offensichtlich Probleme mit der Co-Simulation von .vhdl-Entities die .sv-Quellen untergeordnet sind, wenn diese Ports des Typs "inout" enthalten. Für die Simulation basierend auf dem EMIF-Example-Design "ddr4_0_example" bedeutet dies, dass die eigene Schaltung nicht das Level "example_top.sv" ersetzen kann, sondern erst auf Stufe "example_tb.sv" eingegriffen wird.
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.