www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx ISE: Instantiating black box module


Autor: hhanff (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend zusammen,

ich arbeite an einem kleinen VHDL Projekt und bin beim synthetisiere auf 
die folgende Fehlermeldung gestoßen:

WARNING:Xst:2211 - "C:/Modeltech_6.2c/projects/hdl/bmp2vga_top.vhd" line 
494: Instantiating black box module <CLKDLL>.
WARNING:Xst:2211 - "C:/Modeltech_6.2c/projects/hdl/bmp2vga_top.vhd" line 
507: Instantiating black box module <BUFG>.
WARNING:Xst:2211 - "C:/Modeltech_6.2c/projects/hdl/bmp2vga_top.vhd" line 
510: Instantiating black box module <BUFG>.
WARNING:Xst:2211 - "C:/Modeltech_6.2c/projects/hdl/bmp2vga_top.vhd" line 
513: Instantiating black box module <OBUF>.

Alle Instanzierungen dienen einer Taktverdopplung mittels DLL so wie es 
im XST Manual vorgeschlagen wird. Die Simulation läuft astrein.

Meine Komponentendeklaration für z.B. CLKDLL sieht so aus:

 component CLKDLL
    port (CLKIN  : in  std_ulogic := '0';
          CLKFB  : in  std_ulogic := '0';
          RST    : in  std_ulogic := '0';
          CLK0   : out std_ulogic := '0';
          CLK90  : out std_ulogic := '0';
          CLK180 : out std_ulogic := '0';
          CLK270 : out std_ulogic := '0';
          CLK2X  : out std_ulogic := '0';
          CLKDV  : out std_ulogic := '0';
          LOCKED : out std_ulogic := '0');
  end component;

Die dazugehörige Instanziierung so:

  dll2x : CLKDLL
    port map (
      CLKIN  => CLKIN_w,
      CLKFB  => CLK2X_g,
      RST    => '0',
      CLK0   => open,
      CLK90  => open,
      CLK180 => open,
      CLK270 => open,
      CLK2X  => CLK2X_dll,
      CLKDV  => open,
      LOCKED => LOCKED2X);

Die Bibliotheken und Packages die ich eingebunden habe sind die 
Folgenden:

library IEEE;
library unisim;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
use unisim.vcomponents.all;

Für mich sieht das so aus, als könne ISE die Komponenten nicht finden 
und sie daher durch Black Boxes ersetzt. Habt Ihr eine Idee woran das 
liegen könnte? Muss ich für die Synthese noch eine Extra Bibliothek 
einbinden?

Gruß,

Hendrik

Autor: Artur Funk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Für mich sieht das so aus, als könne ISE die Komponenten nicht finden
>> und sie daher durch Black Boxes ersetzt.
Nein, falsch rum gedacht. Das ist normal, was soll ISE mit einem Modul 
anfangen, was schon als Hardware beschrieben ist. Bäähh, bin müde das 
gut zu erklären.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das eine Warnung, keine Fehlermeldung. Und sie sagt genau das richtige 
aus, nämlihc das die Komponenten nicht synthetisiert werden, weil sie 
eben schon fertig als Hardware vorliegen, und dann im späteren Map 
Schritt einfach verwendet werden.

Autor: hhanff (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verstehe. Das heisst die ganzen Blöcke die als Black Boxes beschrieben 
werden liegen schon als kompiliertes Modul vor.
Vielen Dank für Eure Nachricht.

Autor: hhanff (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... bzw. Sie sind schon als Hardware auf dem FPGA vorhanden und müßen 
nur richtig verdrahtet werden.... richtig?

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer diese Warning entfernen will :ISE hat da eine Lösung:
zwischen component - Deklaration und signal - Definition einfügen

attribute box_type : string;
attribute box_type of BUFG   : component is "black_box";
attribute box_type of CLKDLL : component is "black_box";

Gruß

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hhanff: Beides kann möglich sein. Im Falle der PLLs und BUFGs liegen sie 
bereits auf der Hardware vor und müssen nurnoch verdrahtet werden.

Komponenten, die als Netzlisten vorliegen (zB viele IP Cores von Xilinx) 
sind für den Syntheseschritt allerdings auch Blackboxes, da diese ja 
schon fertig synthetisiert sind, und dann im nächsten schritt die 
netzlisten zusammengefügt werden müssen.

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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