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


von hhanff (Gast)


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

von Artur Funk (Gast)


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.

von Matthias (Gast)


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.

von hhanff (Gast)


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.

von hhanff (Gast)


Lesenswert?

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

von T.Stütz (Gast)


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ß

von Matthias (Gast)


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.

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
Noch kein Account? Hier anmelden.