Hallo Leute, ich bin ganz frisch im Bereich VHDL.. Ich habe folgende code für eine 3bit-Zähler geschrieben aber mein testbench funktioniert immer nicht,also die Simulation gibt mir folgendes und der Ausgang ist immer undefiniert. Können Sie mich bitte weiter helfen???? couter-code: -- counter.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity counter is port(reset,clk:in std_logic; O:out std_logic_vector(2 downto 0)); end counter; architecture arch_counter of counter is signal temp : std_logic_vector(2 downto 0); begin process(clk) begin if reset='1' then temp<= (others => '0'); else if(clk'event and clk='1') then temp<=temp + '1'; end if; end if; end process; O<=temp; end arch_counter; TESTEBENCH-CODE: -- counter_testbench.vhd library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity testbench is end testbench; architecture behavior of testbench is --Signal declarations signal clk,reset : std_logic := '0'; signal counter : std_logic_vector(2 downto 0):=(others => '0'); -- Clock period definitions constant clk_period : time := 10 ns; begin UUT : entity work.counter port map (clk,reset,counter); -- Clock process definitions clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; -- Stimulus process stim_proc: process begin wait for clk_period*4; reset <='1'; wait for clk_period*4; reset <='0'; end process; end; Danke. Beitrag melden | Bearbeiten | Thread verschieben | Thread sperren | Thread löschen |
Hier sind die beiden Übeltäter: > port(reset,clk:in std_logic; > UUT : entity work.counter port map (clk,reset,counter); Vergiss diese Kurzschreibweise lieber schnell wieder, bei jeder Entity mit mehr als einer handvoll Eingängen wird es endgültig unübersichtlich. Außerdem ein Kommentar hierzu: > process(clk) > begin > if reset='1' then Wenn du einen asynchronen Reset beschreibst, muss reset auch mit in die Sensitivitätsliste.
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.