Hallo Leute, kann vielleicht jemand mir helfen einen VHDL-Code für einen Paritätsgenerator unter verwendung der for-Schleife Wenn die Anzahl der "1" im Eingangssignal (8bit-Bus)ungerade ist, soll das Ausgangsignal "1" sein zu schreiben?
@ Irina "l" (irinal) >kann vielleicht jemand mir helfen einen VHDL-Code für einen >Paritätsgenerator unter verwendung der for-Schleife Hausaufgaben? MFG Falk
Ja, ich habe geschrieben, aber bin nicht sicher, dass meine Lösung richtig ist.
@ Irina "l" (irinal) >Ja, ich habe geschrieben, aber bin nicht sicher, dass meine Lösung >richtig ist. Na dann poste mal deine Lösung und wir können sie bewerten. MFG Falk
Ich behaupte mal, D_input muss vom Typ std_logic_vector sein und nicht std_logic.
entity PARGEN8 is port( D_Input : in std_logic_vector; EVEN_output : out std_logic; ODD_output : out std_logic); end PARGEN8; architecture Behaviour of PARIGEN8 is signal D_Input : std_logic_vector (7 downto0); begin PARGEN: process( D_input ) begin variable p std_logic; begin p:= D_input(1); for I in 1 to 7 loop if D_input(I)='1' then p := not p; end if; end loop; if PAR then GERADE <= '1'; else GERADE <= '0'; end if; EVEN <= not p; ODD <= p; end process PARGEN8; end Behaviour;
@ Irina "l" (irinal)
>Ja, klar, das habe ich vergessen. Und Rest?
Im Prinzip richtig, wenn gleich recht akademisch. Ich würde es so
machen.
1 | entity PARGEN8 is |
2 | port( D_input : in std_logic_vector(7 downto 0); |
3 | EVEN_output : out std_logic; |
4 | ODD_output : out std_logic); |
5 | end PARGEN8; |
6 | |
7 | architecture Behaviour of PARIGEN8 is |
8 | begin
|
9 | |
10 | PARGEN: process( D_input ) |
11 | variable p std_logic; |
12 | begin
|
13 | p:= D_input(0); |
14 | for i in 1 to 7 loop |
15 | p := p XOR D_input(i); |
16 | end loop; |
17 | EVEN <= p; |
18 | ODD <= not p; |
19 | end process; |
20 | |
21 | end Behaviour; |
MFG Falk
Vielen Dank. Ich habe aber nicht verstanden bei mir begin p:= D_input(1); und bei dir begin p:= D_input(0); ist mein (1) falsch?
@ Irina "l" (irinal)
>ist mein (1) falsch?
Ja, denn ein Vektor fängt (meist) mit dem Index 0 an.
MFG
Falk
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.