Angabe von Instanzen im ucf

Gast #671654
Lesenswert?
• ▲
▼
Hi,

ich will die BRAMS fest im FPGA platzieren, nur leider kommt folgende 
Fehlermeldung:

Could not find instance(s) 'BER_MEAS/USER/TOP_REF/D_BLOCK_0' in the 
design.  To suppress this error, specify the correct instance name or 
remove the constraint.


Im ucf-File habe ich folgende Zeile angegeben:
INST "BER_MEAS/USER/TOP_REF/D_BLOCK_0" LOC = "RAMB16_X2Y6";

Ich habe keinen Instanznamen ausgelassen. Gibt es irgendwelche Tricks?
Gast #671708
Lesenswert?
• ▲
▼
Hallo Rick,

im RTL-Viewer heisst die Instanz genauso. Woran könnte es noch liegen?

Ich habe meine BRAMs nicht als ramb16_s36_s36 implementiert sondern ein 
Synthese Construct von Xilinx verwendet und als Komponente abgelegt.


type ram_type is array (511 downto 0) of std_logic_vector (8 downto 0);
signal   Sig_RAM : ram_type;
begin


process (<clockA>)
begin
   if (<clockA>'event and <clockA> = '1') then
      if (<enableA> = '1') then
         if (<write_enableA> = '1') then
            Sig_RAM(conv_integer(<addressA>)) <= <input_dataA>;
         end if;
      end if;
   end if;
end process;

process (<clockB>)
begin
   if (<clockB>'event and <clockB> = '1') then
      if (<enableB> = '1') then
         <ram_outputB> <= <ram_name>(conv_integer(<addressB>));
      end if;
   end if;
end process;
Gast #671709
Lesenswert?
• ▲
▼
Egon wrote:
> Hi,
>
> ich will die BRAMS fest im FPGA platzieren, nur leider kommt folgende
> Fehlermeldung:
>
> Could not find instance(s) 'BER_MEAS/USER/TOP_REF/D_BLOCK_0' in the
> design.  To suppress this error, specify the correct instance name or
> remove the constraint.
>
>
> Im ucf-File habe ich folgende Zeile angegeben:
> INST "BER_MEAS/USER/TOP_REF/D_BLOCK_0" LOC = "RAMB16_X2Y6";
>
> Ich habe keinen Instanznamen ausgelassen. Gibt es irgendwelche Tricks?

1) Pfad (Path) bedeutet nicht Pfad der Datei auf der festplatte sondern 
innerhalb der Designhierarchie. Hast du den BRAM in deinem Top-Level 
(Name der obersten Entity als D_BLOCK_0 instanziert lautet der Pfad:
TOP_REF/D_BLOCK_0
2) Groß/Kleinschreibung kann das Problem sein, oder es werden andere 
Schrägstriche erwartet.
3)Man die Pfade mit * als Jokerzeichen abkürzen, also
 INST "*D_BLOCK_0"
Gast #671745
Lesenswert?
• ▲
▼
1) Pfad (Path) bedeutet nicht Pfad der Datei auf der festplatte sondern
innerhalb der Designhierarchie. Hast du den BRAM in deinem Top-Level
(Name der obersten Entity als D_BLOCK_0 instanziert lautet der Pfad:
TOP_REF/D_BLOCK_0

--> ???

2) Groß/Kleinschreibung kann das Problem sein, oder es werden andere
Schrägstriche erwartet.

--> ich habe alles mehrmals überprüft, ich finde keine Unterschiede


3)Man die Pfade mit * als Jokerzeichen abkürzen, also
 INST "*D_BLOCK_0"

--> das habe ich auch schon probiert, er findet die Instanz einfach 
nicht.
Gast #671761
Lesenswert?
• ▲
▼
Schreib Labels um deinen source und versuche es damit:

INST "*toller_labelname*" LOC = "RAMB16_X2Y6";



architecture .. of .. is
...
begin
toller_labelname:BLOCK is
Begin

type ram_type is array (511 downto 0) of std_logic_vector (8 downto 0);
signal   Sig_RAM : ram_type;

process (<clockA>)
begin
   if (<clockA>'event and <clockA> = '1') then
      if (<enableA> = '1') then
         if (<write_enableA> = '1') then
            Sig_RAM(conv_integer(<addressA>)) <= <input_dataA>;
         end if;
      end if;
   end if;
end process;

process (<clockB>)
begin
   if (<clockB>'event and <clockB> = '1') then
      if (<enableB> = '1') then
         <ram_outputB> <= <ram_name>(conv_integer(<addressB>));
      end if;
   end if;
end process;

end block toller_labelname;
...
end architecture;

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.