FAQ | Points | Add... | Recent posts | Search | Register | Log in


VHDL - wartość sygnału po zakończeniu procesu po zmianie var


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> Programmable Systems -> VHDL - wartość sygnału po zakończeniu procesu po zmianie var
Author
Message
mkroliczek
Poziom 2
Poziom 2


Joined: 28 May 2008
Posts: 4
Location: kraków

Post#1 Post from the author of the topic 18 Mar 2010 21:20   

VHDL - wartość sygnału po zakończeniu procesu po zmianie var


Witam,

myślałem, że mam problem ze stanami metastabilnymi, ale przejrzałem wszystko i podejrzanie padło na kawałek poniższego kodu. Generalnie chodzi o przypisanie do sygnału wartości zmiennej i potem zmiana tej zmiennej. Jaką wartość będzie miał sygnał po wykonaniu procesu?





Code:

signa sygnal: integer;

process

  var zmienna: integer;
  var zmienna_02 : integer;

begin

   sygnal <= zmienna;
   zmienna := zmienna_2;
end process;


Czy wartość sygnału będzie równa zmienna_2?
Dzięki z góry
Pozdrawiam
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 18 Mar 2010 21:20   





Back to top
   
Dr.Vee
Poziom 22
Poziom 22


Joined: 16 May 2008
Posts: 1808
Location: Wrocław

Post#2 18 Mar 2010 22:45   

Re: VHDL - wartość sygnału po zakończeniu procesu po zmianie


Po jednym wykonaniu - nie. Ale ten proces nie ma ani listy czułości, ani instrukcji "wait", dlatego będzie wykonywał się ciągle...

Poza tym zmienna_2 i zmienna nie mają wartości domyślnych - efektywnie są więc obie równe integer'left = integer'low. Tak więc sygnał będzie miał zawsze taką wartość. Natomiast czy narzędzie do syntezy/symulator są wystarczająco inteligentne, żeby to wykryć.

Pozdrawiam,
Dr.Vee
Back to top
   
Google

Google Adsense


Post# 18 Mar 2010 22:45   





Back to top
   
mkroliczek
Poziom 2
Poziom 2


Joined: 28 May 2008
Posts: 4
Location: kraków

Post#3 Post from the author of the topic 18 Mar 2010 22:59   

Re: VHDL - wartość sygnału po zakończeniu procesu po zmianie


Dobra kod który posiadam jest nieco mocniej skomplikowany, chciałem napisać tu przykład. Właściwy proces ma listę czułości, jest w niej zegar.

Odnośnie braku wartości domyślnych dla przykładu załóżmy, że do zmiennej przypisywany jest sygnał wejściowy. Mam też reset ale nie wnosi nic do mojego problemu chyba teraz. Zastąpiłem też zmienną sygnałem wejściowym.Coś w stylu :

Code:

signa sygnal: integer;

process(CLK, DATA_IN)

  var zmienna: integer;

begin
 
   if rising_edge(CLK) then

     
     sygnal <= zmienna;
     zmienna := DATA_IN;

   end if;
end process;


I taka sytuacja w momencie startu procesu:

zmienna = 5;
DATA_IN = 10;

Jaką wartość będzie miał sygnal przy następnym narastającym zboczu zegara?
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 18 Mar 2010 22:59   





Back to top
   
Dr.Vee
Poziom 22
Poziom 22


Joined: 16 May 2008
Posts: 1808
Location: Wrocław

Post#4 19 Mar 2010 23:00   

Re: VHDL - wartość sygnału po zakończeniu procesu po zmianie


sygnał = zmienna = 5;
zmienna = DATA_IN = 10;

Tutaj nie ma żadnej "magicznej" funkcjonalności :)

Pozdrawiam,
Dr.Vee
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> Programmable Systems -> VHDL - wartość sygnału po zakończeniu procesu po zmianie var
Page 1 of 1
Similar topics
[vhdl składnia problem] Kruczki na instancje w VHDL? (2)
Konwersja sygnału z rs232 na wartość właściwego napięcia w c (4)
[VHDL] Symulacja w Modelsim w trybie txt - odczyt sygnału (2)
Spartan 3A, Vhdl i fft. Obróbka sygnału dźwiękowego. (2)
vhdl - rozdzielenie sygnału (4)
Problem z fragmentem kodu VHDL kalkulator w VHDL (2)
[VHDL] Suma szeregu w VHDL (15)
[VHDL] zmienne w vhdl (2)

Page generation time: 0.066 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed