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
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.
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.
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 ;)
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
> 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.