Warum wenige Bit-Typen in Deutschland im VHDL?

Gast
Nimm das Buch von Reichard/Schwarz, da gibt es die Bits noch.
Aber zur Frage: das wird wohl daran liegen, dass die heutigen Rechner 
solchen Overkill an Rechenleistung haben, dass man sich an dieser Stelle 
nicht einschränken muss.
Gast
Bernd G. schrieb:
> Nimm das Buch von Reichard/Schwarz, da gibt es die Bits noch.

Reichardt legt aus zwei Gründen Wert auf die Verwendung vom Datentyp 
bit:

1. Kürzere Simulationszeit
2. Häufiger Anfängerfehler: Zwei oder mehr Prozesse treiben selbes 
Signal. Das wird bei Nutzung von bit beim Compilieren bemerkt, bei der 
Nutzung von std_logic erst bei der Implementierung.

Punkt 1 ist mit den schnellen Rechnern von heute wohl irrelevant, Punkt 
2 bezieht sich auf VHDL-Anfänger. Reichardt erwähnt auch der 
Vollständigkeit halber, dass Experten wohl eher std_logic nutzen werden.

Also gibts keinen triftigen Grund, den Datentyp bit zu nutzen. Die 
Beobachtung, im Ausland würde noch häufiger bit genutzt werden, kann ich 
nicht bestätigen. In den 3 mir vorliegenden angelsächsischen Büchern 
wird std_logic verwendet.

In seiner Vorlesung sprach Reichardt immer vom std_logic-Führerschein, 
den wir erst nach Bestehen seiner Klausur erhielten ;)
> Häufiger Anfängerfehler: Zwei oder mehr Prozesse treiben selbes
> Signal. Das wird bei Nutzung von bit beim Compilieren bemerkt, bei der
> Nutzung von std_logic erst bei der Implementierung.

... oder bei der Simulation, die man ja eigentlich vor der Synthese 
machen sollte, was der eilige Student natürlich nicht macht... Man 
sollte halt auch drauf schauen, ob irgendwo rote Xe auftauchen. ghdl 
bringt auch warnings, wenn Operatoren mit X rechnen. Das ist (ausser 
kurz nach dem Reset) ohnehin verdächtig. Und wenn's wirklich stört, 
gibts ja auch noch std_ulogic.
Moderator (Firma: Titel) Persönliche Seite
Traumatisierter Reichardt-Student schrieb:
> Zwei oder mehr Prozesse treiben selbes Signal. Das wird bei Nutzung von
> bit beim Compilieren bemerkt, bei der Nutzung von std_logic erst bei der
> Implementierung.
Ich sehe da keinen Unterschied. Bei mir merkt der Synthesizer beides und 
noch viel mehr...

"bit" vs. "std_logic/std_ulogic" betrifft ausschließlich die Simulation. 
Dort bemerkt der Compiler (nur beim Simulator gibt es überhaupt einen 
Compiler) einen Konflikt mit zwei treibenden bit sofort.
Mit std_logic läuft evtl. eine Simulation aber erst lange, bevor ein 
Konflikt tatsächlich auftritt (es müssen ja beide Quellen einen 
unterschiedlichen dominanten Pegel treiben). Und es könnte lästig sein 
dass so ein Fehler erst nach Stunden bemerkt wird, und hinterher die 
Simulation einfach weiterläuft. Das ist bei std_ulogic ein wenig 
"besser": hier hält der Simulator bei einem Konflikt unabhängig von der 
"Signalstärke" einfach an (es gibt bei diesem Datentyp ja keine 
Auflösungstabelle).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.