diff options
Diffstat (limited to 'testsuite/gna/ticket92')
-rw-r--r-- | testsuite/gna/ticket92/cover_report1.vhd | 57 | ||||
-rw-r--r-- | testsuite/gna/ticket92/cover_report2.vhd | 59 | ||||
-rw-r--r-- | testsuite/gna/ticket92/cover_report3.vhd | 59 | ||||
-rwxr-xr-x | testsuite/gna/ticket92/testsuite.sh | 13 |
4 files changed, 186 insertions, 2 deletions
diff --git a/testsuite/gna/ticket92/cover_report1.vhd b/testsuite/gna/ticket92/cover_report1.vhd new file mode 100644 index 000000000..4b436a5fd --- /dev/null +++ b/testsuite/gna/ticket92/cover_report1.vhd @@ -0,0 +1,57 @@ +library ieee; + use ieee.std_logic_1164.all; + +library std; + use std.env.all; + + + +entity cover_report1 is +end entity cover_report1; + +architecture test of cover_report1 is + + + signal s_a : std_logic; + signal s_b : std_logic; + signal s_c : std_logic; + signal s_clk : std_logic := '0'; + + +begin + + + s_clk <= not(s_clk) after 5 ns; + + + process is + begin + s_a <= '0'; + s_b <= '0'; + s_c <= '0'; + wait until rising_edge(s_clk); + s_a <= '1'; + wait until rising_edge(s_clk); + s_a <= '0'; + --s_b <= '1'; + wait until rising_edge(s_clk); + s_b <= '0'; + wait until rising_edge(s_clk); + s_c <= '0'; + stop(0); + end process; + + + -- psl default clock is rising_edge(s_clk); + -- + -- psl sequence test_p is {s_a; s_b}; + -- + -- DOES WORK + -- -- psl TEST : cover test_p; + -- + -- DOESN'T WORK: + -- psl cover test_p report "Covered"; + -- - psl assert eventually! test_p; + + +end architecture test; diff --git a/testsuite/gna/ticket92/cover_report2.vhd b/testsuite/gna/ticket92/cover_report2.vhd new file mode 100644 index 000000000..9e4050372 --- /dev/null +++ b/testsuite/gna/ticket92/cover_report2.vhd @@ -0,0 +1,59 @@ +library ieee; + use ieee.std_logic_1164.all; + +library std; + use std.env.all; + + + +entity cover_report2 is +end entity cover_report2; + + + +architecture test of cover_report2 is + + + signal s_a : std_logic; + signal s_b : std_logic; + signal s_c : std_logic; + signal s_clk : std_logic := '0'; + + +begin + + + s_clk <= not(s_clk) after 5 ns; + + + process is + begin + s_a <= '0'; + s_b <= '0'; + s_c <= '0'; + wait until rising_edge(s_clk); + s_a <= '1'; + wait until rising_edge(s_clk); + s_a <= '0'; + s_b <= '1'; + wait until rising_edge(s_clk); + s_b <= '0'; + s_c <= '1'; + wait until rising_edge(s_clk); + s_c <= '0'; + stop(0); + end process; + + + -- psl default clock is rising_edge(s_clk); + -- + -- psl sequence test_p is {s_a; s_b}; + -- + -- DOES WORK + -- -- psl TEST : cover test_p; + -- + -- DOESN'T WORK: + -- psl cover test_p report "Covered"; + + +end architecture test; diff --git a/testsuite/gna/ticket92/cover_report3.vhd b/testsuite/gna/ticket92/cover_report3.vhd new file mode 100644 index 000000000..e9393b056 --- /dev/null +++ b/testsuite/gna/ticket92/cover_report3.vhd @@ -0,0 +1,59 @@ +library ieee; + use ieee.std_logic_1164.all; + +library std; + use std.env.all; + + + +entity cover_report3 is +end entity cover_report3; + + + +architecture test of cover_report3 is + + + signal s_a : std_logic; + signal s_b : std_logic; + signal s_c : std_logic; + signal s_clk : std_logic := '0'; + + +begin + + + s_clk <= not(s_clk) after 5 ns; + + + process is + begin + s_a <= '0'; + s_b <= '0'; + s_c <= '0'; + wait until rising_edge(s_clk); + s_a <= '1'; + wait until rising_edge(s_clk); + s_a <= '0'; + s_b <= '1'; + wait until rising_edge(s_clk); + s_b <= '0'; + s_c <= '1'; + wait until rising_edge(s_clk); + s_c <= '0'; + stop(0); + end process; + + + -- psl default clock is rising_edge(s_clk); + -- + -- psl sequence test_p is ({s_a; s_b}); + -- + -- DOES WORK + -- -- psl TEST : cover test_p; + -- + -- DOESN'T WORK: + -- psl cover test_p report "Covered"; + + +end architecture test; diff --git a/testsuite/gna/ticket92/testsuite.sh b/testsuite/gna/ticket92/testsuite.sh index 8a76a9833..be808afa2 100755 --- a/testsuite/gna/ticket92/testsuite.sh +++ b/testsuite/gna/ticket92/testsuite.sh @@ -4,8 +4,17 @@ GHDL_STD_FLAGS="--std=08 -fpsl" -analyze cover_report.vhd -elab_simulate cover_report +analyze cover_report2.vhd +elab_simulate cover_report2 + +# Submitted case was not correct. +analyze_failure cover_report.vhd + +# Parenthesis not allowed in sequences. +analyze_failure cover_report3.vhd + +analyze cover_report1.vhd +elab_simulate cover_report1 clean echo "Test successful" |