Hi ich weiss momentan nichtmehr weiter bei dieser Fehlermeldung , er soll bei einen Uebergegeben Bitvector "B" die erste stelle ueberpruefen per Fallunterscheidung und dann dementsprechend reagieren! Also bei einer 1 von der ersten Bitstelle bei B den Vektor A ind H kopieren und bei einer 0 dann H mit nullen auffuellen. Mfg. ! PP1: process (A,B,H) begin case B(0) when B(0)= '1' => H(0)<=A(0); => H(1)<=A(1); => H(2)<=A(2); => H(3)<=A(3); when others => H <=(others=>'0'); end case; end process PP1; FEHLERMESSAGE : ERROR:HDLParsers:164 - "C:/MU.vhd" Line 51. parse error, unexpected WHEN, expecting IS
PP1: process (A,B,H) begin case B(0) is when '1' => H(0)<=A(0); H(1)<=A(1); H(2)<=A(2); H(3)<=A(3); when others => H <=(others=>'0'); end case; end process PP1; nicht geprüft, sollte aber klappen.
Huhu, Vielen Dank schonmal! Nun setzt er da keine Fehler mehr, jedoch sagt er nun Error Signal H has a multi source. Wobei das Signal so deklariert wurde : signal H : bit_vector ( 7 downto 0 );
Hier mal die komplette Datei Der Background ist das ein 4x4 Multiplizierer mithilfe eines Ripple-Carry-Adders realisiert werden soll. Mfg
Signal h hat in dem von dir verlinkten Code keine multiple drivers, compiliert bei mir auch ohne probleme wenn ich die 3 anderen case-statements(pp2-4) rausnehme die noch falsch beschrieben sind. Ich würde das zwar ohnehin anders beschreiben : H <= A when B(0)='1' else (others => '0'); aber du hast explizit nach dem "case" gefragt... allgemein solltest du Vektoren auch Vektoren zuweisen und nicht alle Strippen einzeln ziehen : statt L(0)<= SUM1(0); ... L(7)<= SUM1(7); einfach L <= Sum1; weitere tipps : als Library verwendet man heute aktuellere : library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; und damit dann auch "std_logic_vector" oder am besten gleich "unsigned" anstatt bit_vector.
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.