Forum: FPGA, VHDL & Co. Warum wenige Bit-Typen in Deutschland im VHDL?


von Peter B. (funkheld)


Lesenswert?

Warum beinhalten im Ausland die VHdL noch sehr viele Bit-Typen und in 
Deutschland sind sie fast ausgerottet bzw nicht zu finden?

Grus

: Bearbeitet durch User
von Bernd G. (Gast)


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.

von Paul B. (Gast)


Lesenswert?

Peter Bierbach schrieb:
>  viele Bit-Typen und
Was meinst Du damit genau?

von Christian R. (supachris)


Lesenswert?

Frank Petelka schrieb:
> Was meinst Du damit genau?

Wahrscheinlich dass man hierzulange bzw. heutzutage std_logic_vector 
anstatt bit_vector nimmt. Früher hatte man lieber Bit-Vektor, der kennt 
nich so viele zustände wie std_logic (immerhin 9)...aber wie schon 
geschrieben ist das mittlerweile ziemlich irrelevant.

von Traumatisierter Reichardt-Student (Gast)


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 ;)

von Duke Scarring (Gast)


Lesenswert?

Traumatisierter Reichardt-Student schrieb:
> 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.
Deshalb verwende ich std_ulogic. Da hat man beide Vorteile vereint.

Duke

von Georg A. (georga)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.