From bc8e275546e2e6fe6bcf19ce42c0fab07eecdf4c Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Mon, 31 Jul 2017 17:04:51 +0200 Subject: Fixes typo with functions, errors in grammar. Looking for the groups matching CNE_01700 appears to take a really long time. The formula is quite complex, yet unlikely to be one of the most complex ones, so we'll have to see what can be done. --- data/property/cnes/CNE_00100.pro | 52 +++++++++++++++ data/property/cnes/CNE_01700.pro | 137 +++++++++++++++++++++++++++++++++++++++ data/property/cnes/CNE_05100.pro | 64 ++++++++++++++++++ data/property/cnes/STD_04800.pro | 29 +++++++++ 4 files changed, 282 insertions(+) create mode 100644 data/property/cnes/CNE_00100.pro create mode 100644 data/property/cnes/CNE_01700.pro create mode 100644 data/property/cnes/CNE_05100.pro create mode 100644 data/property/cnes/STD_04800.pro (limited to 'data') diff --git a/data/property/cnes/CNE_00100.pro b/data/property/cnes/CNE_00100.pro new file mode 100644 index 0000000..c5d0319 --- /dev/null +++ b/data/property/cnes/CNE_00100.pro @@ -0,0 +1,52 @@ +(tag_existing + ( + (wfm waveform CNE_00100_HAS_BAD_NAME) + ) + (and + (not (string_matches [identifier wfm] ".*_n")) + (exists p1 process + (CTL_verifies p1 + (EF + (and + (kind "if") + (is_read_structure "(???)") + (is_read_element "0" "=") + (or + (and + (is_read_element "1" "'0'") + (is_read_element "2" wfm) + ) + (and + (is_read_element "1" wfm) + (is_read_element "2" "'0'") + ) + ) + ) + ) + ) + ) + (not + (exists p2 process + (CTL_verifies p2 + (EF + (and + (kind "if") + (is_read_structure "(???)") + (is_read_element "0" "=") + (or + (and + (is_read_element "1" "'0'") + (is_read_element "2" wfm) + ) + (and + (is_read_element "1" wfm) + (is_read_element "2" "'0'") + ) + ) + ) + ) + ) + ) + ) + ) +) diff --git a/data/property/cnes/CNE_01700.pro b/data/property/cnes/CNE_01700.pro new file mode 100644 index 0000000..6b77fa1 --- /dev/null +++ b/data/property/cnes/CNE_01700.pro @@ -0,0 +1,137 @@ +(tag_existing + ( + (x_re waveform CNE_01700_HAS_BAD_NAME) + ) + (and + (not (string_matches [identifier x_re] ".*_re")) + (exists x waveform + (exists x_r1 waveform + (and + (exists clk1 waveform + (exists ps1 process + (and + (is_explicit_process ps1) + (is_in_sensitivity_list clk1 ps1) + (or + (CTL_verifies ps1 + (AF + (and + (kind "if") + (is_read_structure "(??)") + (or + (is_read_element "0" "falling_edge") + (is_read_element "0" "rising_edge") + ) + (is_read_element "1" clk1) + (EX + (and + (has_option "COND_WAS_TRUE") + (does_not_reach_parent_before + (and + (expr_writes x_r1) + (is_read_structure "?") + (is_read_element "0" x) + (AX + (not + (EF + (expr_writes x_r1) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + (exists rst1 waveform + (and + (is_in_sensitivity_list rst1 ps1) + (CTL_verifies ps1 + (AF + (and + (kind "if") + (is_read_structure "(???)") + (is_read_element "0" "=") + (is_read_element _ rst1) + (EX + (and + (not (has_option "COND_WAS_TRUE")) + (kind "if") + (is_read_structure "(??)") + (or + (is_read_element "0" "falling_edge") + (is_read_element "0" "rising_edge") + ) + (is_read_element "1" clk1) + (EX + (and + (has_option "COND_WAS_TRUE") + (does_not_reach_parent_before + (and + (expr_writes x_r1) + (is_read_structure "?") + (is_read_element "0" x) + (AX + (not + (EF + (expr_writes x_r1) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + (exists ps2 process + (and + (is_in_sensitivity_list x_r1 ps2) + (is_in_sensitivity_list x ps2) + (CTL_verifies ps2 + (AF + (and + (expr_writes x_re) + (is_read_element "0" "and") + (or + (and + (is_read_structure "(?(??)?)") + (is_read_element "1" "not") + (is_read_element "2" x_r1) + (is_read_element "3" x) + ) + (and + (is_read_structure "(??(??))") + (is_read_element "1" x) + (is_read_element "2" "not") + (is_read_element "3" x_r1) + ) + ) + (AX + (not + (EF + (expr_writes x_r1) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) +) diff --git a/data/property/cnes/CNE_05100.pro b/data/property/cnes/CNE_05100.pro new file mode 100644 index 0000000..dd8b2c1 --- /dev/null +++ b/data/property/cnes/CNE_05100.pro @@ -0,0 +1,64 @@ +(tag_existing + ( + (wfm waveform STRUCT_SINGLE_PROCESS_MULTIPLEXOR) + ) + (exists ps process + (and + (is_explicit_process ps) + (forall sl1 waveform + (and + (CTL_verifies ps + (implies + (EF (expr_writes sl1)) + (AF (expr_writes sl1)) + ) + ) + (implies + (exists target waveform + (CTL_verifies ps + (EF + (and + (is_read_element _ sl1) + (not + (and + (expr_writes target) + (AX + (AF + (expr_writes target) + ) + ) + ) + ) + ) + ) + ) + ) + (is_in_sensitivity_list sl1 ps) + ) + ) + ) + (CTL_verifies ps + (AF + (and + (or + (kind "case") + (kind "if") + ) + (does_not_reach_parent_before + (and + (expr_writes wfm) + (AX + (not + (EF + (expr_writes wfm) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) +) diff --git a/data/property/cnes/STD_04800.pro b/data/property/cnes/STD_04800.pro new file mode 100644 index 0000000..8f998e4 --- /dev/null +++ b/data/property/cnes/STD_04800.pro @@ -0,0 +1,29 @@ +(tag_existing + ( + (wfm waveform STD_04800_DOUBLE_SENSITIVITY_EDGE_CLOCK) + ) + (and + (exists ps_re process + (CTL_verifies ps_re + (EF + (and + (is_read_structure "(??)") + (is_read_element "0" "rising_edge") + (is_read_element "1" wfm) + ) + ) + ) + (exists ps_fe process + (CTL_verifies ps_fe + (EF + (and + (is_read_structure "(??)") + (is_read_element "0" "falling_edge") + (is_read_element "1" wfm) + ) + ) + ) + ) + ) + ) +) -- cgit v1.2.3-70-g09d2