zlotawy
Guest
Wed Jul 26, 2006 10:15 pm
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
Guest
Thu Jul 27, 2006 8:02 am
zlotawy schrieb:
Quote:
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
Guest
Thu Jul 27, 2006 10:12 pm
Użytkownik "abert zielonka" <grzegorz.domagata@chello.at> napisał w
wiadomości news:1153987337.624801.109160@p79g2000cwp.googlegroups.com...
Quote:
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
Guest
Fri Jul 28, 2006 3:50 pm
zlotawy schrieb:
Quote:
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