PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei VHDL-Klausur



DirkDiggler
01.05.2006, 22:56
Hallo,

habe seit diesem Semester VHDL, jetzt hab ich mir mal ne alte Klausur
(http://www.8ung.at/gerschi/studikram/Prog_Bausteine/ws2002_2003.pdf)
von unserem Prof angeschaut und da kam mir dass kalte Grausen weil ich
nicht weiß wie ich seine Aufgaben lösen soll.

Es fängt schon bei der 1. Aufg an:

entity Quersumme is
generic (n: integer := 16);
port (y: in Bit_vector(n-1 downto 0);
z: out integer range 0 to n
);
end Quersumme;

architecture Behavior1 of Quersumme is
subtype BitCount is integer range 0 to n;
begin
QS: process(y)
variable Tmp : BitCount := 0;
begin
for i in 0 to n-1 loop
if y(i) = '1' then
Tmp := Tmp + 1;
next;
end if;
end loop;
z <= Tmp;
end process;
end behavior1;

Dass Problem liegt glaub ich bei der If-Schleife, dir wird zu oft
durchlaufen.

Falls jemand ne Lösung und ein Programm für VHDL-Dummies weiß wäre ich
dankbar wenn er was posted.


Danke

guidob
02.05.2006, 00:18
Ich verstehe zwar nix von VHDL, sieht aber wie normales Programmieren aus:

Ist das next nötig? Sollte es nicht ein "next i" sein?

Muß es nicht nach dem "end if;" stehen?

Manchmal sind solche aufgaben auch einfach gemein! :p

guidob

Update:

Gibt es in VHDL auch Pointer?
z <= Tmp... sieht nach Adresszuweisung aus?

elmar
01.06.2006, 12:38
Hi,

VHDL ist eine Hardwarebeschreibungssprache, gern zum programmieren von Logikbausteinen benutzt. Und hardwaremässig gibt es keine Pointer.

Gruß
Elmar

chris
28.08.2006, 17:50
besteht noch bedarf an einer antwort ?
chris