Archiwum pl.misc.elektronika na elektroda.pl



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
Date: Sat, 25 Feb 2006 00:43:33 +0100



"Pszemol":


Trzeba bardzo uważać na takie typy sygnałów...

?

Zmienna typu "t_state" realizowana jest po prostu jako
kolekcja sygnałów jednobitowych (drutów!) i stan s1
oznacza że jest jedynka na jednym drucie a zera
na innych...

odpowiadasz na moj post, czy autora watku ?
napisalem, ze asynchroniczny reset jest zlym pomyslem,
ale zapomnialem to poprawic w swojej wersji;
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;

Jeśli teraz w procesie kombinatoryjnym
zmiana "state_nx" nastąpi bardzo blisko, tuż przed
użyciem jej w procesie synchronicznym (czyli tuż przed
lub w trakcie trwania rosnącego zbocza "clk") to

Poprzedni Następny
Wiadomość
Spis treści


swieta racja, tyle, ze nie jest to wlasnosc kodowania 'one hot',
a ogolnie wlasnoscia elektroniki, ze sygnaly rozchodza sie
ze skonczona szybkoscia;
stany FSM, jesli czyms steruja [ a po to sie tworzy FS],
trzeba zdekodowac, co trwa skonczony czas, i oczywiscie
calosc nie moze pracowac z wieksza czestotliwoscia,
niz to wynika z czasu dekodowania;
akurat 'one hot' jest najlepszym mozliwym kodowaniem
FSM, z punktu widzenia szybkosci;
za to zuzywa najwiecej FF, co kiedyc bylo minusem, we wspolczesnych
FPGA nie jest, raczej logiki kombinacyjnej zabraknie niz FF;

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;

W sumie trochę zawiodłem się na implementacji maszyny
stanów w VHDL... Synteza takiej zmiennej na luźnych
bitach to chyba nienajlepszy pomysł... To coś jakbyś
miał w kodzie w C maszynę stanów i zmienna stanów była
liczbą integer ale w pewnych okolicznościach przyjmowała
wartość dwa i siedem ósmych zamiast równych 2 lub 3 :-)))
Twój kod w C też by mocno zgłupiał z taką zmienną stanu.

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

Poprzedni Następny
Wiadomość
Spis treści


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;

JA








========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Newsgroups: pl.misc.elektronika
Subject: =?iso-8859-2?Q?Re: Quartus5.1=2C_EPM7128_=28d=B3ugawe...=29?=
Date: Fri, 24 Feb 2006 19:00:54 -0600
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 55
Message-ID: <dtnl56.3sg.1_at_nospam_poczta.onet.pl>
References: <dtn2jp$8st$1_at_nospam_news.supermedia.pl> <0aa0.000001a3.43ff2d9d_at_nospam_newsgate.onet.pl> <dtmtqq.r88.0_at_nospam_poczta.onet.pl> <469k10Fa70kaU1_at_nospam_uni-berlin.de>
Reply-To: "Pszemol" <Pszemol_at_nospam_BigFoot.com>
NNTP-Posting-Host: adsl-68-253-194-118.dsl.emhril.ameritech.net
Mime-Version: 1.0
Content-Type: text/plain;
format=flowed;
charset="iso-8859-2";
reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1140829439 2805 68.253.194.118 (25 Feb 2006 01:03:59 GMT)
X-Complaints-To: usenet_at_nospam_agora.pl
NNTP-Posting-Date: Sat, 25 Feb 2006 01:03:59 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
X-Priority: 3
X-Posting-Agent: Hamster/1.3.14.0
X-User: pszemol
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
Xref: news-archive.icm.edu.pl pl.misc.elektronika:444893

"JA" <j_andr_bezspamu_at_nospam_freenet.de> wrote in message news:469k10Fa70kaU1_at_nospam_uni-berlin.de...
odpowiadasz na moj post, czy autora watku ?

Oczywiście dodaję tylko swoje skromne doświadczenie
jako komentarz do Twojego przykładowego kodu... :-)

napisalem, ze asynchroniczny reset jest zlym pomyslem,
ale zapomnialem to poprawic w sw