Hi
Ich habe ein kleines Problem und suche jetzt scho 2 Stunden nach einer
Lösung.
Es ist eig. ganz einfach:
Ich habe ein FIFO mit Generics das ich in einem anderen Modul benutzen
möchte.
Doch in dem Modul brauche ich 2 FIFOs, mit unterschiedlichen
Datenbreiten usw.
Also Binde ich das FIFO so ein:
1 | component AsyncFIFO
|
2 | generic( Width : integer := 32;
|
3 | Depth : integer := 64;
|
4 | AdressWidth : integer := 6;
|
5 | RamTypeFifo : string := "Block");
|
6 | port( ReadCLK : In std_logic;
|
7 | WriteCLK : In std_logic;
|
8 | ReadCE : In std_logic;
|
9 | WriteCE : In std_logic;
|
10 | RST : In std_logic;
|
11 | Din : In std_logic_vector(Width-1 downto 0);
|
12 | RE : In std_logic;
|
13 | WE : In std_logic;
|
14 | Dout : Out std_logic_vector(Width-1 downto 0);
|
15 | Empty : Out std_logic;
|
16 | Full : Out std_logic);
|
17 | end component;
|
Und gebe denn später zweimal Unterschiedliche Generics an:
1 | CommandFIFO: AsyncFIFO
|
2 | generic map(Width => 26,
|
3 | Depth => 4,
|
4 | AdressWidth => 2,
|
5 | RamTypeFifo => "Distributed")
|
6 | port map(ReadCLK => CLK,
|
7 | WriteCLK => UI_CLK,
|
8 | ReadCE => CE,
|
9 | WriteCE => CE,
|
10 | RST => RST,
|
11 | Din => CommandFIFO_Din,
|
12 | Dout => CommandFIFO_Dout,
|
13 | RE => NewCommandEnable,
|
14 | WE => CMD_WE,
|
15 | Empty => CMD_Empty,
|
16 | Full => CMD_Full);
|
17 |
|
18 | DataInFIFO: AsyncFIFO
|
19 | generic map(Width => 128,
|
20 | Depth => 16,
|
21 | AdressWidth => 4,
|
22 | RamTypeFifo => "Block")
|
23 | port map(ReadCLK => CLK,
|
24 | WriteCLK => UI_CLK,
|
25 | ReadCE => CE,
|
26 | WriteCE => CE,
|
27 | RST => RST,
|
28 | Din => DataIn,
|
29 | Dout => DataInput,
|
30 | RE => NewDataEnable,
|
31 | WE => DataIn_WE,
|
32 | Empty => DataIn_Empty,
|
33 | Full => DataIn_Full);
|
Problem ist jetzt dass, das ISE nat. meckert von wegen das die Instanz
z.B. eine andere Signal Breite bei Dout hat als es die Componente hat.
1 | ERROR:Xst:2587 - Port <Dout> of instance <DataInFIFO> has different type in definition <AsyncFIFO>.
|
So, dafür muss es ja iwie eine einfache Lösung geben und deswegen hoffe
ich einfach auf eure Hilfe :)
Gruß Max