aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/ticket19/psl_test_cover2.vhd
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2014-06-21 21:24:15 +0200
committerTristan Gingold <tgingold@free.fr>2014-06-21 21:24:15 +0200
commit212268f54c947f4360a7d0e5b45faa97f76a4a9d (patch)
tree76a19a1ff148903c412f9f2191901ee6797b2939 /testsuite/gna/ticket19/psl_test_cover2.vhd
parent270280a34295fa42785f9c8d99ad24b93d411e0c (diff)
downloadghdl-212268f54c947f4360a7d0e5b45faa97f76a4a9d.tar.gz
ghdl-212268f54c947f4360a7d0e5b45faa97f76a4a9d.tar.bz2
ghdl-212268f54c947f4360a7d0e5b45faa97f76a4a9d.zip
Add psl cover directive (ticket19).
Diffstat (limited to 'testsuite/gna/ticket19/psl_test_cover2.vhd')
-rw-r--r--testsuite/gna/ticket19/psl_test_cover2.vhd60
1 files changed, 60 insertions, 0 deletions
diff --git a/testsuite/gna/ticket19/psl_test_cover2.vhd b/testsuite/gna/ticket19/psl_test_cover2.vhd
new file mode 100644
index 000000000..16d6ac810
--- /dev/null
+++ b/testsuite/gna/ticket19/psl_test_cover2.vhd
@@ -0,0 +1,60 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+
+
+entity psl_test_cover2 is
+end entity psl_test_cover2;
+
+
+architecture test of psl_test_cover2 is
+
+
+ signal s_rst_n : std_logic := '0';
+ signal s_clk : std_logic := '0';
+ signal s_write : std_logic;
+ signal s_read : std_logic;
+
+
+begin
+
+
+ s_rst_n <= '1' after 20 ns;
+ s_clk <= not s_clk after 10 ns;
+
+
+ TestP : process is
+ begin
+ report "RUNNING PSL_TEST_COVER test case";
+ report "================================";
+ s_write <= '0';
+ s_read <= '0';
+ wait until s_rst_n = '1' and rising_edge(s_clk);
+ s_write <= '1'; -- cover should hit
+ wait until rising_edge(s_clk);
+ s_read <= '1'; -- assertion should hit
+ wait until rising_edge(s_clk);
+ s_write <= '0';
+ s_read <= '0';
+ wait until rising_edge(s_clk);
+ s_write <= '1'; -- cover should hit
+ wait until rising_edge(s_clk);
+ s_read <= '1'; -- assertion should hit
+ wait until rising_edge(s_clk);
+ s_write <= '0';
+ s_read <= '0';
+ wait;
+ end process TestP;
+
+
+
+ -- psl statements
+
+ -- psl default clock is rising_edge(s_clk);
+
+ -- cover directive seems not supported (ignored by GHDL)
+ -- psl cover always (s_write -> not(s_read));
+
+
+end architecture test;