Active HDL bag
Izgleda da Active HDL v3.5 ima gadan bag koji onemogućava generičke
strukture (naredba generate). Pogledajte primer:
library IEEE;
use IEEE.std_logic_1164.all;
entity Tx_logika is
--ovde idu generic i port;
end Tx_logika;
architecture Tx_logika of Tx_logika is
--deklaracije komponenti
component IKOLO
port (
--portovi
);
end component IKOLO;
for all: IKOLO use entity and2 (and2);
component DFF is
port (
--portovi
);
end component DFF;
for all: DFF use entity dff (dff);
--deklaracije signala
signal nekitamo: std_logic_vector (1 to 11);
begin
GenL: for N in 1 to 11 generate
GenL0: if N=1 generate
--ovde generiše neke FF-ove
end generate;
GenL1: if N>1 generate
signal izlazANDkola: std_logic;
begin
DFF_N: DFF
port map (
--vezujemo portove i signale
);
AND_N: IKOLO
port map (
--vezujemo portove i signale
);
end generate;
end generate;
q <= nekitamo;
end Tx_logika;
Na prvi pogled je sve u redu, ali javlja:
Warning: ELAB1_0026: tx_logika.vhd : (68, 0): There is no default binding
for component "IKOLO".
Vrlo čudno, obzirom da komponenta DFF prolazi bez problema, čak i komponenta
IKOLO prolazi ako nije u generate strukturi, ali ako su obe u generate
strukturi nema šanse!!! Probao sam razne "prljave trikove" tipa da zamenim
mesta DFF_N i AND_N u generate strukturi, da zamenim njihove deklaracije na
početku arhitekture i slično ali ništa ne pomaže. Još čudnije, čak i ako je
IKOLO samo u generate strukturi, ne prolazi. Sve ovo ne bi bio neki problem
(ipak je to samo upozorenje a ne greška) ali Synplify umesto AND kola
napravi "crnu kutiju"...
Ako je neko naišao na ovaj problem (i rešio ga) ili zna gde grešim (mada sam
ubeđen da nema greške) da podeli iskustva sa nama.
Takođe molim Gvozdena, ako se ispostavi da je ovo stvarno bag, da ovo uzme u
obzir prilikom pregledanja domaćih. Dođe mi da ručno povežem 22 komponente,
tri dana sam izgubio zezajući se sa ovim :(
Poz,
-+- I V A N -+-
strukture (naredba generate). Pogledajte primer:
library IEEE;
use IEEE.std_logic_1164.all;
entity Tx_logika is
--ovde idu generic i port;
end Tx_logika;
architecture Tx_logika of Tx_logika is
--deklaracije komponenti
component IKOLO
port (
--portovi
);
end component IKOLO;
for all: IKOLO use entity and2 (and2);
component DFF is
port (
--portovi
);
end component DFF;
for all: DFF use entity dff (dff);
--deklaracije signala
signal nekitamo: std_logic_vector (1 to 11);
begin
GenL: for N in 1 to 11 generate
GenL0: if N=1 generate
--ovde generiše neke FF-ove
end generate;
GenL1: if N>1 generate
signal izlazANDkola: std_logic;
begin
DFF_N: DFF
port map (
--vezujemo portove i signale
);
AND_N: IKOLO
port map (
--vezujemo portove i signale
);
end generate;
end generate;
q <= nekitamo;
end Tx_logika;
Na prvi pogled je sve u redu, ali javlja:
Warning: ELAB1_0026: tx_logika.vhd : (68, 0): There is no default binding
for component "IKOLO".
Vrlo čudno, obzirom da komponenta DFF prolazi bez problema, čak i komponenta
IKOLO prolazi ako nije u generate strukturi, ali ako su obe u generate
strukturi nema šanse!!! Probao sam razne "prljave trikove" tipa da zamenim
mesta DFF_N i AND_N u generate strukturi, da zamenim njihove deklaracije na
početku arhitekture i slično ali ništa ne pomaže. Još čudnije, čak i ako je
IKOLO samo u generate strukturi, ne prolazi. Sve ovo ne bi bio neki problem
(ipak je to samo upozorenje a ne greška) ali Synplify umesto AND kola
napravi "crnu kutiju"...
Ako je neko naišao na ovaj problem (i rešio ga) ili zna gde grešim (mada sam
ubeđen da nema greške) da podeli iskustva sa nama.
Takođe molim Gvozdena, ako se ispostavi da je ovo stvarno bag, da ovo uzme u
obzir prilikom pregledanja domaćih. Dođe mi da ručno povežem 22 komponente,
tri dana sam izgubio zezajući se sa ovim :(
Poz,
-+- I V A N -+-
- Follow-Ups:
- RE: Active HDL bag
- From: "Gvozden Marinkovic" <mgvozden@eunet.yu>
- RE: Active HDL bag
- From: "Gvozden Marinkovic" <mgvozden@eunet.yu>
- RE: Active HDL bag
Previous by date: Kopiranje knjiga
Next by date: pitanje za Gvozdena
Previous by thread: Re: Vezbe? Next by thread: RE: Active HDL bag
Previous by thread: Re: Vezbe? Next by thread: RE: Active HDL bag