Forum: FPGA, VHDL & Co. Verilog nach 74xx


von Gustav (Gast)


Lesenswert?

Hier gibt es ein kleines Projekt, bei dem Verilog Code in 74xx Logik 
umgesetzt wurde:

https://hackaday.com/2019/07/20/breathing-led-done-with-raw-logic-synthesized-from-a-verilog-design/

Die Schaltung scheint etwas aufwändig. Wie könnte man das minimieren und 
wie viele Resourcen würden in einem CPLD oder FPGA verbraucht?

von Gustl B. (-gb-)


Lesenswert?

Nun, das ist echt untypisch. Wenn man 74 Steine verwendet dann genau 
anders herum. Man hat eine Schaltung in 74 und möchte die in einen FPGA 
stecken. Also baut man alle 74 Steine in VHDL/Verilog nach und dann 
verbindet man sie wie auf der Platine und steckt sie in das FPGA. Das 
macht vor allem Sinn wenn es um 74 Steine geht die man heutzutage kaum 
noch kaufen kann oder viel Platz gespart werden soll.
Hier https://gus.tl/fpga hatte ich auch ein paar 74 Steine in VHDL 
beschrieben.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Ja eigentlich macht mans andersrum.
Unser MIPS TTL Projekt haben wir auch erst in VHDL nachgebaut zum 
Designtest und viele Bugs gefunden.
Hier gibts die 74er Steine: 
http://www.fritzler-avr.de/spaceage2/down_vhdl.htm

Ansonsten ist die RTL Ausgabe der synthesen noch nicht das 
Minimaldesign.
Das ist nur zum nett ansehen, bzw gucken ob die synthese verstanden hat 
was man von ihr wollte.
Erst wenn alles in LUTs gequetscht wurde ist es minimal, da verschwinden 
dann ganze Gattergruppen in der LUT.

von -gb- (Gast)


Lesenswert?

Aber LUTs kann man einzeln kaufen und verlöten.

von Gustav (Gast)


Lesenswert?

Mw E. (Firma: fritzler-avr.de) (fritzler)
>Das ist nur zum nett ansehen, bzw gucken ob die synthese verstanden hat
>was man von ihr wollte.

Ich verstehe nicht ganz, was du mit deinen Aussagen meintest.
Mein Verdacht ist, dass der VHDL-Synthethisierer nicht so gut im 
Optimieren ist, wie das Design in 74er Chips von Hand. Dann wäre aber 
die Frage, was die Synthese in VHDL am Anfang bringt.

Die Schaltung aus Hackaday sieht von weitem jedenfalls so aus, als wenn 
sich da ziemlich viel sparen ließe.

Wenn ich Zeit habe, werde ich das mal an irgend was einfachem probieren.

von -gb- (Gast)


Lesenswert?

Nun, erstmal wird aus dem VHDL eine netlist genau. Also so richtig mit 
gattern und so. Aber das sind Bauteile die es im fpga nicht gibt. Da 
gibt es luts. Das Palace and Route bildet dann die Schaltung aus gattern 
und so auf die real vorhandenen Bauteile im fpga ab. Und dabei wird dann 
optimiert.

von Vancouver (Gast)


Lesenswert?

-gb- schrieb:
> Das Palace and Route bildet dann die Schaltung aus gattern
> und so auf die real vorhandenen Bauteile im fpga ab.

Nein, dieser Schritt heißt Technology Mapping oder einfach Mapping und 
wird heutzutage meistens gleich bei der Synthese mitgemacht, weil man da 
am besten optimieren kann. PAR legt nur die Lage der im FPGA verwendeten 
Ressourcen fest, sodass das Timing eingehalten wird. Manchmal ist es 
dabei notwendig das Teile des Design erneut gemappt werden (bei Vivado 
heißt das Resynthesis).

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Der Name bei der Synthese ist eigentlich Programm.
Dieser Schritt versucht aus dem VHDL/Verilog Code rauszulesen was du 
eigentlich willst.
Der Code wird also auf Gatter abgebildet, aber noch nicht optimiert.
Außer er erkennt direkt, dass ein Eingangssignal auf VSS/VDD hängt und 
dmait alles danach weg kann.

Dabei fällt eben auch die Gatteransicht bei raus.
In der kann man nachgucken ob zB auch die IOs so belegt sind wie man das 
wollte.

Die Abbildung auf die FPGA hardware wird dann im Translate Schritt 
durchgeführt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.