VHDL Kompakt - CES
VHDL Kompakt - CES
VHDL Kompakt - CES
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
1. Konzepte von <strong>VHDL</strong><br />
Die genaue Vorgehensweise hängt von den jeweils vorhandenen Programmen ab, für die<br />
Simulation wären dies beispielsweise:<br />
Simulator Analyse Elaboration Simulation<br />
SYNOPSYS VSS vhdlan vhdlsim, vhdldbx<br />
Cyclone vhdlan cylab cysim<br />
Scirocco vhdlan scs scsim<br />
CADENCE Leapfrog cv ev sv<br />
NC-Sim ncvhdl ncelab ncsim<br />
MENTOR GRAPHICS ModelSim vcom vsim<br />
1.2.1 Package<br />
Deklarationen die in mehreren Entwürfen benutzt werden, z.B.: Komponenten, Unterprogramme<br />
(Funktionen, Prozeduren) oder Typen, Konstanten, Dateien. . . , lassen sich in Packages<br />
sammeln und in Bibliotheken hinterlegen.<br />
Neben eigenen Bibliotheken werden so auch die Zellbibliotheken der ASIC-Hersteller<br />
ausgeliefert. Auch die Hersteller von CAD-Software stellen Hilfsroutinen und Funktionen<br />
als Packages bereit, die den Umgang mit den Werkzeugen erleichtern.<br />
Die Handhabung von Bibliotheken und die Syntax von package-Deklarationen ist im<br />
abschließenden Kapitel 9 ab Seite 62 beschrieben.<br />
1.2.2 Entity<br />
Ein entity definiert für eine Komponente des Entwurfs die externe Sichtweise. Dabei werden<br />
der Name, die Ein- und Ausgänge und zusätzliche Deklarationen festgelegt. Die interne<br />
Realisierung wird dann als, der Entity zugehörige, architecture beschrieben. Eine entity<br />
kann als Komponente anderer Entwürfe in deren Hierarchie eingebunden werden.<br />
Syntax<br />
entity 〈entityId〉 is<br />
[ 〈generic declaration〉 ]<br />
[ 〈port declaration〉 ]<br />
[ 〈local declarations〉 ]<br />
[begin normalerweise nicht benutzt<br />
〈passive statements〉 ]<br />
end [entity] [ 〈entityId〉 ];<br />
〈generic declaration〉 ::= Parameter<br />
generic ( 〈generic list〉 : 〈typeId〉 [:= 〈expression〉 ]{ ;<br />
〈generic list〉 : 〈typeId〉 [:= 〈expression〉 ]} );<br />
〈port declaration〉 ::= Ein- und Ausgänge<br />
port ( 〈port list〉 : [ 〈mode〉 ] 〈typeId〉 [:= 〈expression〉 ]{ ;<br />
〈port list〉 : [ 〈mode〉 ] 〈typeId〉 [:= 〈expression〉 ]} );<br />
〈mode〉 ::= in|out|inout|buffer<br />
” Richtung“<br />
Die Entity-Deklaration kann neben den Ein- und Ausgängen (ports) auch Parameter der<br />
Entity (generics) festlegen. Mit ihnen lassen sich interne Eigenschaften und Wortbreiten<br />
einstellen. In den Architekturen entsprechen die Generics dann Konstanten. Beispiele dazu<br />
4