44
1 VHDL, VHDL-AMS zur Vorlesung E+V Sommersemester 2003 T. Vangelov Vorlesung E+V

vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

Embed Size (px)

Citation preview

Page 1: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

1

VHDL, VHDL-AMS

zur Vorlesung E+VSommersemester 2003

T. Vangelov

Vorlesung E+V

Page 2: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

2

VHDL

• Hardware-Beschreibung zum Zwecke der– Patentanmeldung von Algorithmen

– Simulation

– Synthese von IC‘s

• Beschreibung erfolgt unter den Gesichtspunkten– Verschaltung

– Verhalten ? Struktur

– Hierarchie

• synthesefähiges Subset!

VHDL: Very high speed integrated circuits Hardware Description Language

Page 3: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

Die Geschichte von VHDL

• 1981: Vom Verteidigungsministerium der USA (DoD) begründet,um Kosten zu senken

• 1983: Intermetrics, IBM und Texas Instruments entwickeln imAuftrag des DoD Software und verbessern VHDL weiter

• 1985: Version 7.2, Übergabe an IEEE zur Standardisierung

• 1987: IEEE 1076-1987, VHDL´87, bislang erster und einzigerHDL-Standard

• 1991: IEEE 1164, Neunwertige Logik std_logic

• 1993: IEEE 1076-1993, VHDL´93, neuer Standard

• 1999: IEEE 1076.1-1999, VHDL-AMS (Analog and Mixed-Signal)

twangl
3
Page 4: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

high level of abstraction

Functional (Behavioral)Structural

Geometric “Y-chart” due to Gajski & Kahn

low level of abstraction

Entwurfsebenen

twangl
4
Page 5: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

FunctionalStructural

Geometric

Algorithm(behavioral)

Register-TransferLanguage

Boolean Equation

Entwurfsebenen

Differential Equation

twangl
5
Page 6: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

FunctionalStructural

Geometric

Processor-MemorySwitch

Register-Transfer

Gate

Entwurfsebenen

Transistor

twangl
6
Page 7: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

7

Entity – Hülle und Schnittstellendefinition

• logische Kapselung einer Einheit

• Definition der Schnittstelle: Signale? X

• Signale werden durch Bezeichner, Richtung und Datentyp definiert– Richtungs-Bsp.: in, out, inout, buffer

– Datentyp-Bsp.: bit , std_logic(_vektor )

ENTITY

xx

x

parameter

Sicht von außen

ENTITY

x2y

Sicht von innen

Signale sind innen wie außen bekannt und können dort genutzt, d.h. verdrahtet werden

x1ENTITY

x2y

x1

twangl
Page 8: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

8

Entity als „Black Box“

two_gate

x1

x2

y

• Nach außen „black box“? Kapselung der inneren Struktur und des Verhaltens (Funktionalität)

• hier: Entity mit zwei Eingängen und einem Ausgang

• Port ist definiert, Funktionalität aber noch völlig offen

Strukturund

Verhalten ?

Port

PortName

Page 9: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

9

Entity – Beispiel

Schlüsselwörter sind blau

Schlüsselwörter entweder groß- oder kleinschreiben, nicht gemischt !

LIBRARY ieee;USE ieee.std_logic_1164.all;

Zu verwendende Bibliothek

Was soll aus der Bibliothek verwendet werden

Vorspann

Name der Entity

Schnittstelle

Zwei Eingangs-Signale mit Namen: x1 und x2

Datentyp der Signale (mehrwertige Logik)Name der Entity

Entity-Definition

Ausgangs-Signalmit Namen: y

ENTITY two_gate IS

PORT ( x1, x2 : IN std_logic;y : OUT std_logic );

END two_gate;

Page 10: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

10

Architecture – Verhalten einer Entity

• Das Verhalten einer Entity wird in einer Architecture beschrieben.

• Die Architektur – bekommt einen eindeutigen Namen,

– kann einen Deklarationsteil für interne Signale haben,

– ist einer Entity zugeordnet.

• Es können verschiedenen Architekturen für dieselbe Entity erstellt werden.

ARCHITECTURE <Architekturname> OF <Entity-Name> IS[Deklarationsteil]BEGIN

[Architektur Statements]END <Architekturname>;

x1

x2

yStrukturund

Verhalten

Architecture

Page 11: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

11

Architecture – Beispiel

• Beispiel eines NAND-Gatters basierend auf der vorhergehendenEntity-Definition:

ARCHITECTURE two_gate_nand OF two_gate ISBEGIN

y <= NOT ( x1 AND x2 );

END two_gate_nand;

Name dieser Architektur

Verhaltensbeschreibung:

Ein Statement mit vordefinierten Befehlen:

AND, OR, NOTName dieser Architektur

Zuweisungsoperatorfür Signale

Name der Schnittstellen-Definition (Entity)

&x1 yx2

Architecture

Page 12: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

12

Configuration – Das Bindeglied

Durch die Konfiguration wird eine Verhaltens-Beschreibung einer Entity eindeutig zugeordnet.

– Unterschiedliche Verhaltensbeschreibungen für ein Entityfür die Simulation oder zur Synthese.

? verschiedene Ausprägungen des Verhaltens? Simulation unterschiedlich aufwendig und schnell

– Schnittstellendefinition gilt für eine Klasse von Entitys,z.B.: UND,ODER, XOR, ...-Gatter jeweils mit zwei Eingängen? nur Erstellen einer neuen Verhaltensbeschreibung

Page 13: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

13

two_gate_nand_conf

x1

x2

y

Configuration – Beispiel

• Die Konfiguration bettet eine Architektur in eine Entity ein.

-- Configuration for nand with two Inputs

CONFIGURATION two_gate_nand_conf OF two_gate ISFOR two_gate_nand

. . .END FOR;

END two_gate_nand_conf;

Name der Entity

Name der zu verwendenden

Architektur

Name der Konfiguration

&x1 yx2 VHDL Kommentar

eingeleitet mit: --

Page 14: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

14

Zwischenstand

• bisher behandelt– Entity beschreibt die Kapsel einer logischen Einheit und

definiert deren Schnittstelle– Architecture beschreibt das Verhalten einer Entity als

Verhaltens- oder Strukturbeschreibung– Configuration verknüpft eine Architecture mit einer Entity

• was fehlt noch:– Komponenten

• zur Erstellung von Strukturbeschreibungen und • zum Einführen von Hierarchie-Ebenen

– Prozesse– Kontrollfluss, Automaten und Bitvektoren– Zeitverhalten

Page 15: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

15

Verwendung von Komponenten

• Hierarchische Verwendung von Komponenten

• Komplexeres Gatter – Beispiel: XOR– Strukturbeschreibung

– Port: 2 Eingänge und 1 Ausgang

– Wiederverwendung von two_gate,hier mit neuem Namen xor_gate.

&

&>

x1

y

x2

Geplanter Aufbaudes Entity xor_gate:

Komponenten

• ent1, ent2 (Und-Gatter)

• ent3 (Oder-Gatter)

• invx1, invx2 (Inverter)

Page 16: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

16

XOR-Entity

• Entity-Deklaration

LIBRARY ieee;USE ieee.std_logic_1164.all;

ENTITY xor_gate IS

PORT( x1, x2 : IN std_logic;y : OUT std_logic );

END xor_gate;

Page 17: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

17

XOR – Deklarationen

• Architektur-Deklarationsteil• Einbinden von fertigen Komponenten

ARCHITECTURE xor_behavior OF xor_gate IS

COMPONENT two_gatePORT ( x1, x2: in std_logic; y: out std_logic );

END COMPONENT;

SIGNAL connect1, connect2: std_logic;SIGNAL invx1, invx2: std_logic;

BEGIN...

Gater-Deklarationmit zwei Eingängen und einem Ausgang

Zwei Verbindungsleitungen für die 2 Und-Gatter und

das Oder-Gatter

Zwei Verbindungsleitungen für die invertierten Eingangssignale

Page 18: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

18

XOR – Instanzierungen

• Instanzierung und Verdrahtung der Komponenten

...ent1: two_gate PORT MAP (x1 => x1, x2 => invx2, y => connect1 );ent2: two_gate PORT MAP (x1 => invx1, x2 => x2, y => connect2 );ent3: two_gate PORT MAP (x1 => connect1, x2 => connect2, y => y );...

Instanz

Typ der Instanz Verdrahtung: Intern => Extern(aus Sicht der Komponente)

Page 19: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

19

XOR-Verschaltung

• Im einzelnen:

ent1: two_gatePORT MAP ( x1 => x1,

x2 => invx2,y => connect1 );

ent2: two_gatePORT MAP ( x1 => invx1,

x2 => x2,y => connect2 );

Page 20: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

20

XOR-Verschaltung

ent3: two_gatePORT MAP ( x1 => connect1,

x2 => connect2,y => y );

Zeilenumbrüche nicht von Bedeutung !!

Page 21: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

21

Process – Parallele Beschreibung

• Auswertung eines Prozesses:– Anweisung innerhalb eines Prozesses laufen sequentiell !– Ein Prozess ist wie eine Endlosschleife zu sehen– Ein Prozess muß mindestens eine Warteanweisung

( veränderliches Signal, Zeitdauer, Ereignis ) enthalten, damit keine „Endlosschleife“ ohne Zeitverbrauch entsteht.

Prozesssequentiell abarbeiten

Werte am Ende desProzesses bestimmen

Elvaluations-Zyklus

getriggertes Event

Veränderung eines sensitiven Signals zum vorigen Durchlauf

Signalestabil

Page 22: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

22

Process – Parallele Beschreibung

...BEGIN

[label:] PROCESS ( x1, x2, ... )BEGIN

parallele Umgebung;

END PROCESS [label];

END;

Prozessname (optional)

Prozessname(optional)

Innerhalb einer Architecture

Sensitivliste:angegebenen Signale aktivieren bei Signaländerung den Prozess.Analog zu: „warte darauf das sich bei x1 oder x2 irgend etwas ändert“ ( alternativ: wait-statement )

Verhalten wird parallel ausgewertet !Unterschied zu Variablen einer„gewöhnlichen“ Programmiersprache

VHDL

A <= B;C <= A;

JAVA

A = B;C = A;=

• Syntax eines Prozesses

Page 23: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

23

XOR-Architektur

• Invertierung der Eingangssignale

...INV : PROCESS ( x1, x2 )BEGIN

invx1 <= NOT x1;invx2 <= NOT x2;

END PROCESS INV;

END xor_arch;

Sensitiv-Liste

Zuweisung des invertierten Eingangssignals

Prozessname

Page 24: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

24

XOR-Kofiguration

• Zuweisen des Verhaltens an die instanzierten Entitys

CONFIGURATION xor_conf OF xor_gate ISFOR xor_behavior

FOR ent1,ent2 : two_gateUSE ENTITY work.two_gate(two_gate_and);

END FOR;

FOR ent3 : two_gateUSE ENTITY work.two_gate(two_gate_or);

END FOR;END FOR;

END xor_conf;

Entity 1 und 2 sind vom Typ:two_gate

Verwende das folgende Entity

Entity-Name

Zugewiesene Architektur der Entitys: AND-gate

Zugewiesene Architektur der Entity: OR-gate

Page 25: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

25

Kontrollfluss

• Verzweigung– IF – THEN – ELSE– CASE

LOGIC : PROCESS ( x1, x2, x3 )BEGIN

IF ( x1 = '1' ) THENy <= '0' ;

ELSIF ( x2 = '1' ) THENy <= '1' ;

ELSEy <= 'Z' ;

END IF;...

...

CASE x3 IS

WHEN '0' =>z <= '0' ;

WHEN others =>z <= '1' ;

END CASE;

END PROCESS LOGIC;

Default Fall

nichtelseif

Page 26: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

26

Automaten

• Zustandsbasierte Moore- oder Mealy-Automaten• Zustandsübergangsfkt. : current_state? next_state

TYPE state_type IS ( S0, S1 ) ;SIGNAL current_state, next_state: state_type ;

Automata : PROCESS ( current_state )BEGIN

CASE current_state ISWHEN S0 =>

next_state <= S1 ; ...WHEN others =>

next_state <= S0 ; ...END CASE;

END PROCESS Automata;...

Definition eines Zustandsvektors

Instanzierung eines Zustandsvektors

Setzen der Zustands-übergangsfunktion

Default Fall

S0

S1

? ?

Page 27: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

27

Automaten

• Fortschaltung der Zustände in separatem Prozess• Asynchrones Reset ? Rücksetzen auf Zustand „S0“• Synchroner Zustandsübergang bei steigender Flanke

vom Clock-Signal „CLK“

...Synch : PROCESS ( CLK, RESET )BEGIN

IF ( RESET = '1' ) THEN -- define an asynchronous resetCURRENT_STATE <= S0;

ELSIF ( CLK'EVENT and CLK = '1' ) THENCURRENT_STATE <= NEXT_STATE;

END IF;

END PROCESS Synch;

triggert auf steigende CLK-Flanke

Zustandsübergang

S0

S1

CLKCLK

Page 28: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

28

Bitvektoren

• Einzelne Leitungen können zu Vektoren zusammengefasst werden:std_logic ? std_logic_vector( )

• Beispiel: codierte Position mit 3 bit

ENTITY Position ISPORT( SOLL : in std_logic_vector( 2 downto 0 );

IST : out std_logic_vector( 0 to 2 ) );END Position;

3 Bit breiter binär codierter Positions-Vektor,Schreibweise (x downto y) entspricht der üblichen Interpretation der Binärstellen mit MSB und LSB(MSB: most significant bit, LSB: least ...)

22

1 1 021 20

LSBMSB? Pos: 6

20

0 1 121 22

MSBLSB? Pos: 6

steigende Wertigkeit

steigende Wertigkeit

Page 29: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

29

VHDL-AMS Vorteile und Eigenschaften

• Erweiterung von VHDL um Elemente zur Beschreibung analoger undgemischt analog- digitaler Systeme

• AMS = Analoge Mixed Signal• Spezifikation in IEEE 1076.1 (Obermenge von VHDL 1076 - 1993)

VHDL-AMSIEEE 1076.1-1999

VHDLIEEE 1076-1993

Page 30: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

30

VHDL-AMS Vorteile und Eigenschaften

• Vorteile beim Systementwurf- Betrachtung analog / digital gemischter Systeme- Betrachtung von nicht elektrischen Systemen- Einbeziehung der Umgebung in Entwurf

• Vorteile beim Analogentwurf- analoge Verhaltensmodellierung und –simulation

• Vorteile beim Digitalentwurf- genauere Modellierung (z. B. Submicron- Effekte)

• Vorteile beim Entwurfsablauf- Modellaustausch erleichtert- simulatorunabhängige Modelle- Rechenzeitreduzierung durch Verhaltensmodellierung

• Anwendungsgebiete- Digitale Systeme, analoge Netzwerke und regelungstechnische Systeme

Page 31: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

31

VHDL-AMS Vorteile und Eigenschaften

• Neues Simulationsmodell mit Unterstützung von kontinuierlichem Verhalten- kontinuierliches Modell basiert auf Diffentialgleichungssystemen (DAEs)- DAEs werden von einem unabhängigen Simulationskern gelöst- Bearbeitung von Initialbedingungen, stückweise definiertem Verhalten und Diskontinuitäten

• Erweiterte Strukturbeschreibungsmöglichkeiten- konservative Modelle und nicht-konservative Modelle- Gemischtsignalschnittstelle

• Gemischtsignalbeschreibungsmöglichkeiten- Vereinheitlichtes Modell der Zeit für Synchronisation von gemischtem ereignisorientierten und

kontinuierlichen Verhalten

• Frequenzbereichunterstützung- Kleinsignalfrequenz und -rausch Modellierung und Simulation

Page 32: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

terminal – analoge Klemme

externe und interne Verbindungspunkte

Die Erweiterung AMS -Neue Sprachelemente

konservative Klemmen

Beschreiben von Fluss(through)- und Differenz(across)-Größen gegenüber einem zugehörigen Bezugsknoten

nichtkonservative Klemmen

Beschreiben den zeitlichen Verlauf eines Signals (z.B. Ein- und Ausgänge von regelungstechnischen Blöcken)

twangl
32
twangl
3
twangl
twangl
twangl
3
twangl
3
twangl
4
twangl
6
twangl
6
Page 33: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

33

Neue Sprachelemente – Terminals

Komponente

Terminal n

i = n'contribution

n'reference

• Basis für strukturelle konservativeModelle

• Eigenschaft contribution gibt Flußin Komponente am Konten alsQuantity wieder

• Eigenschaft reference dieDifferenzgröße bezogen zurReferenz der Natur

twangl
twangl
twangl
Page 34: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

nature – Definition der Klemmentypen

✗ werden in Packages zusammengefasst

✗ Definitionen gehören nicht zum Sprachumfang

✗ fehlende Standardisierung

Vorsicht beim Einsatz von Packagesunterschiedlicher Hersteller !

Die Erweiterung AMS -Neue Sprachelemente

twangl
twangl
34
Page 35: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

35

Neue Sprachelemente – Nature

package electrical_ system issubtype voltage is REAL tolerance "default_ voltage";subtype current is REAL tolerance "default_ current";subtype charge is REAL tolerance "default_ charge";

nature electrical isvoltage acrosscurrent throughelectrical_ref reference;

alias ground is electrical_ ref;nature electrical_ vector isarray( NATURAL range <>) of electrical;end package electrical_ system;

Differenzgröße

Flußgröße

Bezugsknotender Natur

Vergabe vonToleranzklassen

Page 36: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

quantities – Definition physikalischer Größen✗ wirken entlang der Zweige des Systems✗ zeitabhängige Funktion✗ physikalische Dimension✗ Ableitungen und Integrale

Die Erweiterung AMS -Neue Sprachelemente

twangl
twangl
36
Page 37: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

8

Neue Sprachelemente – Quantities, SimultaneousStatements

ARCHITECTURE sd OF SigmaDelta ISQUANTITY input_v ACROSS input;QUANTITY output_v : REAL := 0.0;QUANTITY sum1 : REAL;QUANTITY voutint : REAL := 0.0;SIGNAL vref_help : REAL := vref;

BEGINSDW : ENTITY DigComparator(behav) GENERIC MAP

(vref=>vref) PORT MAP (clk, sum1, vref_help, output);

voutint == 1.0/tau1*output_v'INTEG;sum1 == input_v - voutint;output_v == vref_help;

END ARCHITECTURE sd;

Deklaration

Initialwert

Integrationeiner Größe

nichtlinearessimultanes DLG-System

NeuerZuweisungsoperator

twangl
37
twangl
34
twangl
twangl
34
Page 38: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

38

Neue Sprachelemente – Branch Quantities

p

m

VSinus ENTITY VSinus ISGENERIC (Va : REAL := 1.0;

freq : REAL := 1.0 );PORT (TERMINAL p, m : ELECTRICAL);

BEGINEND ENTITY VSinus;

ARCHITECTURE v1 OF VSinus ISQUANTITY v ACROSS i THROUGH p TO m;

BEGIN

v == Va* SIN( 2.0* math_pi* freq*NOW );END ARCHITECTURE v1;

v

i

Bezugsknoten

Differenzgröße

Flußgröße

Page 39: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

entity RC_GLIED isport(terminal P0,P1,P2 : electrical);

end;architecture STRUKTUR of RC_GLIED isbegin

R: entity RESISTOR port map(P1,P2);C: entity CAPACITOR port map(P2,P0);

end;

R

C

p1 p2

p0

Die Erweiterung AMS - Beispiel: RC-Glied

twangl
39
Page 40: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

entity RESISTOR isgeneric(R: REAL := 1000.0); -- default: 1kOhmport(terminal A,B: electrical);

end;architecture VERHALTEN of RESISTOR is

quantity U across I through A to B;begin

U == R*I;end VEHALTEN;

A B

UI

R

Die Erweiterung AMS - Beispiel: RC-Glied

R

twangl
40
Page 41: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

entity CAPACITOR isgeneric(C: REAL := 100.0e-9); -- default: 100nFport(terminal A,B: electrical);

end;architecture VERHALTEN of CAPACITOR is

quantity U across I through A to B;begin

I == C * U'dot;end VERHALTEN;

A B

UI

C

Die Erweiterung AMS - Beispiel: RC-Glied

C

twangl
41
Page 42: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

Simulationsergebnis des RC-Gliedes

Die Erweiterung AMS - Beispiel: RC-Glied

twangl
42
Page 43: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

43

Timing-Verhalten

• Timing kann unterschiedlich modelliert werden– wait for– after– Sensitivliste

• Benutzung eines Generic-Parameters• Hier: verzögerte Zuweisung (Ausgangsverzögerung)

ENTITY two_gate ISGENERIC( del_time: time := 2 ns );PORT( x1, x2: in std_logic; y: out std_logic );

END two_gate;

ARCHITECTURE two_gate_del_nand OF two_gate ISBEGIN

y <= NOT ( x1 AND x2 ) AFTER del_time;END two_gate_del_nand ;

Verzögerte Zuweisung nach 2ns

Parameter für Verzögerungszeit mit Defaultwert

twangl
Page 44: vhdl crashkurs SS02 - Startseite TU Ilmenau · PDF file2 VHDL • Hardware-Beschreibung zum Zwecke der – Patentanmeldung von Algorithmen – Simulation – Synthese von IC‘s •

44

• Literatur– Vorlesung "VHDL-Crashkurs": S. Ihmor, T. Lehmann– Buch "Schaltungsdesign mit VHDL": G. Lehmann, B. Wunder, M. Selz

E O F ( end of file )

VHDL, VHDL-AMS

– Vortrag "VHDL Quick Start": P.J. Ashender

– Hauptseminare "VHDL-AMS": M. Zens; A. Stahl– Broschüre "VHDL-AMS Einführung" TU Darmstadt: A. Huss