I'm currently recieving this error
ERROR:HDLCompiler:1731 - Line ...: found '0' definitions of operator "=", cannot determine exact overloaded matching definition for "="
for my last 2 Assert statements shown below (PulseOutput and IsCounting). It doesn't like that equals sign, buth how do you test for a 1 bit signal value? The assert above it (CountTemp) receives no errors. any idea?!
signal CountTemp : std_logic_vector(15 downto 0) := (others => '0');
signal PulseOutput : std_logic;
signal IsCounting : std_logic;
--------------------------------------------------------------
stim_proc:process
begin
SystemClear <= '1';
-- hold reset state for 10 ns, then test 3 signals, then hold for additional 10 ns
wait for 10 ns;
assert (CountTemp = X"0000") report "CountTemp should equal 0 when System Clear is active" severity ERROR;
assert (PulseOutput = 0) report "PulseOutput should equal 0 when System Clear is active" severity ERROR;
assert (IsCounting = 0) report "IsCounting should equal 0 when System Clear is active" severity ERROR;
wait for 10 ns;
std_logic
bits are represented with apostrophe '
around them, note that this is also called a tick in VHDL. So for example in your code:
stim_proc:process
begin
SystemClear <= '1';
-- hold reset state for 10 ns, then test 3 signals, then hold for additional 10 ns
wait for 10 ns;
assert (CountTemp = X"0000") report "CountTemp should equal 0 when System Clear is active" severity ERROR;
assert (PulseOutput = '0') report "PulseOutput should equal 0 when System Clear is active" severity ERROR;
assert (IsCounting = '0') report "IsCounting should equal 0 when System Clear is active" severity ERROR;
wait for 10 ns;