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?
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;
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"
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.
Was das Problem sein kann ist "TOP_REF/D_BLOCK_0" oder <TOP_REF/D_BLOCK_0> Unterschied. Irgendwo bei Xilinx kann man umschalten, welche Schreibweise verwendet wird. Grüße, Kest
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;
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.