Forum: FPGA, VHDL & Co. VHDL Unterschied zw Software und Hardware


von Logi (Gast)


Lesenswert?

Hallo Leute,

mal eine Frage nach den Grenzen von VHDL. Nach der Simulation mit 
ModelSim ist meine Funktion ok, aber nachdem das JED File in die 
Hardware gespeichert wurde, funktioniert ein Teil des Programms nicht 
mehr...

Gibt es irgendwo eine Übersicht, welche Algorithmen oder Strukturen in 
VHDL für die Hardware Probleme gibt?

Vielen Dank,
Logi

von FPGAküchle (Gast)


Lesenswert?

Es gibt das Gegenteil, eine Vorschrift wie VHDL geschrieben werden muß, 
das es für die Hardware (FPGA) und Synthesetool (Xilinx:XST) 
funktioniert. nennt sich synthesis style guide. Einen einheitlichen 
standard für synthesefähigen VHDL code gibt es nicht, da kocht jeder 
hersteller sein eigenes süppchen.

von Schlumpf (Gast)


Lesenswert?

Was aber auf jeden Fall unabhängig vom Chiphersteller ist:
Achte auf ein synchrones Design. Das heisst, dass alle Register mit dem 
gleichen Takt schalten.
Dies ist ein beliebter "Anfängerfehler", der in der Simulation meistens 
keine Probleme bereitet, aber dann im Chip für lustige Effekte sorgt.

von Henk (Gast)


Lesenswert?

>Dies ist ein beliebter "Anfängerfehler",

Es ist auch ein beliebter Fehler "Anfänger", dahingehend zu beraten, daß 
man zusehen soll, nur einen clock zu nutzen. Was machst Du, wenn Du 4 
Stück im Design zu verarbeiten hast ?

Nix bauen?

von Joe (Gast)


Lesenswert?

@Henk : Anfänger haben keine 4 Clocks im Design.

von Schlumpf (Gast)


Lesenswert?

Genau Joe ;-)

Henk, ich meinte den typischen Fehler: Taktteiler bauen und mit dem 
geteilten Takt den Rest der Schaltung versorgen und dann am Kopf 
kratzen, dass das Zeug nicht funzt.

Kaum ein Anfänger wird sich darüber Gedanken machen, wie er vier Takte 
zusammen in ein Design bringt, wenn er sich über die Problematik von 
Setupzeit-Verletzungen nicht im klaren ist.
Erst wenn er das kapiert hat, dann ist ihm auch klar, warum er z.B. ein 
FIFO braucht.

Ich halte es in keinster Weise für einen Fehler, Anfänger dahingehend zu 
beraten. Denn das ist die Grundregel eines synchronen Designs. Und 
überall, wo das Design nicht mehr synchron ist, muss an den 
"Stossstellen" der Clockdomains peinlichst darauf geachtet werden, dass 
es nicht knallt.

von Ulf (Gast)


Lesenswert?

Für solche Zwecke lohnt es mal im ModelSIM künstlich "after" tags 
einzusetzen und die clock-Verzögerungen zu simulieren. Dann sieht man 
schon rasch, wann und warum, die geteilten clocks nicht die Wirkung 
haben, wie gedacht. Wenn der Master etwas Vorlauf hat, passt das schon 
:-)

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.