I am trying to test out a module I made in VHDL using Vivado. I am having some issues with my test bench though, as in I don't even see the clock signal changing.
The snippet of code below shows me constantly changing the clock, as well as driving some signals with certain values at specific times. I simplified it so that I am not even testing the component I made. I am simply setting the signals to certain values at certain times.
library ieee;
use ieee.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;
entity pwmTB is
end entity pwmTB;
architecture behav of pwmTB is
signal reset_t : std_logic;
signal clk_t : std_logic;
signal led_mode_t : std_logic_vector(15 downto 0);
signal led_breathing_t : std_logic_vector(15 downto 0);
signal led_max_t : std_logic_vector(15 downto 0);
signal led_min_t : std_logic_vector(15 downto 0);
signal pwm_out_t : std_logic;
begin
clk_t <= '0';
--24MHz clock -> 50ns period
clk_t <= not clk_t after 25ns;
test_led_off : process
begin
clk_t <= '0';
wait for 10 ps;
led_mode_t <= X"0000";
led_breathing_t <= X"F000";
led_max_t <= X"0100";
led_min_t <= X"0010";
wait for 5000ms;
end process test_led_off;
end architecture behav;
and the simulation output:
I do notice the signals change from 'UUUU' to 'XXXX' at 10ps, which sort of correlates to my wait for 10 ps
, but none of the values I drive the signals with appear. And the clock doesn't display at all. At one point yesterday, the clk_t <= not clk_t after 25ns
was displaying the clock output, and I haven't been able to get it display again since.
Why aren't these signals that I am directly driving not displaying anything? Is it a certain setting in Vivado? I have been reading the documentation but still haven't found anything.