-
Notifications
You must be signed in to change notification settings - Fork 389
Open
Labels
EnhancementFeature: PSLRequested feature addition related to the Property Specification Language (PSL).Requested feature addition related to the Property Specification Language (PSL).
Description
At the moment, you can define sequences & properties to use them with assert & cover statements. But it is not possible to define them with parameters as defined in PSL 1.x. For example, assume, we have following architecture:
library ieee;
use ieee.std_logic_1164.all;
entity test is
end entity test;
architecture sim of test is
signal a : std_logic;
signal clk : std_logic := '0';
begin
clk <= not(clk) after 5 ns;
process is
begin
a <= '0';
wait until rising_edge(clk);
a <= '1';
wait until rising_edge(clk);
a <= '0';
wait;
end process;
-- psl default clock is rising_edge(clk);
-- psl sequence TEST_s is {a; not(a); a};
-- psl TEST_c : cover TEST_s report "TEST_c hit";
-- psl sequence TEST0_s (boolean y) is {y; not(y); y};
-- psl TEST0_c : cover TEST0_s (a) report "TEST_c hit";
end architecture sim;
Then TEST_C analyses fine, but TEST0_s & TEST0_c gives me following error:
$ ghdl -a --std=08 -fpsl test.vhd
test.vhd:32:48: PSL declaration "y" not allowed in an expression
test.vhd:32:44: no function declarations for operator "not"
ghdl: compilation error
I using the current HEAD of ghdl. Support of sequences & properties with parameters would be very helpful to write more reusable PSL code.
Metadata
Metadata
Assignees
Labels
EnhancementFeature: PSLRequested feature addition related to the Property Specification Language (PSL).Requested feature addition related to the Property Specification Language (PSL).