Musterlösung der 2.Übung richtig?????????

d4rk 3d3n
Erstie
Erstie
Beiträge: 14
Registriert: 27. Okt 2007 13:05

Musterlösung der 2.Übung richtig?????????

Beitrag von d4rk 3d3n »

Vielleicht bin ich einfach nur zu dämlich die Musterlösung zu lesen, aber meiner Meinung nach sind da diverse Fehler in der Musterlösung.
Ich bekomme weder auf meiner Installation noch auf den RBG-Rechnern den Zähler aus der Übung 2 zum laufen.
Abgesehen davon wird in der Teilaufgabe b) erst sreset eingeführt (läuft bei mir nicht so wie es in der MuLö steht), und dann in der Teilaufgabe c) ist sreset plötzlich wieder weg und wird nur im Header mal definiert.

Ich bekomme schon alleine den Zähler aus der eigentlichen Aufgabe nicht zum laufen und das kann doch irgendwie nicht ganz stimmen, da copy past schon nicht funzt wie es soll musste ich n bisschen dran rumschrauben das es durch den Syntax-Check läuft)
das ist dabei rausgekommen läuft aber nicht:

zaehler.vhd

Code: Alles auswählen

library IEEE;
use IEEE. STD_LOGIC_1164 .ALL;
use IEEE. STD_LOGIC_ARITH .ALL;
use IEEE. STD_LOGIC_UNSIGNED .ALL;

entity zaehler is
    Port ( 	clock 	: in STD_LOGIC ;
            qa 		: out STD_LOGIC_VECTOR (3 downto 0)
				);
end zaehler ;

architecture Behavioral of zaehler is
begin

process (clock)
    variable cnt : STD_LOGIC_VECTOR (3 downto 0);
begin
    if(clock'event and clock = '1') then
         cnt := cnt + 1;
    end if;
    qa <= cnt;
end process ;

	 
end Behavioral ;

test_zaehler.vhd

Code: Alles auswählen


LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;

ENTITY test_zaehler_vhd IS
END test_zaehler_vhd;

ARCHITECTURE behavior OF test_zaehler_vhd IS 

	-- Component Declaration for the Unit Under Test (UUT)
	COMPONENT zaehler
	PORT(
		clock : IN std_logic;          
		qa : INOUT std_logic_vector(3 downto 0)
		);
	END COMPONENT;

	--Inputs
	SIGNAL clock :  std_logic := '0';

	--Outputs
	SIGNAL qa :  std_logic_vector(3 downto 0);
	
	-- Clock period definitions
	constant clock_period : time := 5ns;


BEGIN

	-- Instantiate the Unit Under Test (UUT)
	uut: zaehler PORT MAP(
		clock => clock,
		qa => qa
	);

	-- Clock process definitions
	clock_process : process
	begin
			clock <= '1';
			wait for clock_period /2;
			clock <= '0';
			wait for clock_period /2;
	end process ;


END;

Ps. Ich habe auch weder mit Google noch mir dem VHDL-Cookbook eine Lösung meines Problemes gefunden.

mariusssl
Mausschubser
Mausschubser
Beiträge: 70
Registriert: 7. Apr 2008 22:24

Re: Musterlösung der 2.Übung richtig?????????

Beitrag von mariusssl »

hallo

habs eben mal ins ISE reingehaun - copy/and paste von deinem post. funktioniert wunderbar.

zu dem sreset und areset. du kannst scheinbar beide nicht gleichzeitig synthetisieren - hat unser tutor gesagt. deshalb musste immer entweder sreset oder areset implementieren.

grüsse

d4rk 3d3n
Erstie
Erstie
Beiträge: 14
Registriert: 27. Okt 2007 13:05

Re: Musterlösung der 2.Übung richtig?????????

Beitrag von d4rk 3d3n »

thx für den hint
Hmm sehr komisch ich hab diesen Code ums verrecken nicht zum laufen gebracht. Vor allem nicht auf der supporteten Version der RBG-Rechner.
Ich versuchs einfach mal weiter bin ma gespannt was draus wird. ^^

mariusssl
Mausschubser
Mausschubser
Beiträge: 70
Registriert: 7. Apr 2008 22:24

Re: Musterlösung der 2.Übung richtig?????????

Beitrag von mariusssl »

oh gott entschuldige bitte =)
ich hatte ausversehen meine testbed mit meinem Zähler durchlaufen lassen :D der funzt ^^

qa is undefined ;) du hast recht

habs eben erst gemerkt als ich den ganzen laptop rotz ausmachen wollte :D
sorry - wenn ich nachher/morgen nochmal zeit habe schau ich nochmal drüber ob ich was finde - aber kanns net versprechen :D

grüsse

Benutzeravatar
HeyHey
Windoof-User
Windoof-User
Beiträge: 27
Registriert: 3. Dez 2007 13:02

Re: Musterlösung der 2.Übung richtig?????????

Beitrag von HeyHey »

Ich hab zwar grad kein ISE zur Hand, aber nimm vielleicht mal die Initialisierung deiner clock raus. also nur
signal clock: std_logic;

Ich glaube, das hat bei mir mal zu Problemen geführt.
Das mit areset und sreset gleichzeitig funktioniert tatsächlich nicht, man kann nur einen von beiden nehmen.

Benutzeravatar
blackcomb
Mausschubser
Mausschubser
Beiträge: 70
Registriert: 1. Okt 2007 15:48
Wohnort: Darmstadt

Re: Musterlösung der 2.Übung richtig?????????

Beitrag von blackcomb »

Falls das Problem noch besteht, versuch mal, den Counter zu initialisieren:

Code: Alles auswählen

variable cnt : STD_LOGIC_VECTOR (3 downto 0) := "0000";

Antworten

Zurück zu „Archiv“