120
2 Spezifikation und Modellierung
beschreiben. Weiterhin nehmen wir an, dass f für den Fall a = b = c =0
undefiniert sein soll. Eine sehr bequeme Methode, dies in VHDL zu beschreiben,
wäre der folgende Code-Ausschnitt:
f <= seeect a & b & c
-- & ist die Konkatenation
1 when 10--- erster Term
1 when -111
-- zweiter Term
X when 0000
So könnten gegebene Funktionen leicht in VHDL umgesetzt werden. Leider
drückt die seeect-Anweisung hier etwas vollkommen Anderes aus: Da IEEE 1164
nur eine von vielen möglichen Wertemengen darstellt, kann VHDL kein Wissen
über die „Bedeutung“ von - haben. Wenn VHDL-Compiler Konstrukte wie die
oben gezeigte seeect-Anweisung übersetzen, prüfen sie, ob der zu betrachtende
Ausdruck (im Beispiel a & b & c) den Werten in den when-Teilen entspricht. Genauer
gesagt überprüfen sie, ob z.B. a & b & c gleich 10-- ist. In diesem Zusammenhang
verhält sich - wie jeder andere Logikwert auch: VHDL-Systeme überprüfen, ob
c den Wert - hat. Da der Wert - niemals irgendeiner der Variablen zugewiesen
wird, werden diese Bedingungen nie erfüllt.
∇
Daher ist der Wert - nur von begrenztem Nutzen. Die Nichtverfügbarkeit
eines praktischen Wertes für eine beliebige Eingabe ist der Preis, den man für die
Flexibilität bei der Definition von Wertemengen in der Programmiersprache VHDL
bezahlen muss21.
Eine positive Eigenschaft der beschriebenen allgemeinen Betrachtungen von Seite 98 bis Seite 103 ist die Tatsache, dass man daraus direkt Schlussfolgerungen
bezüglich der Ausdrucks- und Modellierungsfähigkeit des Standards IEEE 1164
ziehen kann. Der IEEE-Standard basiert auf der 7-elementigen Signalwertmenge
von Seite 100 und kann daher Schaltungen mit Verarmungstransistoren modellieren. Eine Modellierung von vorgeladenen Busleitungen ist damit allerdings nicht
möglich22.
2.7.7 Verilog and SystemVerilog
Verilog [539] ist eine weitere Hardware-Beschreibungssprache. Ursprünglich war
es eine proprietäre Sprache, wurde aber später als IEEE Standard 1364 vereinheitlicht. Die Versionen heißen IEEE Standard 1364-1995 (Verilog Version 1.0) und
IEEE Standard 1364-2001 (Verilog 2.0). Einige Eigenschaften von Verilog sind
VHDL sehr ähnlich. Genau wie in VHDL werden Entwürfe als miteinander verbundene Design-Entities beschrieben, diese können wiederum verhaltensorientiert
21 Dieses Problem wurde in VHDL 2006 beseitigt [342].
22 Abgesehen von dem Fall, in dem man keine Verarmungstransistoren einsetzt. In diesem Fall
könnte man die schwachen Werte als auf den Leitungen gespeicherte Ladungen interpretieren.
Dies ist allerdings nicht sehr praktisch, da Verarmungstransistoren heute in den meisten Systemen
eingesetzt werden.
Précédent

- 143/485

Suivant