Gibt es einen VHDL 93- oder 2002-Code, der nicht mit VHDL 2008 kompatibel ist?

7

Gibt es einen VHDL 93- oder 2002-Code, der nicht mit VHDL 2008 kompatibel ist?

Mit anderen Worten, wenn ich eine Reihe von Dateien für ältere VHDL-Standards erstellt habe, funktioniert eine Simulation / Kompilierung von 2008 dann einwandfrei?

Anders ausgedrückt, gibt es einen Grund, einen Simulator / Compiler NICHT im vhdl 2008-Modus zu verwenden?

Apalopohapa
quelle

Antworten:

8

Insgesamt verwendet VHDL 2008 vorhandene reservierte Wörter erneut, um neue Ziele zu erreichen (ohne die Syntax zu verzerren, sind sie im Kontext immer noch "gute Wörter").

Beim Durchblättern meiner Kopie von " VHDL-2008 - nur das Neue " sind einige mögliche Kollisionen mit vorhandenem Code, die mir aufgefallen sind:

  • Vordefiniert maximumund minimumFunktionen - sie können mit denen kollidieren, die Sie definiert haben, obwohl ich mir vorstelle, dass sie genauso funktionieren würden :)

  • Es gibt jetzt die Funktionalität für forceund releaseauf Signalen, um deren Werte von Testbenches zu überschreiben. Diese Wörter können mit Ihrem Code kollidieren

  • Neue Funktionen to_string, to_ostringund to_hstringzu konvertieren Typen zu einem natürlichen, Oktal oder hexdecimal String. Auch eine justifyFunktion.

  • Neue Lese- und Schreibfunktionen: read, write, oread, owrite, hread, hwrite. Auch breadund bwriteund sreadund swrite. Und eine flushProzedur. Die textioBibliothek erhält eine teeFunktion.

  • Die numeric_*Pakete gewinnen find_leftmostund find_rightmostfunktionieren.

  • Der Typ integer_vectorist vordefiniert, bedeutet aber wahrscheinlich wieder dasselbe wie jeder Typ, den Sie bereits erstellt haben. Auch boolean_vector, real_vector,time_vector

  • Eine neue Umgebung Paket , envdas enthält stopund finishVerfahren und eine resolution_limitFunktion.


Die Liste der neuen reservierten Wörter finden Sie in Abschnitt 9.22: context default force parameter release

Und diese PSL-reservierten Wörter sind auch in VHDL2008 reserviert: assert assume assume_guarantee civer fairness property restrict restrict_property sequence strong vmode vprop vunit

Martin Thompson
quelle
5

Zusätzlich zu Martins Liste ist der VHDL-93-Stil gemeinsam genutzter Variablen veraltet und muss möglicherweise in Variablen mit VHDL-2002/2008-geschützten Typen umgewandelt werden.

Brian Drummond
quelle