VHDL Types

Int
– Zuweisung erfolgt ohne Hochkomma

variable   cnt: integer range 0 to 255 := 0;

Standard_Logic
– Zuweisung erfolgt über Hochkommas

signal s_reset:     std_logic := '0';

Variable <-> Signale in VHDL

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

..

Systempfad und Umgebungsvariabl setzen

Programme werden von ihrem Ordner aus gestartet.
Will man Programme von überall her ausführen können,
muss der Pfad der Pfadvariable  übergeben werden.

Pfad der Pfadvariable zufügen

PATH=$PATH:/home/katrin/bin	

– Der Pfad wird immer vom root aus angegeben
– Pfade werden voneinander durch  : getrennt
– Die alte PATH-Variable ($PATH) muss  genannt werden.
Der neue Pfad wird nach Doppelpunkt angehängt

Pfad in .bashrc setzen

#include programm-paths 
export PATH=$PATH:/opt/altera/13.0sp1/quartus/bin

.bashrc liegt im home als versteckte Datei

Variable (in Windows) als Systemvariable setzen

System und Sicherheit/ System /Erweiterte Systemeinstellungen
In diesem Popup hat es ein Button: Umgebungsvariablen

Anklicken und der Variable einen Namen geben: LM_LICENSE:blabla_5
Der Variable einen Wert geben:  blaba@blume.aus.ch: 563

Aliases in Linux

– Alias ersetzen Befehle durch ein Keywort
– Der Aufruf des Keyworts startet den Befehlt- Aliase müssen im home/.bashrc  eingetragen werden
– Aliase können nicht nur die Argumente enthalten (ohne Programm)

Syntax

// keyword = endocsope, Befehl = ssh
alias endoscope = "ssh root@192.168.17"

// Aufruf des Befehlts
endoscope

Alias setzen

gedit   home/katrin/.bashrc
# Aliase
alias endoscope='ssh root@192.168.17'

source ~/.bashrc

Pfadvariable

Info
Neue Module müssen der Pfadvarible zugefügt werden.

Suchbegriffe
set python path

Pfad hinzufügen
>> sys.path                    Gesetzte Pfade werden ausgegeben
sys.path.append(‚../../ pfad von Ort aus, in der Konsole gestartet wurde‘)

Hintergrund
Wenn man ein Modul z.B. abc importiert, sucht der Interpreter nach abc.py in der folgenden Reihenfolge
1. Im aktuellen Verzeichnis
2. PYTHONPATH                                                              >> sys.pat
3. Falls PYTHONPATH nicht gesetzt ist,
wird gesucht in                                                         /usr/lib/python2.7