def simple_liveness_prooffunc(aig_filename): def simplify(aiger_in, aiger_out): saved = utils.save_po_info(aiger_in, tmp[0]) par.read_file_quiet(tmp[0]) par.pre_simp() pyabc.run_command( 'write_aiger %s'%tmp[1] ) #~ pyabc.run_command( 'read_aiger %s'%tmp[0] ) #~ pyabc.run_command( 'dc2 ; dc2 ; dc2 ; dc2' ) #~ pyabc.run_command( 'write_aiger %s'%tmp[1] ) utils.restore_po_info( saved, tmp[1], aiger_out ) def report_result(id, res): if res and 'result' in res: result = res['result'] if result=='proved': par.report_liveness_result(id, 0) return True elif result=='failed': par.report_liveness_result(id, 1) return True return False try: run_niklas_multi(aig_filename, simplify=simplify, report_result=report_result) except: import traceback traceback.print_exc()
def simple_liveness_prooffunc(aig_filename): import niklas from pyaig import utils def simplify(aiger_in, aiger_out): with niklas.temp_file_names(2, suffix='.aig') as tmp: saved = utils.save_po_info(aiger_in, tmp[0]) par.read_file_quiet(tmp[0]) par.pre_simp() pyabc.run_command('write_aiger %s' % tmp[1]) utils.restore_po_info(saved, tmp[1], aiger_out) return True def report_result(id, res): if res and 'result' in res: result = res['result'] if result == 'proved': par.report_liveness_result(id, 0) return True elif result == 'failed': par.report_liveness_result(id, 1) return True return False try: niklas.run_niklas_multi(aig_filename, simplify=simplify, report_result=report_result) except: import traceback traceback.print_exc()
def simple_liveness_prooffunc(aig_filename): import niklas from pyaig import utils def simplify(aiger_in, aiger_out): with niklas.temp_file_names(2, suffix=".aig") as tmp: saved = utils.save_po_info(aiger_in, tmp[0]) par.read_file_quiet(tmp[0]) par.pre_simp() pyabc.run_command("write_aiger %s" % tmp[1]) utils.restore_po_info(saved, tmp[1], aiger_out) return True def report_result(id, res): if res and "result" in res: result = res["result"] if result == "proved": par.report_liveness_result(id, 0) return True elif result == "failed": par.report_liveness_result(id, 1) return True return False try: niklas.run_niklas_multi(aig_filename, simplify=simplify, report_result=report_result) except: import traceback traceback.print_exc()