Forum: FPGA, VHDL & Co. Vivado MMCM VDHL Instanz erzeugen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Michael (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Hallo Leute,

bisher habe ich immer mit ISE 14.7 gearbeitet. Nun möchte ich mal den
neuen Artix 7 FPGA ausprobieren und habe hierzu den VIVADO 2020.1
installiert. Nun habe ich ein Projekt erstellt und unter den
Projekteinstellungn VHDL ausgewähl.

Als nächste habe den IP-Core Generator gestartet und den IP-Core MMCM
gewählt. Dort habe ich alles konfiguriert und dann auf OK geklickt.
Anschließen erscheint das XCI-File in meinem Projekt. Jetzt möchte ich
den Core verwenden. Normalerweise kenne ich das so das es dann einen
VHDL-Wrapper gibt und ich somit die Instanz benutzen kann. Jedoch gibt
es nur einen Verilog-Wrapper mit dem ich mich leider nicht besonders gut
auskenne.

Wie kann ich den konfigurierten IO-Core denn jetzt verwenden?

von Gustl B. (-gb-)


Bewertung
0 lesenswert
nicht lesenswert
Im Ordner des IPs liegt eine .vho Datei. Die ist genau das was du 
suchst.

von Michael (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Allein die neue Ordnerstruktur ist ja ein Horror und dann die ultra 
lange Namen und die ganzen Pfade. Wer soll da denn noch durchsehen.

von Michael (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank ich glaube ich habe es gefunden.



------------------------------------------------------------------------ 
------
--  Output     Output      Phase    Duty Cycle   Pk-to-Pk     Phase
--   Clock     Freq (MHz)  (degrees)    (%)     Jitter (ps)  Error (ps)
------------------------------------------------------------------------ 
------
-- clk_out1__50.00000______0.000______50.0______522.315____668.310
--
------------------------------------------------------------------------ 
------
-- Input Clock   Freq (MHz)    Input Jitter (UI)
------------------------------------------------------------------------ 
------
-- __primary__________12.000____________0.010


-- The following code must appear in the VHDL architecture header:
------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG
component MMCM_IP
port
 (-- Clock in ports
  -- Clock out ports
  clk_out1          : out    std_logic;
  -- Status and control signals
  reset             : in     std_logic;
  locked            : out    std_logic;
  clk_in1           : in     std_logic
 );
end component;

-- COMP_TAG_END ------ End COMPONENT Declaration ------------
-- The following code must appear in the VHDL architecture
-- body. Substitute your own instance name and net names.
------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG
your_instance_name : MMCM_IP
   port map (
  -- Clock out ports
   clk_out1 => clk_out1,
  -- Status and control signals
   reset => reset,
   locked => locked,
   -- Clock in ports
   clk_in1 => clk_in1
 );

von Michael (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Auch die ganzen Ausgaben sind so eindeutig

export_simulation -of_objects [get_files {{d:/FPGA 
Firmware/Artix7_SDK_CMOD_A7/Artix7_SDK_CMOD_A7.srcs/sources_1/ip/MMCM_IP 
/MMCM_IP.xci}}]  -directory {D:/FPGA 
Firmware/Artix7_SDK_CMOD_A7/Artix7_SDK_CMOD_A7.ip_user_files/sim_scripts 
}  -ip_user_files_dir {D:/FPGA 
Firmware/Artix7_SDK_CMOD_A7/Artix7_SDK_CMOD_A7.ip_user_files} 
-ipstatic_source_dir {D:/FPGA 
Firmware/Artix7_SDK_CMOD_A7/Artix7_SDK_CMOD_A7.ip_user_files/ipstatic} 
-lib_map_path [list {modelsim=D:/FPGA 
Firmware/Artix7_SDK_CMOD_A7/Artix7_SDK_CMOD_A7.cache/compile_simlib/mode 
lsim}  {questa=D:/FPGA 
Firmware/Artix7_SDK_CMOD_A7/Artix7_SDK_CMOD_A7.cache/compile_simlib/ques 
ta}  {riviera=D:/FPGA 
Firmware/Artix7_SDK_CMOD_A7/Artix7_SDK_CMOD_A7.cache/compile_simlib/rivi 
era}  {activehdl=D:/FPGA 
Firmware/Artix7_SDK_CMOD_A7/Artix7_SDK_CMOD_A7.cache/compile_simlib/acti 
vehdl}]  -use_ip_compiled_libs -force -quiet

Länger gets kaum noch

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Die ganzen generierten Dateien sollte man bei Vivado auch nicht ändern, 
sondern sich seine eigene Quelltextstruktur außerhalb dieses Bereichs 
schaffen. Außerdem hat es sich als sehr praktikabel erwiesen, Projekte 
auf Basis eines Blockdesign zu erstellen und anschließend das Projekt 
samt Blockdesign als TCL-Skript zu exportieren.

Noch ein Hinweis: Mit Leerzeichen in Datei- oder Verzeichnisnamen kommst 
Du früher oder später in Teufels Küche...

von Michael (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe schon immer Blockdesigns in ISE benutzt und Components im 
Schematic minteinander verbunden. Dies war viel übersichtlicher als nur 
Code zu schreiben. Ich dachte jedoch das der "alte ISE" Schematic Editor 
schon schlecht war aber der neue ist ja noch viel schlimmer. Das sieht 
ja aus wie Kraut und Rüben alles durcheinander verbunden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.