Moin,
Ich arbeite mit ISE-Webpack 12.3 und nem Spartan 3ES100.
Ich versuche jetzt schon seit einiger Zeit einen FIFO-Core, den ich mit
Core-Gen selbst erstellt habe, in meinen Code einzubinden. Allerdings
lautet die aktuelle Fehlermeldung "ERROR:Xst:2369 - Empty project file
##.prj".
Ich bin, wie in der Hilfe angegeben, verfahren und habe COMPONENT
Declaration und INSTANTIATION Template in meinen Code eingefügt. Ich
habe auch entsprechend die Pinbezeichnungen geändert, das UCF-File und
das NGC-File sind auch ins Projekt eingebunden. Das NGC-File ist direkt
eingebunden, sonst meckert er das er keine Pin-Zuweisungen hat und er
nicht routen wird.
Ich hänge mal hier den Hauptcode und das UCF-File an:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
Library XilinxCoreLib;
ENTITY FIFO_8Bit_test IS
port (
clk1: IN std_logic;
srst1: IN std_logic;
din1: IN std_logic_VECTOR(7 downto 0);
wr_en1: IN std_logic;
rd_en1: IN std_logic;
dout1: OUT std_logic_VECTOR(7 downto 0);
full1: OUT std_logic;
almost_full1: OUT std_logic;
wr_ack1: OUT std_logic;
overflow1: OUT std_logic;
empty1: OUT std_logic;
almost_empty1: OUT std_logic;
valid1: OUT std_logic;
underflow1: OUT std_logic;
data_count1: OUT std_logic_VECTOR(7 downto 0));
END FIFO_8Bit_test;
ARCHITECTURE use_core OF FIFO_8Bit_test IS
component FIFO_8Bit_test
port (
clk: IN std_logic;
srst: IN std_logic;
din: IN std_logic_VECTOR(7 downto 0);
wr_en: IN std_logic;
rd_en: IN std_logic;
dout: OUT std_logic_VECTOR(7 downto 0);
full: OUT std_logic;
almost_full: OUT std_logic;
wr_ack: OUT std_logic;
overflow: OUT std_logic;
empty: OUT std_logic;
almost_empty: OUT std_logic;
valid: OUT std_logic;
underflow: OUT std_logic;
data_count: OUT std_logic_VECTOR(7 downto 0));
end component;
-- Synplicity black box declaration
attribute syn_black_box : boolean;
attribute syn_black_box of FIFO_8Bit_test: component is true;
Begin
FIFO_8Bit_test1 : FIFO_8Bit_test
port map (
clk => clk1,
srst => srst1,
din => din1,
wr_en => wr_en1,
rd_en => rd_en1,
dout => dout1,
full => full1,
almost_full => almost_full1,
wr_ack => wr_ack1,
overflow => overflow1,
empty => empty1,
almost_empty => almost_empty1,
valid => valid1,
underflow => underflow1,
data_count => data_count1);
end use_core;
UCF-File:
NET "clk1" LOC = "M6";
NET "clk1" CLOCK_DEDICATED_ROUTE = FALSE;
NET "rst1" LOC = "G12"; # Bank = 2, Signal name = SW0
NET "rd_en1" LOC = "C11" ;
NET "wr_en1" LOC = "M4" ;
NET "din(0)1" LOC = "N3" ;
NET "din(1)1" LOC = "E2" ;
NET "din(2)1" LOC = "F3" ;
NET "din(3)1" LOC = "G3" ;
NET "din(4)1" LOC = "B4" ;
NET "din(5)1" LOC = "K3" ;
NET "din(6)1" LOC = "L3" ;
NET "din(7)1" LOC = "P11" ;
NET "full1" LOC = "A9" ;
NET "almost_full1" LOC = "B9" ;
NET "wr_ack1" LOC = "A10" ;
NET "overflow1" LOC = "C9" ;
NET "empty1" LOC = "C12" ;
NET "almost_empty1" LOC = "A13" ;
NET "valid1" LOC = "C13" ;
NET "underflow1" LOC = "D12" ;
NET "data_count(0)1" LOC = "G1" ;
NET "data_count(1)1" LOC = "P4" ;
NET "data_count(2)1" LOC = "N4" ;
NET "data_count(3)1" LOC = "N5" ;
NET "data_count(4)1" LOC = "P6" ;
NET "data_count(5)1" LOC = "P7" ;
NET "data_count(6)1" LOC = "M11" ;
NET "data_count(7)1" LOC = "M5" ;
NET "dout(0)1" LOC = "B2" ;
NET "dout(1)1" LOC = "A3" ;
NET "dout(2)1" LOC = "J3" ;
NET "dout(3)1" LOC = "B5" ;
NET "dout(4)1" LOC = "C6" ;
NET "dout(5)1" LOC = "B6" ;
NET "dout(6)1" LOC = "C5" ;
NET "dout(7)1" LOC = "B7" ;
Das .prj-File weswegen er momentan meckert ist leer.
Wäre sehr nett wenn mir damit jemand helfen könnte.
MfG Echo
Hat sich erledigt. Hab statt des Core-Gen-Moduls den Code von Herrn Miller nutzen können.
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.