Re: Quartus 5.1, EPM7128 (długawe...)



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści


Loozik - ja Cię o nic nie oskarżam :-))
Ja się uczę dopiero...

a co do 't_state', to ja wiem, co to znaczy kodowanie
maszyny stanow 'one hot';
takie kodowanie jest obecnie 'default' we wspolczesnych
syntetyzatorach hardware, ale zawsze mozna to zmienic;

Ty może wiesz, ale inni może nie

Miałem taki przypadek bardzo niedawno - zrobiłem
projekt UARTa w VHDL i tam odbiornik RX miał właśnie
taką maszynkę stanów w której przechodziłem ze stanu
czekania na bit startu asynchronicznie do stanu
synchronizacji trwającego 1/2 czasu trwania bitu tylko
na podstawie stanu wejścia RXDATA.
Umnkęło mojej uwadze to, że zmiana RXDATA nastąpi
całkowicie asynchronicznie do sygnału zegarowego
który taktuje moją maszynę stanów - no i mój UART
miał dziwną tendencję do "zakleszczania" się po

no w tym tkwi sedno, ktorego nie dostrzegaja poczatkujacy
uzytkownicy FPGA, ze asynchroniczne sygnaly 'set, reset, start'
itd. nie docieraja do wszystkich FF w tym samym czasie, co musi
doprowadzic od czasu do czasu do niezdefiniowanego stanu ukladu;

No własnie ja jestem tym początkującym który nie dostrzegł
też jest asynchroniczny) ale o asynchroniczne wejście danych
przełączające stan maszyny.

nie bardzo rozumiem powyzsza konkluzje ... :(
w vhdl i verilog da sie zrobic FSM dokladnie taka, jaka chcemy,
jaka jest wymagana specyfikacja;

problem z verilog czy vhdl polega na tym, ze jezyki te powstaly
do MODELOWANIA procesow, nie tworzenia hardware'u,
w zwiazku z tym narzedzia syntezy czesto musza sie 'domyslac',
co autor mial na mysli, nie zawsze trafnie;
innymi slowy, trzeba znac architekture kosci, ktora sie programuje,
by sobie wyobrazic, co kompilator zrobi z naszego RTL;

I o tej niedoskonałości VHDL bardzo łatwo się zapomina...
Człowiek czasem niesłusznie podchodzi to tego jak do języka C :-(


========
Path: n

Poprzedni Następny
Wiadomość
Spis treści
From: "JA" <j_andr_bezspamu_at_nospam_freenet.de>
Subject: Re: Quartus 5.1, EPM7128 (długawe...)
Date: Sat, 25 Feb 2006 13:57:55 +0100



"Pszemol" :

[...]
- pisałem do grupy nie do Ciebie na priva...

o wyrozumialosc prosze,
piatkowa noc, kolejne piwo ...
absolutnie nie chcialem, by post mial wymowe:
'nie ucz pan ojca ...';

I o tej niedoskonałości VHDL bardzo łatwo się zapomina...
Człowiek czasem niesłusznie podchodzi to tego jak do języka C :-(

ja bym powiedzial nieco inaczej, nie tyle vhdl jest niedoskonaly,
ile ma w sobie mnostwo wlasciwosci, ktore w hardware albo maja
sensu, albo prowadza do nieoczekiwanego dzialnia;

JA



========
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news-fra1.dfn.de!news-koe1.dfn.de!usenet-feed.fhg.de!npeer.de.kpn-eurorings.net!newsfeed.freenet.de!newsfeed01.chello.at!newsfeed02.chello.at!news.chello.at.POSTED!not-for-mail
Message-ID: <gregorn2hV1.134519949.171612250106_at_nospam_transflorator.traiskirchen.at>
From: Gregor <pij_at_nospam_wiecej.piwa.a.nie.spamuj.pl>
Subject: =?ISO-8859-2?Q?Re=3A=20Quartus=205

Poprzedni Następny
Wiadomość
Spis treści
Date: Sat, 25 Feb 2006 12:16:17 +0000


"JA" napisal:
napisalem, ze asynchroniczny reset jest zlym pomyslem,
ale zapomnialem to poprawic w swojej wersji;

Sorry ze sie wetne - poczatkujacy (do ktorych i ja sie zaliczam)
uzywaja asynchronicznego resetu bo opisujacy go kod wystepuje
w VHDLowym "Hello World" w kazdej (bo powiedzmy - wszystkich mi znanych)
ksiazce do nauki VHDL :))
Czy mam rozumiec ze:
if reset='1' then
xxxx
elsif clk'EVENT and clk='1' then
yyy

nalezaloby zamienic na cos w rodzaju
if clk'EVENT and clk='1' then
if reset then
xxx
else
yyyy

chyba ze sie DOBRZE wie co sie robi?
Pozdrawiam
GRG

--
Tutaj sygnatura Grzegorza Domagały - jeśli chcesz wysłać do niego wiadomość
pisz pod adres grzegorz.domagata_at_nospam_chello.at i nie zapomnij dodać
"kielbaska dla cerbera" w treści albo Cerber zeżre twój list...
Strona domowa: http://members.chello.at/grzegorz.domagata/


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!fu-berlin.de!uni-berlin.de!not-for-mail
From: "JA" <j_andr_bezspamu_at_nospam_freenet.de>
Newsgroups: pl.misc.elektronika
Subject: Re: Quartus 5.1, EPM7128 (długawe...)
Date: Sat, 25 Feb 2006 14:05:48 +0100
Lin

Poprzedni Następny
Wiadomość
Spis treści



"Gregor":

[...]
Czy mam rozumiec ze:
if reset='1' then
xxxx
elsif clk'EVENT and clk='1' then
yyy

nalezaloby zamienic na cos w rodzaju
if clk'EVENT and clk='1' then
if reset then
xxx
else
yyyy

wlasnie;
trzeba sobie uswiadomic, ze w fpga czy asic
sygnal od zrodla dociera do adresatow [np. reset
do rejestrow] w roznym czasie, nawet jesli ta roznica
to tylko 0.5 ns, to moze sie zdarzyc taka koincydencja
czasowa reset i zegara, ze czesc przerzutnikow jeszcze
ma reset, gdy przychodzi zbocze clock, a czesc juz nie,
a to zwykle prowadzi do jakichs nieprzewidzianych stanow
ukladu;

chyba ze sie DOBRZE wie co sie robi?

chyba ze sie wie, co sie robi :)

JA



========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re