VHDL prozesse synchronisieren

Gast #2232353
Lesenswert?

Hallo,

Ich erhalte durch Modelsim immer folgenden fehler: "Nonresolved signal 
***  has multiple sources"

Das signal ist ein gewöhnluiches std_logic signal welches im 
architecture definiert ist. ich nutze es eigentlich nur um zwei prozesse 
mit unterschiedlichen takt zu synchronisieren. offenbar mag das modelsim 
nicht :)

was gibt es denn sonst noch für möglichkeiten vhdl prozesse zu 
synchronisieren?

mfg
#2232386
Lesenswert?

mikrofriendly schrieb:
> has multiple sources

Heißt, dass du aus zwei (oder mehr) Prozessen schreibend auf ein Signal 
zugreifst. Das geht nicht. Ein Signal kann immer nur von einem Prozess 
beschrieben werden. Klingt als gehst du nach Software-programmier-Weise 
da ran. Das geht immer schief. VHDL ist Hardware, Signale sind einfach 
gesprochen Kabel. Du kannst nicht ein Kabel mit 2 Spannungen betreiben, 
das gibt Kurzschluss.
Gast #2232457
Lesenswert?

IN der reinen Simu geht das und auch in der HW funktioniert es , wenn 
sich die Zugriffe zeitlich ausschließen. Trotzdem ist das eine unnötige 
Problemgruppe, weil man sowas durch einen einfachen Trick ausschließen 
kann:

Signale werden immer nur in einem einzigen Prozess, als eine Funktion 
anderer Signale beschrieben. Und zwar in kompletter Abdeckung aller 
möglicher Signalzustandskombinationen, wobei man genau alle Signale die 
einfluss haben können, dem Prozess zuführt und genau alle anderen 
komplett weglässt.


Ich stelle das immer so dar, dass ich von "Definition von hinten" 
spreche. Man fängt hinten am Ausgang des FPGAs an und definiert die 
Signale nach vorn. Das ganze wird damit automatisch strukturorientiert 
und nicht etwa "ereignisorientiert".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren