mikrocontroller.net

Forum: FPGA, VHDL & Co. Was bringen std_logic-Variablen


Autor: Christian Peters (kron)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich arbeite hier gerade ein Design durch (nicht von mir)
und finde oft in Prozessen std_logic- bzw. std_logic_vector-Variablen.

Hat die Verwendung solcher Variablen irgendwelche Vorteile?

Gilt hier auch, dass die Wertzuweisung dieser Variablen sofort erfolgt 
(also die Wertzuweisung von Signalen)?

Was passiert dann, wenn die Werte der Variablen wieder Signal zugewiesen 
werden, und wann passiert es?

Kann ich nicht das Gleiche nur mit Signalen erreichen?

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei std_logic ist der Vorteil, dass die Logik 7-wertig ist. Wenn du z.B. 
Signalkonflikte hast, ist das Signal dann ein 'X'. Oder ist es nicht 
initialisiert ein 'U' usw.

Es gibt dazu auch Verknüpfungstabellen was z.B. bei '1' und '0' 
rauskommt, wenn sie miteinander verbunden werden (Kurzschluss: 'X')

Wenn man die in Prozessen verwendet, dann kann man zum Beispiel außen 
dann sehen - irgendwann werden die Werte ja doch nach draußen gegeben wo 
sie in ein signal z.B. reinkommen - ob es einen Fehler im Prozess gibt 
mit irgendwelchen Konflikten usw.

Wenn du nur 2-wertige Logik wie normale Bitvektoren verwendest, dann 
gehen die Informationen verloren.

Ansonsten: Variablen sind Variablen egal welchen Typs.

/Manfred

Autor: alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn man die in Prozessen verwendet, dann kann man zum Beispiel außen
>dann sehen - irgendwann werden die Werte ja doch nach draußen gegeben wo
>sie in ein signal z.B. reinkommen - ob es einen Fehler im Prozess gibt
>mit irgendwelchen Konflikten usw.

Wären für solche Fälle die Variablen/Signale vom Typ std_ulogic nicht 
besser geeignet?

Autor: Christian Peters (kron)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Hauptfrage ist hier,
ob statt Variablen nicht auch Signale verwendet werden können

Autor: Michael Niegl (bigmike47)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nicht, wenn die variablen sofort den neuen Wert bekommen müssen

Autor: adpat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meiner Meinung nach sind Variablen nicht unbedingt empfehlenswert zu 
verwenden und stiften nur Veriwrrung. In Hardware kann man sich alles 
besser als Signal vorstellen, wenn man so will.

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Meiner Meinung nach sind Variablen nicht unbedingt empfehlenswert zu
> verwenden und stiften nur Veriwrrung. In Hardware kann man sich alles
> besser als Signal vorstellen, wenn man so will.

Das ist ja fast so, als würdest du jemand von der Verwendung von 
for-Schleifen in C oder C++ abraten. Das gehört dazu und ist genauso 
wichtig.

Ich verwende sehr oft Variablen, aber ich weiß halt auch wofür man sie 
verwenden kann

/Manfred

Autor: Christian Peters (kron)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, wofür kann man (speziell) std_logic-Variablen verwenden,
was mit Signalen nicht oder nur schlecht ginge?

Autor: Michael Niegl (bigmike47)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sämtliche logische pfade, bei denen die instanzierung von zusätzlichen 
latches vermieden werden muss

Autor: Der andere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende Variablen gerne um größere Berechnungen mit 
Formatkonvertierungen aufzudrößeln. Das wird dann sehr viel 
übersichtlicher.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.