Gast
#1296128
Hallo zusammen! Ich habe einen einfachen 4-Bit-Zähler mit D-FF und Halbaddierern mit dem Webpack erstellt. Wollte das ganze mit dem Simulator testen, wozu ich eine Testbench in VHDL erstellt habe, bzw. von der Software erstellen ließ. Wenn ich die Simulation starte, funktioniert lediglich die clock. Alle anderen Ausgänge bleiben auf 'U' (unassigned nehme ich an?) Ich hoffe jemand kann mir weiterhelfen, vielen Dank schonmal! Hier der Zähler und die Testbench: entity f_bit_counter is Port ( clock : in STD_LOGIC; Qa : inout STD_LOGIC; Qb : inout STD_LOGIC; Qc : inout STD_LOGIC; Qd : inout STD_LOGIC); end f_bit_counter; architecture Behavioral of f_bit_counter is component half_adder port (a, b : in std_logic; sum, carry : out std_logic); end component; component d_ff port (d, clock : in std_logic; q : out std_logic); end component; signal Qan1, Qbn1, Qcn1, Qdn1, c_a, c_b, c_c, c_d : std_logic; begin ha_a : half_adder port map ( a => Qa, b => '1', sum => Qan1, carry => c_a ); ha_b : half_adder port map ( a => Qb, b => c_a, sum => Qbn1, carry => c_b ); ha_c : half_adder port map ( a => Qc, b => c_b, sum => Qcn1, carry => c_c ); ha_d : half_adder port map ( a => Qd, b => c_c, sum => Qdn1, carry => c_d ); d_ff_a : d_ff port map ( d => Qan1, clock => clock, q => Qa ); d_ff_b : d_ff port map ( d => Qbn1, clock => clock, q => Qb ); d_ff_c : d_ff port map ( d => Qcn1, clock => clock, q => Qc ); d_ff_d : d_ff port map ( d => Qdn1, clock => clock, q => Qd ); end Behavioral; ENTITY testbench_counter IS END testbench_counter; ARCHITECTURE behavior OF testbench_counter IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT f_bit_counter PORT( clock : IN std_logic; Qa : INOUT std_logic; Qb : INOUT std_logic; Qc : INOUT std_logic; Qd : INOUT std_logic ); END COMPONENT; --Inputs signal clock : std_logic := '0'; --BiDirs signal Qa : std_logic; signal Qb : std_logic; signal Qc : std_logic; signal Qd : std_logic; -- Clock period definitions constant clock_period : time := 1us; BEGIN -- Instantiate the Unit Under Test (UUT) uut: f_bit_counter PORT MAP ( clock => clock, Qa => Qa, Qb => Qb, Qc => Qc, Qd => Qd ); -- Clock process definitions clock_process :process begin clock <= '0'; wait for clock_period/2; clock <= '1'; wait for clock_period/2; end process; -- Stimulus process stim_proc: process begin hold reset state for 100ms. wait for 100ms; wait for clock_period*10; -- insert stimulus here wait; end process; END;
