Hallo zusammen, um VHDL zu lernen habe ich mir das Buch vom Ashenden geholt und arbeite mich durch die Übungen. Bei Aufgabe 11 in Kapitel 1 scheiter ich allerdings an der Simulation. An den Ausgängen passiert nichts. Die Aufgabe ist eine Entity für einen 4-bit breiten Multiplexer aus einfachen Mutliplexern erstellen, und dafür einen "structural architecture body" schreiben. Soweit so gut. Nur bei der Simulation passiert nichts. Vielleicht weil ich keinen process habe, und somit auch keien sensitivity list?
Schau genau: > a1 : in bit; > a2 : in bit; > a3 : in bit; > b0 : in bit; > b1 : in bit; > b2 : in bit; > b3 : in bit; > b4 : in bit; > sel : in bit; > z0 : out bit; > z1 : out bit; > z2 : out bit; > z3 : out bit); und >dut : entity work.multiplexer_4(structure) > port map (a0, a1, a2, a3, b0, b1, b2, b3, sel, z0, z1, z2, z3); Da ist der Fehler schön versteckt... Mach es doch mal so: dut : entity work.multiplexer_4(structure) port map (a0 => a0, a1 => a1, a2 => a2, und so weiter
1 | y <= tmp after 1 ns; |
Lass schnellstmöglich diese symbolischen Zeiten in der funktionalen Simulation weg. Du handelst dir damit evtl. schneller Probleme ein, als du andere wegbekommst. Mehr dazu im Beitrag "Re: Frage zu Pseudozufallsgenerator!?" Und im Beitrag "Re: Feedback für Drehgeber Design"
Vielen Danke für den Hinweis, kbo. Ich hab das schädliche b4 gefunden. Jetzt hakt es allerdings an anderer Stelle in ISim: ERROR: Resolution function required for the Net /test_bench/a2 driven by: /test_bench//multiplexer_tb.vhd:stimulus /test_bench/dut/bit2//multiplexer.vhd:p1 Die Fehlersuche muss ich aber aus Zeitmangel vertagen. Falls ich nicht weiter komme schreib ich nochmal hier rein.
sieht so aus als würden zwei verschiedene prozesse auf das selbe signal schreiben. schau dir einfach mal stimulus und p1 an. vielleicht siehst du es dann schon.
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.