VHDL/Operacje na zmiennych: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m →Operacje warunkowe: drobne |
m lit.,ort. itp. |
||
Linia 3:
= Operacje przypisywania =
Jak wspomniano w rozdziale [[VHDL/Typy danych|Typy danych]], w VHDL istnieje rozróżnienie między '''sygnałem''', a '''
==Przypisywanie do sygnałów==
Linia 16:
''sygnał2'' <= "001";
{{Uwaga|Podczas
==Przypisywanie do zmiennych==
Linia 40:
==Kopiowanie części wektora==
Przy stosowaniu operatora przypisania do wektora należy zachować odpowiednią wielkość wektorów po obu stronach operatora.
''sygnał2'' <= ''sygnał1'' (2 downto 1);
Linia 48:
== Koniunkcja ==
Jak wspomniano w rozdziale [[VHDL/Typy danych|Typy danych]], w VHDL można deklarować zarówno wektory jak i skalary. Istnieje jednak
Zapis:
''
spowoduje przypisanie do sygnału ''
''sygnał1'' <= ''sygnał2''(1);
spowoduje przypisanie do ''sygnał1'' wartości ''0'' (jak więc widać jest to szczególny przypadek kopiowania
Można też z kilku skalarów utworzyć nową wartość wektora, po przez zapis:
Linia 66:
Przykładowo, jeśli ''skalar1'' ma wartość 1, a ''skalar2'' i ''skalar3'' mają wartości ''0'', to powyższy zapis spowoduje przypisanie wartości ''100'' do zmiennej ''wektor''.
Ta druga operacja (tworzenie wektora ze skalarów) ma nazwę '''koniunkcji''', zaś znak ''&'' nazywany jest ''operatorem koniunkcji''.
''sygnał4'' <= ''skalar2'' & ''sygnał2''(2 dwonto 1) & ''skalar1'';
Linia 74:
= Operacje logiczne =
==Podstawowe informacje ==
W VHDLu można dokonać podstawowych operacji logicznych przy użyciu
'''
*and
Linia 94:
c <= '''not''' (a '''and''' b);
da w
=Operacje arytmetyczne=
Linia 103:
=Operacje warunkowe=
{{Uwaga|Jak zaznaczono w rozdziale [[VHDL/Jednostki projektowe|Jednostki projektowe]], poniższe operacja, mają sens
==IF==
==CASE==
|