Guten Morgen... Ich habe gerade ein Problem mit dem befehl rol. Ich muss gestehen, das ich ihn bis jetzt immer schön umgangen habe, da ich es nie geschafft habe ihn einzusetzen. Aber ich dneke mal ihr könnt mir da weiterhelfen. Ich habe ein Signal (std_logic_vector(3 downto 0) und im inhalt den Wert "0001". Nun möchte ich die 1 immer reihum durch das Schieberegister schieben. Mit der Befehlszeile Sreg <= Sreg rol 1; bekomme ich immer die Fehlermeldung: rol can not have such operants in this context. Aber die 1 musdoch zur bestimmung der Schiebeschritte eingetragen werden. Wenn ich die 1 weglassefunktionieerts auch nicht. Danke für eure Hilfe.
Es geht aber ganz einfach Du must einfach nur folgendes machen: Sreg <= Sreg(2 downto 0) & Sreg(3); Dieser Befehl nimmt den Vektor (2 downto 0) und hängt an der rechten Seite (also das neue LSB-Bit) das alte MSB-Bit an. Somit kannst Du die '1' durchschieben. (benutze dafür aber eine Takt) MfG Michael
@ Michael... genau so habe ich es bis jetzt auch immer gelöst. Aber mir wurde geasagt, das es von der Umsetzung in die Logik nicht so gut sei als mit dem ROL Befehl. deswegen qwollte ich das auch mal vergleichen, wie die Umsetzung der beiden Möglichkeiten ausschauen.
Hallo Axel Der Befehl den Du verwenden willst, wurde erst mit dem VHDL93-Standard eingeführt. Du solltest deshalb mal in den Optionen Deines Tools nachschauen, ob dieser auch eingestellt ist. (Deine Erfahrungen bezüglich der Geschwindigkeit würden mich auch sehr interessieren kannst ja denn mal posten) Grüsse Michael
Jupp... ich werd es heute oder morgen malgenauer betrachten bezüglich Platzverbrauch und Geschwindigkeit. Das mit der Synthese ist ja am besten nach dem Prinzip Trial and error zu erforschen :-).
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.