Re: FPGA Altery bootujšce się z szeregowego EPROM/FLASH



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: FPGA Altery bootujšce się z szeregowego EPROM/FLASH
Date: Mon, 27 Sep 2004 17:56:37 +0200


On Mon, 27 Sep 2004 08:51:29 -0500, Pszemol wrote:
"jerry1111" <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl> wrote in message news:eqffl09q929d6aeofe0vibitd55q56j56u_at_nospam_4ax.com...
W przykladowych designach z Niosem2 masz pin resetu podlaczony
do procka przez taki uklad 'reset delay' czy podobnie sie nazywajacy.
Glownie chodzi o to, ze przychodzacy impuls resetu jest asynchroniczny
- czyli jak mamy uklad reagujacy na narastajace zbocze i reset
przyjdzie np: 1ns przed tym zboczem to czesc DFFow sie zresetuje, a
czesc ma prawo nie zdazyc :-)
Dlatego trza ten reset przeformowac na synchroniczny z naszym
zegarkiem.

Ciekawe, ciekawe... dlaczego ma prawo nie zdążyć?

propagacja troche trwa. W dodatku producenci sie skupiaja na podawaniu
maksymalnych czasow propagacji .. a minimalnych nie podaja.

Nie wiedziałem, że są takie ograniczenia dla asynchronicznego "clear".
Musiałem nieuważać kiedyś na lekcjach z cyfrówki ;-)

No wlasnie, tez mnie to dziwi :-)

CHyba ze problem taki jak kiedys z Z80 - reset nie w pore powodowal
puszczenie roznych glitchy na magistrale ..

J.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: =?iso-8859-2?Q?Re:_FPGA_Altery_bootuj=B9ce_si=EA_z_szeregowego_EPROM/FLASH?=
Date: Mon, 27 Sep 2004 12:11:42 -0500


"J.F." <jfox_nospam_at_nospam_poczta.onet.pl> wrote in message news:6rbgl09hb43io603nlldu2gddlmi6sfalg_at_nospam_4ax.com...
On Mon, 27 Sep 2004 08:51:29 -0500, Pszemol wrote:
"jerry1111" <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl> wrote in message news:eqffl09q929d6aeofe0vibitd55q56j56u_at_nospam_4ax.com...
W przykladowych designach z Niosem2 masz pin resetu podlaczony
do procka przez taki uklad 'reset delay' czy podobnie sie nazywajacy.
Glownie chodzi o to, ze przychodzacy impuls resetu jest asynchroniczny
- czyli jak mamy uklad reagujacy na narastajace zbocze i reset
przyjdzie np: 1ns przed tym zboczem to czesc DFFow sie zresetuje, a
czesc ma prawo nie zdazyc :-)
Dlatego trza ten reset przeformowac na synchroniczny z naszym
zegarkiem.

Ciekawe, ciekawe... dlaczego ma prawo nie zdążyć?

propagacja troche trwa. W dodatku producenci sie skupiaja na podawaniu
maksymalnych czasow propagacji .. a minimalnych nie podaja.

No ale reset trwa "trochę"... U mnie jakieś 6 ms. Jak się zacznie
1ns przed zboczem aktywnym zegara to przecież nawet jak to zbocze
się zgubi to zdązy się zresetować jeszcze 100 razy po zboczu, nie?

Nie wiedziałem, że są takie ograniczenia dla asynchronicznego "clear".
Musiałem nieuważać kiedyś na lekcjach z cyfrówki ;-)

No wlasnie, tez mnie to dziwi :-)

CHyba ze problem taki jak kiedys z Z80 - reset nie w pore powodowal
puszczenie roznych glitchy na magistrale ..

Nie mam pojęcia, niestety...
Zrobiłem analizę "timing analyzer" (nie wiem czy to ten post-routing
co mi Mister zaproponował) i mam 107 ostrzeżeń, ale większość dotyczy
o dziwo, modułów bibliotecznych, np. "combinational loop of 2 nodes"
w elemencie fifo, jaki wstawiłem z biblioteki... Powtórzony tyle samo
razy ile razy mam ten moduł... Albo "found one or more latches implemented
as combinational loops" - te są w moim kodzie VHLD w którym mam rzeczywiście
zatrzask napisany tak: if (c_enable = '1') then int_data_out <= data_in;
Muszę się tym ostrzezeniom przyjrzeć bliżej, ale na razie mnie to nieco
przerasta... No bo jak mam napisać inaczej niż to, zatrzask w VHDL??? :-))


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: jerry1111 <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl>
Subject: Re: =?ISO-8859-2?Q?FPGA_Altery_bootuj=B9?=
Date: Mon, 27 Sep 2004 21:22:51 +0200


On Mon, 27 Sep 2004 12:11:42 -0500, "Pszemol" <Pszemol_at_nospam_PolBox.com>
wrote:

Ciekawe, ciekawe... dlaczego ma prawo nie zdążyć?

propagacja troche trwa. W dodatku producenci sie skupiaja na podawaniu
maksymalnych czasow propagacji .. a minimalnych nie podaja.

No ale reset trwa "trochę"... U mnie jakieś 6 ms. Jak się zacznie
1ns przed zboczem aktywnym zegara to przecież nawet jak to zbocze
się zgubi to zdązy się zresetować jeszcze 100 razy po zboczu, nie?

Nie chodzi o moment ZALACZENIA resetu, tylko o moment "ODPUSZCZENIA"
resetu.

razy ile razy mam ten moduł... Albo "found one or more latches implemented
as combinational loops" - te są w moim kodzie VHLD w którym mam rzeczywiście
zatrzask napisany tak: if (c_enable = '1') then int_data_out <= data_in;
Muszę się tym ostrzezeniom przyjrzeć bliżej, ale na razie mnie to nieco
przerasta... No bo jak mam napisać inaczej niż to, zatrzask w VHDL??? :-))

if(rising_edge(clk)) then
if(c_enable='1') then
int_data_out<=data_in;
end if;
end if;

Masz wtedy synchronicznie z zegarkiem.
Zasada: jesli nie wiesz co robisz, to nie uzywaj asynchronicznych
konstrukcji :-)


--
Jerry

========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: =?iso-8859-2?Q?Re:_FPGA_Altery_bootuj=B9ce_si=EA_z_szeregowego_EPROM/FLASH?=
Date: Mon, 27 Sep 2004 14:34:23 -0500


"jerry1111" <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl> wrote in message news:i0qgl05ivah9fi791k1t29r35vbhos4d40_at_nospam_4ax.com...
On Mon, 27 Sep 2004 12:11:42 -0500, "Pszemol" <Pszemol_at_nospam_PolBox.com>
wrote:

Ciekawe, ciekawe... dlaczego ma prawo nie zdążyć?

propagacja troche trwa. W dodatku producenci sie skupiaja na podawaniu
maksymalnych czasow propagacji .. a minimalnych nie podaja.

No ale reset trwa "trochę"... U mnie jakieś 6 ms. Jak się zacznie
1ns przed zboczem aktywnym zegara to przecież nawet jak to zbocze
się zgubi to zdązy się zresetować jeszcze 100 razy po zboczu, nie?

Nie chodzi o moment ZALACZENIA resetu, tylko o moment "ODPUSZCZENIA"
resetu.

Ok, przekonałeś mnie niech Ci będzie. Dołożę przerzutnik do resetu. :-)))

Co ciekawe, używam w niektórych miejscach sygnałów z CPU Motoroli 68k
do sterowania swoimi zatrzaskami czy przerzutnikami i mi kompilator
wyrzuca ostrzeżenia, że używam np. sygnału CPU_AS (address strobe)
lub CPU_RW (read/write) jako "undefined clock"... powaliło go? ;-)
Czemu miałbym nie użyć sygnału informującego o poprawnym adresie na
magistrali procesora właśnie do tego, aby ten adres sobie zatrzasnąć?
Nie rozumiem...

A już całkiem zbijają mnie z tropu te ostrzeżenia wygenerowane
wnętrzem modułów bibliotecznych... tego jest ponad setka, nie
licząc powtórzonych użyć tych modułów... Paranoja.

razy ile razy mam ten moduł... Albo "found one or more latches implemented
as combinational loops" - te są w moim kodzie VHLD w którym mam rzeczywiście
zatrzask napisany tak: if (c_enable = '1') then int_data_out <= data_in;
Muszę się tym ostrzezeniom przyjrzeć bliżej, ale na razie mnie to nieco
przerasta... No bo jak mam napisać inaczej niż to, zatrzask w VHDL??? :-))

if(rising_edge(clk)) then
if(c_enable='1') then
int_data_out<=data_in;
end if;
end if;

Masz wtedy synchronicznie z zegarkiem.

A... o to im chodzi... to tak mogę zrobić - oczywiście... tylko u mnie
będzie trochę inaczej:

IF (sysclk'EVENT and sysclk = '1') THEN
...

Nie mam u siebie rising_edge() :-)

Zasada: jesli nie wiesz co robisz, to nie uzywaj asynchronicznych
konstrukcji :-)

ok... będę pamiętał... :-)


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: jerry1111 <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl>
Subject: Re: =?ISO-8859-2?Q?FPGA_Altery_bootuj=B9?=
Date: Mon, 27 Sep 2004 22:52:56 +0200


On Mon, 27 Sep 2004 14:34:23 -0500, "Pszemol" <Pszemol_at_nospam_PolBox.com>
wrote:

Nie chodzi o moment ZALACZENIA resetu, tylko o moment "ODPUSZCZENIA"
resetu.

Ok, przekonałeś mnie niech Ci będzie. Dołożę przerzutnik do resetu. :-)))

W symulacji upewnij sie ze oba zbocza daje synchronicznie z CLK - tak
na wszelki wypadek, jakbys pomieszal poziomy :-)

Co ciekawe, używam w niektórych miejscach sygnałów z CPU Motoroli 68k
do sterowania swoimi zatrzaskami czy przerzutnikami i mi kompilator
wyrzuca ostrzeżenia, że używam np. sygnału CPU_AS (address strobe)
lub CPU_RW (read/write) jako "undefined clock"... powaliło go? ;-)

Bo programista, znaczy VHDLista p*$&#(*&$ :-))))
Napisales siakis komponent tak, ze wychodzi taktowanie przez tamte
sygnaly - to sie kokmpiluje dla zegara 1MHz????

Czemu miałbym nie użyć sygnału informującego o poprawnym adresie na
magistrali procesora właśnie do tego, aby ten adres sobie zatrzasnąć?
Nie rozumiem...

j/w - bo sie sygnal do zegara przeksztalca :-)

A już całkiem zbijają mnie z tropu te ostrzeżenia wygenerowane
wnętrzem modułów bibliotecznych... tego jest ponad setka, nie
licząc powtórzonych użyć tych modułów... Paranoja.

Mi sie nie podoba, ale na czuja to moze byc efekt uboczny zamiany
sygnalow sterujacych na zegar i odwrotnie.

if(rising_edge(clk)) then
if(c_enable='1') then
int_data_out<=data_in;
end if;
end if;

Masz wtedy synchronicznie z zegarkiem.

A... o to im chodzi... to tak mogę zrobić - oczywiście... tylko u mnie
będzie trochę inaczej:

Nie tyle "moge tak zrobic", tylko KONIECZNIE tak robic.

IF (sysclk'EVENT and sysclk = '1') THEN
...

Nie mam u siebie rising_edge() :-)

Napewno????

Zasada: jesli nie wiesz co robisz, to nie uzywaj asynchronicznych
konstrukcji :-)

ok... będę pamiętał... :-)

Spoko - jeszcze ze 2 tygodnie, to Twoja firma moze da zarobic troche
zielonego?

NMSP :-)


--
Jerry

========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: =?iso-8859-2?Q?Re:_FPGA_Altery_bootuj=B9ce_si=EA_z_szeregowego_EPROM/FLASH?=
Date: Mon, 27 Sep 2004 16:12:33 -0500


"jerry1111" <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl> wrote in message news:u5vgl09c1fa0in9jred78fuamnsmfadrj0_at_nospam_4ax.com...
Ok, przekonałeś mnie niech Ci będzie. Dołożę przerzutnik do resetu. :-)))

W symulacji upewnij sie ze oba zbocza daje synchronicznie z CLK -
tak na wszelki wypadek, jakbys pomieszal poziomy :-)

OK.

Co ciekawe, używam w niektórych miejscach sygnałów z CPU Motoroli 68k
do sterowania swoimi zatrzaskami czy przerzutnikami i mi kompilator
wyrzuca ostrzeżenia, że używam np. sygnału CPU_AS (address strobe)
lub CPU_RW (read/write) jako "undefined clock"... powaliło go? ;-)

Bo programista, znaczy VHDLista p*$&#(*&$ :-))))
Napisales siakis komponent tak, ze wychodzi taktowanie przez
tamte sygnaly

Co to znaczy "wychodzi taktowanie przez sygnały"? :-))
Czy jeśli używam strobu adresowego generowanego przez procesor
i podaję go na wejście "enable" zatrzasku to już jest źle, kuźwa?
Bez jaj... w końcu do tego właśnie sygnał CPU_AS służy w Motoroli
aby powiedzieć urządzeniom peryferyjnym, że teraz można sobie
zczytać z magistrali stabilny adres... Podobnie z CPU_RW...

- to sie kokmpiluje dla zegara 1MHz????

Spoko, mam "default required fmax" ustawione na 25MHz w "Clock settings".
Mimo 107 ostrzeżeń w "timing analysis" wciąż mam na koniec zielone
"Info: All timing requirements were met. See Report window for more details."
Pytanie tylko czy wszystkie "requirements" ustawiłem prawidłowo...
Ale moja motorolka pracuje z zegarkiem 18MHz więc wydaje mi się, że
jak mam ustawione w wymaganiach do 25MHz max to powinno być wsio ok.

Czemu miałbym nie użyć sygnału informującego o poprawnym adresie na
magistrali procesora właśnie do tego, aby ten adres sobie zatrzasnąć?
Nie rozumiem...

j/w - bo sie sygnal do zegara przeksztalca :-)

Siem przekształca - kiedy się może przekształcić? Jakie zachowanie
"VHDLsty" ten kompilator FPGA traktuje jako przekształcenie do zegara?

A już całkiem zbijają mnie z tropu te ostrzeżenia wygenerowane
wnętrzem modułów bibliotecznych... tego jest ponad setka, nie
licząc powtórzonych użyć tych modułów... Paranoja.

Mi sie nie podoba, ale na czuja to moze byc efekt uboczny zamiany
sygnalow sterujacych na zegar i odwrotnie.

E tam, marudzisz... wszystko chcesz zwalić że to moja wina ;-)
Jestes paskuda! :-)))

if(rising_edge(clk)) then
if(c_enable='1') then
int_data_out<=data_in;
end if;
end if;

Masz wtedy synchronicznie z zegarkiem.

A... o to im chodzi... to tak mogę zrobić - oczywiście... tylko u mnie
będzie trochę inaczej:

Nie tyle "moge tak zrobic", tylko KONIECZNIE tak robic.

Ok, ok, nie krzycz :-))

IF (sysclk'EVENT and sysclk = '1') THEN
...

Nie mam u siebie rising_edge() :-)

Napewno????

Powiem tak - nigdy tego nie używałem... czy to ma jakieś zalety
w stosunku do sysclk'EVENT? Czy to jakaś funkcja biblioteczna?

Zasada: jesli nie wiesz co robisz, to nie uzywaj asynchronicznych
konstrukcji :-)

ok... będę pamiętał... :-)

Spoko - jeszcze ze 2 tygodnie, to Twoja firma moze da zarobic troche
zielonego?

NMSP :-)

Nic mi o tym nie wiadomo, ale zawsze możesz negocjować konsulting ;-)
Od paru miesięcy wchodzimy z VHDL i FPGA i jest to dla nas wszystkich
tutaj całkowita nowość... Mój szef jest na etapie jeszcze wcześniejszym
niż ja, bo ja już próbuję pisać i czytać VHDL chociaż - on musi sobie
wszystko na bramki i przerzutniki rozrysować aby cokolwiek zrozumieć :-)))
Dobrze że nowy Quartus II ma właśnie wizualizację kodu VHDL na bramkach
bo nie byłoby zabawy... :-)))


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: jerry1111 <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl>
Subject: Re: =?ISO-8859-2?Q?FPGA_Altery_bootuj=B9?=
Date: Tue, 28 Sep 2004 00:06:30 +0200


On Mon, 27 Sep 2004 16:12:33 -0500, "Pszemol" <Pszemol_at_nospam_PolBox.com>
wrote:

Co to znaczy "wychodzi taktowanie przez sygnały"? :-))

Kompilator i optymalizator stwierdzaja, ze "programista mial na mysli"
taktowanie, a nie strob - znaczy ze tak uklad napisales.

Czy jeśli używam strobu adresowego generowanego przez procesor
i podaję go na wejście "enable" zatrzasku to już jest źle, kuźwa?

Podales jeden przyklad - bylo _a_synchroniczne przepisanie i
kompilator to pewnie zmienil.
Po prostu sprawdz caly kod pod katem tego, czy nie ma tam jakichs
"asynchronizmow".

- to sie kokmpiluje dla zegara 1MHz????

Spoko, mam "default required fmax" ustawione na 25MHz w "Clock settings".
Mimo 107 ostrzeżeń w "timing analysis" wciąż mam na koniec zielone
"Info: All timing requirements were met. See Report window for more details."
Pytanie tylko czy wszystkie "requirements" ustawiłem prawidłowo...
Ale moja motorolka pracuje z zegarkiem 18MHz więc wydaje mi się, że
jak mam ustawione w wymaganiach do 25MHz max to powinno być wsio ok.

Prawidlowo bedzie juz przy 18MHz. Generalnie mozesz miec duze
zwolnienie w momencie gdy sygnaly zegara sa poroutowane w srodku ze
zwyklego pina do dedykowanych sciezek zegarowych. Wystepuje cos
takiego wlasnie w momencie uzywania zwyklego sygnalu jako zegara.

Siem przekształca - kiedy się może przekształcić? Jakie zachowanie
"VHDLsty" ten kompilator FPGA traktuje jako przekształcenie do zegara?

process(clk,enable)
begin
if(enable='1') then
wy<=we;
end if;
end;

wlasnie tutaj.

Mi sie nie podoba, ale na czuja to moze byc efekt uboczny zamiany
sygnalow sterujacych na zegar i odwrotnie.

E tam, marudzisz... wszystko chcesz zwalić że to moja wina ;-)
Jestes paskuda! :-)))

90% daje :-)

IF (sysclk'EVENT and sysclk = '1') THEN
...

Nie mam u siebie rising_edge() :-)

Napewno????

Powiem tak - nigdy tego nie używałem... czy to ma jakieś zalety
w stosunku do sysclk'EVENT? Czy to jakaś funkcja biblioteczna?

Dla mnie prosciej napisac :-)
Innych efektow ubocznych brak.

Nic mi o tym nie wiadomo, ale zawsze możesz negocjować konsulting ;-)
Od paru miesięcy wchodzimy z VHDL i FPGA i jest to dla nas wszystkich
tutaj całkowita nowość...

Z rok czasu to minimum jeszcze potrwa ta nowosc.

Mój szef jest na etapie jeszcze wcześniejszym
niż ja, bo ja już próbuję pisać i czytać VHDL chociaż - on musi sobie
wszystko na bramki i przerzutniki rozrysować aby cokolwiek zrozumieć :-)))

Nie chodzi o to zeby zrozumiec, tylko o to zeby nabrac swoistego
'wyczucia' i zrozumiec jak to wszystko dziala i co do czego sie
kompiluje. Przeciez kilka(nascie) linijek potrafi sie skompilowac do
jednego DFFa. Tutaj trza sobie wyobrazac jak uklad ma dzialac i
dopiero wtedy pisac kod. Cholera - nie mam pomyslu jak to napisac, ale
to jest takie odwrotne myslenie niz w trakcie pisania zwyklego
programu.

Dobrze że nowy Quartus II ma właśnie wizualizację kodu VHDL na bramkach
bo nie byłoby zabawy... :-)))

Ma??
Ale bedzie fajnie... bedzie durnoty pewnie pokazywac :-)

Na serio - 90% stawiam na to ze problem wynika z pomieszania tych
zegarow. 1% to uszkodzenie fpga, a reszta... to reszta ;-)
To ze nie dziala na jednej kosci a dziala na drugiej kosci tez pasuje
do mojej teorii - po prostu kosc dzialajaca jest widac minimalnie
szybsza (szybsza propagacja) niz kosc nie dzialajaca.


--
Jerry

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: =?iso-8859-2?Q?Re:_FPGA_Altery_bootuj=B9ce_si=EA_z_szeregowego_EPROM/FLASH?=
Date: Mon, 27 Sep 2004 22:45:28 -0500


"jerry1111" <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl> wrote in message news:1t2hl0lu9n71g1i9t1e24t3f8iq6dvid8f_at_nospam_4ax.com...
Kompilator i optymalizator stwierdzaja, ze "programista mial na mysli"
taktowanie, a nie strob - znaczy ze tak uklad napisales.

No dobra... a jak w takim razie napisać prawidłowo normalny zatrzask
bez sygnału zegara?

Podales jeden przyklad - bylo _a_synchroniczne przepisanie i
kompilator to pewnie zmienil.
Po prostu sprawdz caly kod pod katem tego, czy nie ma tam jakichs
"asynchronizmow".

Zmienił na synchroniczne?? 8-)

Prawidlowo bedzie juz przy 18MHz.

No to czemu nie działa? I czemu dajesz 90% szans na błąd?

Generalnie mozesz miec duze
zwolnienie w momencie gdy sygnaly zegara sa poroutowane w srodku ze
zwyklego pina do dedykowanych sciezek zegarowych. Wystepuje cos
takiego wlasnie w momencie uzywania zwyklego sygnalu jako zegara.

Te "undefined clocks" o tym świadczą, ale ki pieron wie dlaczego jakiś
sygnał, np. CPU_RW potraktował jako clock??? Tego jeszcze nie wiem.

Siem przekształca - kiedy się może przekształcić? Jakie zachowanie
"VHDLsty" ten kompilator FPGA traktuje jako przekształcenie do zegara?

process(clk,enable)
begin
if(enable='1') then
wy<=we;
end if;
end;

wlasnie tutaj.

A inne przykłady?

Mi sie nie podoba, ale na czuja to moze byc efekt uboczny zamiany
sygnalow sterujacych na zegar i odwrotnie.

E tam, marudzisz... wszystko chcesz zwalić że to moja wina ;-)
Jestes paskuda! :-)))

90% daje :-)

Paskuda :-)

Nic mi o tym nie wiadomo, ale zawsze możesz negocjować konsulting ;-)
Od paru miesięcy wchodzimy z VHDL i FPGA i jest to dla nas wszystkich
tutaj całkowita nowość...

Z rok czasu to minimum jeszcze potrwa ta nowosc.

Łojejku...
Aż rok się trzeba tego uczyć? A jak ktoś nieco mniej zdolny? ;-)

Mój szef jest na etapie jeszcze wcześniejszym
niż ja, bo ja już próbuję pisać i czytać VHDL chociaż - on musi sobie
wszystko na bramki i przerzutniki rozrysować aby cokolwiek zrozumieć :-)))

Nie chodzi o to zeby zrozumiec, tylko o to zeby nabrac swoistego
'wyczucia' i zrozumiec jak to wszystko dziala i co do czego sie
kompiluje. Przeciez kilka(nascie) linijek potrafi sie skompilowac do
jednego DFFa. Tutaj trza sobie wyobrazac jak uklad ma dzialac i
dopiero wtedy pisac kod. Cholera - nie mam pomyslu jak to napisac, ale
to jest takie odwrotne myslenie niz w trakcie pisania zwyklego
programu.

ok, ok...

Dobrze że nowy Quartus II ma właśnie wizualizację kodu VHDL na bramkach
bo nie byłoby zabawy... :-)))

Ma??
Ale bedzie fajnie... bedzie durnoty pewnie pokazywac :-)

No czasami pokazuje taką sieczkę, że rzeczywiście tylko w VHDL
da się to przeczytać... Mam tam w UARTcie maszynę stanów nadajnika,
to ten wizualizator wysmolił dwie strony bramek i przerzutników...
Konia z rzędem temu, kto bez kodu VHDL skapnie się co "autor miał
na myśli" i jak ten układ działa...

Na serio - 90% stawiam na to ze problem wynika z pomieszania tych
zegarow. 1% to uszkodzenie fpga, a reszta... to reszta ;-)
To ze nie dziala na jednej kosci a dziala na drugiej kosci tez pasuje
do mojej teorii - po prostu kosc dzialajaca jest widac minimalnie
szybsza (szybsza propagacja) niz kosc nie dzialajaca.

Sprawdzę czy są z tej samej serii produkcyjnej... Układy mają
wymalowany tydzień w roku w którym zostały wyprodukowane...
Ciekawe to wszystko jest - szkoda że tyle niewiadomych...
I najbardziej niepokojące te "warningi" których nie ma jak
za bardzo ugryźć bo większość wskazuje na moduły biblioteczne :-(


========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: jerry1111 <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl>
Subject: Re: =?ISO-8859-2?Q?FPGA_Altery_bootuj=B9?=
Date: Fri, 01 Oct 2004 20:09:57 +0200


On Mon, 27 Sep 2004 22:45:28 -0500, "Pszemol" <Pszemol_at_nospam_PolBox.com>
wrote:

"jerry1111" <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl> wrote in message news:1t2hl0lu9n71g1i9t1e24t3f8iq6dvid8f_at_nospam_4ax.com...
Kompilator i optymalizator stwierdzaja, ze "programista mial na mysli"
taktowanie, a nie strob - znaczy ze tak uklad napisales.

No dobra... a jak w takim razie napisać prawidłowo normalny zatrzask
bez sygnału zegara?

Jesli zatrzask bez sygnalu zegara, to jaki to bedzie zatrzask?
Poza tym, zawsze w FPGA masz jakis zegar. Napisz tak:
if(clk'event and clk='1') then
if(costam_enable='1') then .....


Podales jeden przyklad - bylo _a_synchroniczne przepisanie i
kompilator to pewnie zmienil.
Po prostu sprawdz caly kod pod katem tego, czy nie ma tam jakichs
"asynchronizmow".

Zmienił na synchroniczne?? 8-)

Pojecia nie mam co zrobil.

A inne przykłady?

Bez kodu to nie chce mi sie wymyslac :-)

Z rok czasu to minimum jeszcze potrwa ta nowosc.

Łojejku...
Aż rok się trzeba tego uczyć? A jak ktoś nieco mniej zdolny? ;-)

Ja od kilku lat z tym mam doczynienia i caly czas mam wrazenie, ze im
dluzej tego cholerstwa uzywam, tym mniej wiem :-)

Ale bedzie fajnie... bedzie durnoty pewnie pokazywac :-)

No czasami pokazuje taką sieczkę, że rzeczywiście tylko w VHDL
da się to przeczytać... Mam tam w UARTcie maszynę stanów nadajnika,

Tego nie_da_sie sensownie na bramkach przedstawic, bo wychodza
kompletnie nieczytelne rzeczy. Kiedys dla treningu probowalem zrobic
maszynke na 8 stanow na bramkach i... 8 piw bylo za malo :-(

I najbardziej niepokojące te "warningi" których nie ma jak
za bardzo ugryźć bo większość wskazuje na moduły biblioteczne :-(

Grunt to wiedziec skad sie biora - ja mam czasami kilkaset warningow
ale za to nieszkodliwych. Ot, gdzies LUTy upakowal, cos tam skrocil,
cos zobaczyl ze niepotrzebne... fajny ten kompilator :-)


--
Jerry

========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: jerry1111 <stop_this_spam_jerry1111_remove_at_nospam_remove.wp.pl>
Subject: Re: =?ISO-8859-2?Q?FPGA_Altery_bootuj=B1?=
Date: Mon, 27 Sep 2004 21:21:45 +0200


On Mon, 27 Sep 2004 17:56:37 +0200, J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
wrote:

Dlatego trza ten reset przeformowac na synchroniczny z naszym
zegarkiem.

Ciekawe, ciekawe... dlaczego ma prawo nie zdążyć?

propagacja troche trwa. W dodatku producenci sie skupiaja na podawaniu
maksymalnych czasow propagacji .. a minimalnych nie podaja.

Dokladnie - i wtedy czesc DFFow (do ktorych reset ma szybsza droge)
zresetuje sie w cyklu zegara n, natomiast ta czesc do ktorej reset ma
droge dluzsza - zresetuje sie w cyklu n+1 :-)

Generalne zalecenie - jesli nie jestes w 100% pewny co robisz, to
wstaw uklad do synchronizacji resetu z zegarkiem.

CHyba ze problem taki jak kiedys z Z80 - reset nie w pore powodowal
puszczenie roznych glitchy na magistrale ..

Nie - tutaj tylko czesc DFFow bedzie o 1 zegar opozniona w stosunku do
reszty :-)


--
Jerry

========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.task.gda.pl!not-for-mai