VHDL Anfängerproblem: Werte zwischen Prozessen austauschen

Gast #536725
Lesenswert?
• ▲
▼
Hallo,
ich bin noch blutiger VHDL Anfänger und stehe mal wieder auf dem 
Schlauch:
Ein Signal soll bei steigender Taktflanke den einen, und bei fallender 
Taktflanke einen anderen Wert annehmen.
Nun habe ich das Problem, dass in einem Prozess nur ein 'event verwendet 
werden darf und andererseits von zwei Prozessen nicht auf das gleiche 
Signal schreibend zugreifen darf.
Wie kann ich das Lösen?
Gibt es bei VHDL so eine art "globale variable"?
Gast #536738
Lesenswert?
• ▲
▼
Ja, Du kannst im Deklarationsteil der architecture "signal" 
Vereinbarungen machen. Das Verhalten ist wie bei jedem anderen signal 
auch. In beiden Prozessen weist Du den Wert einem Signal zu und in einem 
weiteren concurrent statement machst Du dann die Zuweisung an den 
Port-Pin...
#536740
Lesenswert?
• ▲
▼
@ Bastler0815

>Ein Signal soll bei steigender Taktflanke den einen, und bei fallender
>Taktflanke einen anderen Wert annehmen.

Geht nicht, weil das physikalisch-technisch nicht machbar bzw. sinnvoll 
ist. Jaja, es gibt Dual-Edge FlipFlops z.B. im Coolrunner-II, aber das 
sind Ausnahmen.

>Nun habe ich das Problem, dass in einem Prozess nur ein 'event verwendet
>werden darf und andererseits von zwei Prozessen nicht auf das gleiche
>Signal schreibend zugreifen darf.
>Wie kann ich das Lösen?

Die meisten Probleme lassen sich sehr gut mit den klassichen Ansätzen 
lösen, sprich nur eine Taktflanke wird verwendet. GGf. nimmt man zwei 
Signale, eins reagiert auf die steigende, das andere auf die fallende 
Flanke. Beide werden dann geschickt logisch verknüpft.

>Gibt es bei VHDL so eine art "globale variable"?

Vergiss das. Sag lieber mal, wozu du glaubst so ein Verhalten zu 
brauchen.

MfG
Falk
Gast #536787
Lesenswert?
• ▲
▼
@Falk:

danke schon mal für Deine schnelle Hilfe!

Ich will einen Bitcode auswerten, in dem es ein "Toggelbit" gibt, d.h. 
erst nach einer Änderung dieses Bits darf ich einen Teil des Codes 
übernehmen. Nach einer Bestätigung wird der Code wieder ungültig, bis 
das Bit wieder "toggelt".
#536797
Lesenswert?
• ▲
▼
@ Bastler0815

>Ich will einen Bitcode auswerten, in dem es ein "Toggelbit" gibt, d.h.
>erst nach einer Änderung dieses Bits darf ich einen Teil des Codes
>übernehmen. Nach einer Bestätigung wird der Code wieder ungültig, bis
>das Bit wieder "toggelt".

Für das Problem sehe ich auf die Schnelle drei Lösungen.

a) Ein Handshake-Protokoll ala EPP am Parallel-Port
b) Dein Toggle-Bit mittels schnellem Takt abtasten, ein Toggeln kann 
dann durch einfache Logik erkannt werden (Speicherung mittels zweier 
FlipFlops und Vergleich per XOR)
c) Verwendung von zwei Prozessen, wie bereits beschieben, die Auswerung 
per XOR dann ebenso

MFG
Falk

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