vhdll
zlotawy - 15-08-2006 19:30
vhdll witam,
mam takie szybkie pytanie..
powiedzmy ze mam
component IOBUF
port (O : out STD_ULOGIC;
IO : inout STD_ULOGIC;
I : in STD_ULOGIC;
T : in STD_ULOGIC);
end component;
z bliblioteki UNISIM Xilinx.
Teraz chce do tego podlaczyc urzadzeni zewnetrzne, to znaczy takie ktore by
odbieralo dane z IO, oraz wysylalo je ta sama linia.
generalnie na chlopski rozum wszystko jest proste. Gdy T odcina nadawce,
wtedy odbiorca moze nadawac.
ale jak tu uniknac Multi-source in Unit??
jesli odbiorce zmapuje to musze jego wyjscie pod cos podlaczyc, jesli
podlacze pod szyne IO, to niestety bedzie multi source...
ktos moze ma jakis pomysl?
zlotawy
abert zielonka - 15-08-2006 19:30
zlotawy schrieb:
> Teraz chce do tego podlaczyc urzadzeni zewnetrzne, to znaczy takie ktore by
> odbieralo dane z IO, oraz wysylalo je ta sama linia.
>
> generalnie na chlopski rozum wszystko jest proste. Gdy T odcina nadawce,
> wtedy odbiorca moze nadawac.
>
> ale jak tu uniknac Multi-source in Unit??
>
> jesli odbiorce zmapuje to musze jego wyjscie pod cos podlaczyc, jesli
> podlacze pod szyne IO, to niestety bedzie multi source...
>
> ktos moze ma jakis pomysl?
Zalezy z czym dokladnie masz problem:
wersja 1) nie wiesz jak powiedzec "swojemu" modolowi zeby przestal
nadawac?
Przypisz mu stan "Z" (cos w stylu data <= 'Z' when
enable='1' else data_src; )
wersja 2) usilujesz zbudowac magistrale wewnetrz scalaka (wszystkie
unity komunikujace sie po linii IO siedza w tym samym ukladzie) -
kompilator ostrzega ze wewnetrze bloki nie udostepniaja takiej
funkcjonalnosci i ze sprobuje ja zasymulowac przy pomocy multiplekserow
- dziala to tak sobie i najrozsadniej jest zmienic projekt.
GRG
zlotawy - 15-08-2006 19:30
Użytkownik "abert zielonka" <grzegorz.domagata@chello.at> napisał w
wiadomości news:1153987337.624801.109160@p79g2000cwp.googlegr oups.com...
>
> zlotawy schrieb:
>
>> Teraz chce do tego podlaczyc urzadzeni zewnetrzne, to znaczy takie ktore
>> by
>> odbieralo dane z IO, oraz wysylalo je ta sama linia.
>>
>> generalnie na chlopski rozum wszystko jest proste. Gdy T odcina nadawce,
>> wtedy odbiorca moze nadawac.
>>
>> ale jak tu uniknac Multi-source in Unit??
>>
>> jesli odbiorce zmapuje to musze jego wyjscie pod cos podlaczyc, jesli
>> podlacze pod szyne IO, to niestety bedzie multi source...
>>
>> ktos moze ma jakis pomysl?
> Zalezy z czym dokladnie masz problem:
> wersja 1) nie wiesz jak powiedzec "swojemu" modolowi zeby przestal
> nadawac?
> Przypisz mu stan "Z" (cos w stylu data <= 'Z' when
> enable='1' else data_src; )
> wersja 2) usilujesz zbudowac magistrale wewnetrz scalaka (wszystkie
> unity komunikujace sie po linii IO siedza w tym samym ukladzie) -
> kompilator ostrzega ze wewnetrze bloki nie udostepniaja takiej
> funkcjonalnosci i ze sprobuje ja zasymulowac przy pomocy multiplekserow
> - dziala to tak sobie i najrozsadniej jest zmienic projekt.
to drugie, dzieki :-)
czyli gdy wyprowadze IO na kraniec FPGA i wyjde z chipu, to powinno byc ok.
zlotawy
grg12 - 15-08-2006 19:31
zlotawy schrieb:
>
> czyli gdy wyprowadze IO na kraniec FPGA i wyjde z chipu, to powinno byc ok.
Zasadniczo tak - tylko uzyj sygnalow typu std_logic zamiast std_ulogic.
To praktycznie to samo tylko std_logic obsluguje poprawnie multiple
source a std_ulogic nie. Jesli uzyjesz std_logic projekt powinien byc
kompilowalny nawet bez zmian konstrukcyjnych - do symulacji
przynajmniej bo z ukladaniem tego w hardware beda problemy (jak w
poprzednim liscie)
GRG
zanotowane.pldoc.pisz.plpdf.pisz.plkonstruktor.keep.pl