Warum wenige Bit-Typen in Deutschland im VHDL?

Gast #3861316
Lesenswert?

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 #3861474
Lesenswert?

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 ;)
#3861494
Lesenswert?

> 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 #3861597
Lesenswert?

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

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