Improve tests/various/specify.ys
authorClifford Wolf <clifford@clifford.at>
Mon, 6 May 2019 10:26:15 +0000 (12:26 +0200)
committerClifford Wolf <clifford@clifford.at>
Mon, 6 May 2019 10:26:15 +0000 (12:26 +0200)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
tests/various/specify.ys

index 87d98e0a070dc09753082ebe11e4bf9bb375e902..a5ca07219ae97055bdb573f8a04ae4256837d47a 100644 (file)
@@ -8,10 +8,12 @@ cd test2
 select t:$specify2 -assert-count 2
 select t:$specify3 -assert-count 0
 select t:$specrule -assert-count 0
+cd
 write_verilog specify.out
 design -stash gold
 
 read_verilog -specify specify.out
+prep
 cd test
 select t:$specify2 -assert-count 0
 select t:$specify3 -assert-count 1
@@ -20,7 +22,35 @@ cd test2
 select t:$specify2 -assert-count 2
 select t:$specify3 -assert-count 0
 select t:$specrule -assert-count 0
+cd
 design -stash gate
 
-# TODO: How to check $specify and $specrule-s are equivalent?
-#       Otherwise, need more select statements to check parameter values are as expected?
+design -copy-from gold -as gold test
+design -copy-from gate -as gate test
+rename -hide
+rename -enumerate -pattern A_% t:$specify3
+rename -enumerate -pattern B_% t:$specrule r:TYPE=$setup %i
+rename -enumerate -pattern C_% t:$specrule r:TYPE=$hold %i
+select n:A_* -assert-count 2
+select n:B_* -assert-count 2
+select n:C_* -assert-count 2
+equiv_make gold gate equiv
+hierarchy -top equiv
+equiv_struct
+equiv_induct -seq 5
+equiv_status -assert
+design -reset
+
+design -copy-from gold -as gold test2
+design -copy-from gate -as gate test2
+rename -hide
+rename -enumerate -pattern A_% t:$specify2 r:T_RISE_TYP=1 %i
+rename -enumerate -pattern B_% t:$specify2 n:A_* %d
+select n:A_* -assert-count 2
+select n:B_* -assert-count 2
+equiv_make gold gate equiv
+hierarchy -top equiv
+equiv_struct
+equiv_induct -seq 5
+equiv_status -assert
+design -reset