VHDL IO Debuggen

Signalüberprüfung
Zum Debuggen können den Top-Level-Ports spezifische Wert zugewiesen werden:

GPIO_0 <= '0';
GPIO_0 <= '1';

Am KO kann dann der Wert überprüft werden oder man kann die Pins ausläuten, um zu sehen, ob sie funktionieren. Problem: Pins können auch sonst auf ‚0‘ oder ‚1‘ per default sein.

Besser: Clock-Zuweisung. (Problem auch hier: ClK könnte per default herauskommen.) Am sichersten: CLK auf eigene Frequenz einstellen, so ist man sicher, dass es der gewünschte Pin ist.

GPIO_0 <= CLK_50;


Instanzen anpassen

Im Top-Level könnendie IO der Instanzen mit open auf inaktiv gesetzt werden.

inst_counter: counter
    PORT MAP( clk          => CLOCK_50,
              verification => open,   -- GPIO_0   
              zero_out      => open   -- GPIO_1                
        );

 

 

 

 

 

stream bearbeiten

token
Aufteilen des Streams in Pakete.
Die Paketunterteilung erfolgt über intelligente Funktionen.
Die Token an sich haben noch keine Bedeutung, es sind uninterpretierte Pakete.

parsen
Nennt man den Vorgang, der den Paketen (Token) eine Bedeutung zuteilt.
Es ist die Interpretation der Pakete.


Mit den Pipe-Operatoren < und > können streams übergeben werden.
Dies kann als Parameter für ein anderes Programm oder in eine Datei sein.

Pipe

Eine Pipe ist ein Datenstrom zwischen zwei Prozessen.
Bzw. es ist der Ausgang der Daten des ersten Programmes, der Abgefangen wird.

programm1 >> daten >> programm2
programm1 | ausgabe.txt // Die daten werden in ausgabe.txt geschrieben

Das Ergebnis eines Programms wird als Eingabe eines anderen Programms verwendet

| <optionen
Programm 1 übergibt Datenstrom direkt Programm 2