mirror of
				https://github.com/YosysHQ/sby.git
				synced 2025-11-04 06:39:11 +00:00 
			
		
		
		
	Add support for "aigsmt none" option
This commit is contained in:
		
							parent
							
								
									a2c1dd3f91
								
							
						
					
					
						commit
						ff054ab88b
					
				
					 3 changed files with 6 additions and 3 deletions
				
			
		| 
						 | 
					@ -20,6 +20,8 @@ Mode      Description
 | 
				
			||||||
``prove`` Unbounded model check to verify safety properties (``assert(...)`` statements)
 | 
					``prove`` Unbounded model check to verify safety properties (``assert(...)`` statements)
 | 
				
			||||||
``live``  Unbounded model check to verify liveness properties (``assert(s_eventually ...)`` statements)
 | 
					``live``  Unbounded model check to verify liveness properties (``assert(s_eventually ...)`` statements)
 | 
				
			||||||
``cover`` Generate set of shortest traces required to reach all cover() statements
 | 
					``cover`` Generate set of shortest traces required to reach all cover() statements
 | 
				
			||||||
 | 
					``equiv`` Formal equivalence checking (usually to verify pre- and post-synthesis equivalence)
 | 
				
			||||||
 | 
					``synth`` Reactive Synthesis (synthesis of circuit from safety properties)
 | 
				
			||||||
========= ===========
 | 
					========= ===========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
All other options have default values and thus are optional. The available
 | 
					All other options have default values and thus are optional. The available
 | 
				
			||||||
| 
						 | 
					@ -40,7 +42,8 @@ options are:
 | 
				
			||||||
|             |            | consistency. Values: ``on``, ``off``. Default: ``off``  |
 | 
					|             |            | consistency. Values: ``on``, ``off``. Default: ``off``  |
 | 
				
			||||||
+-------------+------------+---------------------------------------------------------+
 | 
					+-------------+------------+---------------------------------------------------------+
 | 
				
			||||||
| ``aigsmt``  |   All      | Which SMT2 solver to use for converting AIGER witnesses |
 | 
					| ``aigsmt``  |   All      | Which SMT2 solver to use for converting AIGER witnesses |
 | 
				
			||||||
|             |            | to counter example traces. Default: ``yices``           |
 | 
					|             |            | to counter example traces. Use ``none`` to disable      |
 | 
				
			||||||
 | 
					|             |            | conversion of AIGER witnesses. Default: ``yices``       |
 | 
				
			||||||
+-------------+------------+---------------------------------------------------------+
 | 
					+-------------+------------+---------------------------------------------------------+
 | 
				
			||||||
| ``smtc``    | ``bmc``,   | Pass this ``.smtc`` file to the smtbmc engine. All      |
 | 
					| ``smtc``    | ``bmc``,   | Pass this ``.smtc`` file to the smtbmc engine. All      |
 | 
				
			||||||
|             | ``prove``, | other engines are disabled when this option is used.    |
 | 
					|             | ``prove``, | other engines are disabled when this option is used.    |
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -79,7 +79,7 @@ def run(mode, job, engine_idx, engine):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        job.terminate()
 | 
					        job.terminate()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if task_status == "FAIL":
 | 
					        if task_status == "FAIL" and job.opt_aigsmt != "none":
 | 
				
			||||||
            task2 = SbyTask(job, "engine_%d" % engine_idx, job.model("smt2"),
 | 
					            task2 = SbyTask(job, "engine_%d" % engine_idx, job.model("smt2"),
 | 
				
			||||||
                    ("cd %s; %s -s %s --noprogress --append %d --dump-vcd engine_%d/trace.vcd --dump-vlogtb engine_%d/trace_tb.v " +
 | 
					                    ("cd %s; %s -s %s --noprogress --append %d --dump-vcd engine_%d/trace.vcd --dump-vlogtb engine_%d/trace_tb.v " +
 | 
				
			||||||
                     "--dump-smtc engine_%d/trace.smtc --aig model/design_aiger.aim:engine_%d/trace.aiw --aig-noheader model/design_smt2.smt2") %
 | 
					                     "--dump-smtc engine_%d/trace.smtc --aig model/design_aiger.aim:engine_%d/trace.aiw --aig-noheader model/design_smt2.smt2") %
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -87,7 +87,7 @@ def run(mode, job, engine_idx, engine):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        job.terminate()
 | 
					        job.terminate()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if task_status == "FAIL":
 | 
					        if task_status == "FAIL" and job.opt_aigsmt != "none":
 | 
				
			||||||
            if produced_cex:
 | 
					            if produced_cex:
 | 
				
			||||||
                if mode == "live":
 | 
					                if mode == "live":
 | 
				
			||||||
                    task2 = SbyTask(job, "engine_%d" % engine_idx, job.model("smt2"),
 | 
					                    task2 = SbyTask(job, "engine_%d" % engine_idx, job.model("smt2"),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue