Variable
– Leben nur innerhalb eines Prozesses.
– Ihr Zustand kann nicht gespeichert werden.
– Sie müssen im Prozess, vor dem begin definiert werden
– Zuweisung erfolgt sofort (asynchron)
– Wird die Variable auch ausserhalb des Prozesses gebraucht, wird sie einem Signal zugewiesen.
read_file: process(all) variable token_note: std_logic_vector(7 downto 0) :=(OTHERS => '0'); variable token_velocity: std_logic_vector(7 downto 0) :=(OTHERS => '0'); begin // token einlesen (muss variable sein) read(line_in, token_type_n, good); // variable signal übergeben s_token_type <= token_type;
Signale
– Verbinden Blöcke miteinander und/oder werden innerhalb Block gebraucht
– Sie werden ausserhalb von Prozessen definiert
– Ihr Wert kann in einem FF gespeichert werden (muss aber nicht)
architecture rtl of counter is signal s_token_typ std_logic_vector(7 downto 0) := (others => '0'); begin execute_file: process (all) begin end
..