Hardware Reference
In-Depth Information
Die Packages zum Buch sind in Anhang A.2 beschrieben und stehen als Down-
load auf der Projekt-Web-Seite [27] zur Verfügung. Die Anleitung für das
Compilieren und die Nutzung der Bibliothek »Tuc« mit dem Simulator GHDL
ist im zugehörigen Hilfetext nachzulesen. Das Package »Tuc.Eingabe« stellt
unter anderem Prozeduren
read( prompt , w );
(prompt - Ausgabetext, der zur Eingabe auffordert; w - Variable mit dem
Typ des einzulesenden Wertes) für die interaktive Eingabe bereit, mit deren
Hilfe einfache Dialoge für Testeingaben programmiert werden können.
Abbildung 3.1 zeigt als Beispiel einen dialogorientierten Test für die Addi-
tion von zwei vorzeichenfreien 4-Bit-Zahlen. Zu Beginn werden alle benötigten
Vereinbarungen importiert. Das Package ieee.std_logic_1164 wird in die-
sem Beispiel ausnahmsweise nicht benötigt. Der Testrahmen hat nur einen
Prozess mit den Eingabeanweisungen, der zu testenden Anweisung und einer
Ausgabeanweisung. Der Prozess wird in eine Endlosschleife übersetzt, so dass
nach jeder Ausgabe eine Eingabeaufforderung folgt. Die Simulation kann mit
»Exit« beendet werden.
-- Vorspann
-- library ieee; use ieee.std_logic_1164.all;
library Tuc; use Tuc.Eingabe. all ; use Tuc.Ausgabe. all ;
use Tuc.Numeric_Sim. all ;
entity DialogAdd is end entity;
architecture Sim of DialogAdd is
-- Vereinbarungen im Testrahmen, im Beispiel keine
begin
Testprozess: process
-- Vereinbarungen im Testprozess
variable a, b, c: tUnsigned( 3 downto 0 );
begin
-- Anweisungsfolge im Testprozess
read( "Bitte 4-Bit-Vektor für a eingeben (Abbruch mit Exit)" , a);
read( "Bitte 4-Bit-Vektor für b eingeben (Abbruch mit Exit)" , b);
c := a+b;
write( "Summe: " & str(c));
end process;
end architecture;
)
WEB-Projekt:P3.1/DialogAdd.vhdl
Abb. 3.1. Dialogtestrahmen zum Ausprobieren und Debuggen imperativer Anwei-
sungen
Search WWH ::




Custom Search