VHDL-Forum - Allgemeines

Wann macht VHDL Sinn?

Wann macht VHDL Sinn?

Moin


Ich muß mal vorwegschicken das ich vollkommener Neuling auf dem Gebiet bin. Hättet ihr aber eh gleich gemerkt.

Wenn ich das Prinzip von VHDL richtig verstanden habe kann man mit dieser Sprache "Bauteile" und die dadrin ablaufenden Prozesse beschreiben. Dabei sieht man aber nicht wie das Programm die angeben letzten endes auf dem Chip realisiert.
Wenn das soweit richtig ist, woher weiß man denn wie effektiv das Programm die gewünschten Anforderungen umsetzt? Macht VHDL eher bei großen oder auch schon bei kleinen Projekten Sinn?


mfg
happy

Re: Wann macht VHDL Sinn?

Moin Happy.

Es gibt zwei Hauptunkte, die erfüllt sein sollten (müssen ):
Zwischen der Spezifikation und dem Zieldesign stehen dann zwei Dinge. Zum einen der Designer selbst, der den größten Einfluss durch die Art und Weise seiner Umsetzung in VHDL hat; oder um es platt zu Sagen wie gut er mit Hilfe von VHDL programieren (designen) kann.
Zum anderen ist dann noch der VHDL-Compiler (mit Synthese, Mapping und Place & Route), der dann seinen Job so gut oder schlecht wie möglich macht.
Wenn jetzt das fertige Design schneller läuft als die geforderte Taktfrequenz und möglichst wenig Platz im FPGA benötigt, sind die Anforderungen effektiv umgesetzt. Man sollte es aber nicht übertreiben, da der Faktor Zeit ja auch nicht außer Acht gelassen werden sollte (besonders in der freien Wirtschaft, also in echt ).

Meinst Du jetzt im Vergleich zu Verilog (andere Hardwarebeschreibungssprache) oder meinst Du den prinzipiellen Einsatz von FPGAs, die Zielhardware für VHDL. Man könnte ja auch Microkontroller benutzen.


Mfg
DaMicha.


Re: Wann macht VHDL Sinn?

Moin


Ist damit gemeint das, wenn ich z.B. auf einen steigende Flanke beim Clock reagiere das Programm bis zur nächsten steigende Flanke einmal durchgelaufen sein muß?
Ich meinte damit, wann nutzt man VHDL, wann nimmt man noch Blocksymbole oder was es auch sonst noch für möglichkeiten gibt die Hardware zu beschreiben.


mfg
happy

Re: Wann macht VHDL Sinn?

Moin Happy.

Ja fast, nur das es sich nicht um die komplette Logik handeln muss, sondern auch nur eine Teilaufgabe abgearbeitet werden kann.
Mal ein Beispiel:
x = (a + b) + (c + d)
a,b,c,d,x sind Register und die Plus Operatoren ist die Logik, die diese verknüpft.
Es müssen also die drei Plus-Operatoren innerhalb eines Taktzykluses durchgeführt werden. Wobei die geklammerten parallel ausgeführt werden können. Der Takt muss also so langsam sein, dass 2 Plus Operatoren ausgeführt werden können.

Man kann die Aufgabe aber auch aufteilen (mit zwei zusätzlichen Registern x1, x2):
x1 = a+b
x2 = c+d
im ersten Takt und
x = x1 + x2
im zweiten Takt.
Das Ergebnis ist das gleiche nur das zwei Takte benötigt werden. Dafür benötigt man nur noch die Laufzeit von einer Addition zwischen den Registern. Der Takt kann also schneller sein.

Blocksymbole habe ich eigentlich noch nie verwendet (außer auf nem Blatt Papier ;-) ). Habe aber schon gesehen, das auf höheren Ebene Komponenten mit Hilfe einer Blockansicht zusammengeschaltet werden (z.B.: Rechenwerk, SDRAM-Interface, IO-Schnittstellen, usw.). Ist Geschmackssache und vielleicht etwas übersichtlicher, da man ähnlich wie bei einem Leiterplattenlayout die Struktur des Designs vor Augen hat.
Bei kleinen Designs (einfache logische Verküpfungen) könnte man Blöcke höchstens noch beim Lehren einsetzen, um eine Vorstellung zu vermitteln.

Mfg
DaMicha