mirror of
				https://github.com/YosysHQ/sby.git
				synced 2025-10-31 13:02:28 +00:00 
			
		
		
		
	avy: Fold aiger model using abc to support assumptions
This commit is contained in:
		
							parent
							
								
									6398938e6a
								
							
						
					
					
						commit
						f14aaa57c4
					
				
					 2 changed files with 17 additions and 2 deletions
				
			
		|  | @ -1146,6 +1146,18 @@ class SbyTask(SbyConfig): | |||
| 
 | ||||
|             return [proc] | ||||
| 
 | ||||
|         if model_name == "aig_fold": | ||||
|             proc = SbyProc( | ||||
|                 self, | ||||
|                 model_name, | ||||
|                 self.model("aig"), | ||||
|                 f"""cd {self.workdir}/model; {self.exe_paths["abc"]} -c 'read_aiger design_aiger.aig; fold; strash; write_aiger design_aiger_fold.aig'""", | ||||
|                 logfile=open(f"{self.workdir}/model/design_aiger_fold.log", "w") | ||||
|             ) | ||||
|             proc.checkretcode = True | ||||
| 
 | ||||
|             return [proc] | ||||
| 
 | ||||
|         self.error(f"Invalid model name: {model_name}") | ||||
| 
 | ||||
|     def model(self, model_name): | ||||
|  |  | |||
|  | @ -31,6 +31,8 @@ def run(mode, task, engine_idx, engine): | |||
| 
 | ||||
|     status_2 = "UNKNOWN" | ||||
| 
 | ||||
|     model_variant = "" | ||||
| 
 | ||||
|     if solver_args[0] == "suprove": | ||||
|         if mode not in ["live", "prove"]: | ||||
|             task.error("The aiger solver 'suprove' is only supported in live and prove modes.") | ||||
|  | @ -39,6 +41,7 @@ def run(mode, task, engine_idx, engine): | |||
|         solver_cmd = " ".join([task.exe_paths["suprove"]] + solver_args[1:]) | ||||
| 
 | ||||
|     elif solver_args[0] == "avy": | ||||
|         model_variant = "_fold" | ||||
|         if mode != "prove": | ||||
|             task.error("The aiger solver 'avy' is only supported in prove mode.") | ||||
|         solver_cmd = " ".join([task.exe_paths["avy"], "--cex", "-"] + solver_args[1:]) | ||||
|  | @ -71,8 +74,8 @@ def run(mode, task, engine_idx, engine): | |||
|     proc = SbyProc( | ||||
|         task, | ||||
|         f"engine_{engine_idx}", | ||||
|         task.model("aig"), | ||||
|         f"cd {task.workdir}; {solver_cmd} model/design_aiger.aig", | ||||
|         task.model(f"aig{model_variant}"), | ||||
|         f"cd {task.workdir}; {solver_cmd} model/design_aiger{model_variant}.aig", | ||||
|         logfile=open(f"{task.workdir}/engine_{engine_idx}/logfile.txt", "w") | ||||
|     ) | ||||
|     if solver_args[0] not in ["avy"]: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue