+++ /dev/null
---
--- created by hand&mouse in Xilinx ISE
---
-
-library ieee;
-use ieee.std_logic_1164.all;
-use ieee.std_logic_arith.all;
-use ieee.std_logic_unsigned.all;
-use ieee.numeric_std.all;
-USE IEEE.STD_LOGIC_TEXTIO.ALL;
-USE STD.TEXTIO.ALL;
-
-ENTITY qctest IS
-END qctest;
-
-ARCHITECTURE testbench_arch OF qctest IS
- FILE RESULTS: TEXT OPEN WRITE_MODE IS "results.txt";
-
- COMPONENT qcounter
- PORT (
- clock : In std_logic;
- reset : In std_logic;
- a0 : In std_logic;
- b0 : In std_logic;
- qcount : Out std_logic_vector (31 DownTo 0);
- a_rise : Out std_logic;
- a_fall : Out std_logic;
- b_rise : Out std_logic;
- b_fall : Out std_logic;
- ab_event : Out std_logic;
- ab_error : Out std_logic
- );
- END COMPONENT;
-
- SIGNAL clock : std_logic := '0';
- SIGNAL reset : std_logic := '0';
- SIGNAL a : std_logic := '0';
- SIGNAL b : std_logic := '0';
- SIGNAL qcount : std_logic_vector (31 DownTo 0) := "00000000000000000000000000000000";
- SIGNAL a_rise : std_logic := '0';
- SIGNAL a_fall : std_logic := '0';
- SIGNAL b_rise : std_logic := '0';
- SIGNAL b_fall : std_logic := '0';
- SIGNAL ab_event : std_logic := '0';
- SIGNAL ab_error : std_logic := '0';
-
- constant PERIOD : time := 200 ns;
- constant DUTY_CYCLE : real := 0.5;
- constant OFFSET : time := 100 ns;
-
- BEGIN
- UUT : qcounter
- PORT MAP (
- clock => clock,
- reset => reset,
- a0 => a,
- b0 => b,
- qcount => qcount,
- a_rise => a_rise,
- a_fall => a_fall,
- b_rise => b_rise,
- b_fall => b_fall,
- ab_event => ab_event,
- ab_error => ab_error
- );
-
- PROCESS -- clock process for clock
- BEGIN
- WAIT for OFFSET;
- CLOCK_LOOP : LOOP
- clock <= '0';
- WAIT FOR (PERIOD - (PERIOD * DUTY_CYCLE));
- clock <= '1';
- WAIT FOR (PERIOD * DUTY_CYCLE);
- END LOOP CLOCK_LOOP;
- END PROCESS;
-
- PROCESS
- BEGIN
- -- ------------- Current Time: 185ns
- WAIT FOR 185 ns;
- a <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 385ns
- WAIT FOR 200 ns;
- b <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 585ns
- WAIT FOR 200 ns;
- a <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 785ns
- WAIT FOR 200 ns;
- b <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 985ns
- WAIT FOR 200 ns;
- a <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 1185ns
- WAIT FOR 200 ns;
- b <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 1385ns
- WAIT FOR 200 ns;
- a <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 1585ns
- WAIT FOR 200 ns;
- b <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 1785ns
- WAIT FOR 200 ns;
- b <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 1985ns
- WAIT FOR 200 ns;
- a <= '1';
- b <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 2385ns
- WAIT FOR 400 ns;
- a <= '0';
- b <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 2585ns
- WAIT FOR 200 ns;
- b <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 2785ns
- WAIT FOR 200 ns;
- a <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 2985ns
- WAIT FOR 200 ns;
- b <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 3185ns
- WAIT FOR 200 ns;
- b <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 3385ns
- WAIT FOR 200 ns;
- a <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 3585ns
- WAIT FOR 200 ns;
- b <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 3785ns
- WAIT FOR 200 ns;
- a <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 3985ns
- WAIT FOR 200 ns;
- b <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 4185ns
- WAIT FOR 200 ns;
- a <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 4385ns
- WAIT FOR 200 ns;
- b <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 4785ns
- WAIT FOR 400 ns;
- a <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 4985ns
- WAIT FOR 200 ns;
- b <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 5585ns
- WAIT FOR 600 ns;
- a <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 5985ns
- WAIT FOR 400 ns;
- a <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 6385ns
- WAIT FOR 400 ns;
- a <= '0';
- -- -------------------------------------
- -- ------------- Current Time: 6585ns
- WAIT FOR 200 ns;
- b <= '1';
- -- -------------------------------------
- -- ------------- Current Time: 6985ns
- WAIT FOR 400 ns;
- b <= '0';
- -- -------------------------------------
- WAIT FOR 993215 ns;
-
- END PROCESS;
-
- END testbench_arch;
-