From 622f0f11f9abcd031946f1273b8d322bdd9bf92b Mon Sep 17 00:00:00 2001 From: YuhangQ Date: Thu, 9 Mar 2023 12:58:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- atpg | Bin 77680 -> 74736 bytes benchmark/b02.bench | 35 ----------------------------------- check.log | 15 +++++++++------ run_exp.py | 9 +++++---- 4 files changed, 14 insertions(+), 45 deletions(-) delete mode 100644 benchmark/b02.bench diff --git a/atpg b/atpg index 1dcbd2962928a435df105da7f84338c6a8735cf8..0d5a10dd79a366872fafed1a7d298009b17e71ef 100755 GIT binary patch literal 74736 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 literal 77680 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 D^osm? diff --git a/benchmark/b02.bench b/benchmark/b02.bench deleted file mode 100644 index c56796d..0000000 --- a/benchmark/b02.bench +++ /dev/null @@ -1,35 +0,0 @@ -# generated by verilog2bench.py https://gitea.yuhangq.com/YuhangQ/any2bench -INPUT(NET_1) -INPUT(NET_2) -INPUT(NET_3) -INPUT(NET_4) -INPUT(NET_5) -OUTPUT(NET_12) -OUTPUT(NET_23) -OUTPUT(NET_27) -OUTPUT(NET_28) -OUTPUT(NET_6) -new_n11_ = NOT ( NET_3 ) -new_n12_ = NOT ( NET_4 ) -NET_12 = AND ( new_n12_, new_n11_, NET_2 ) -new_n14_ = NOR ( new_n11_, NET_2 ) -new_n15_ = NAND ( new_n14_, new_n12_ ) -new_n16_ = NOR ( NET_3, NET_1 ) -new_n17_ = NOR ( new_n16_, NET_2 ) -new_n18_ = OR ( new_n17_, new_n12_ ) -NET_23 = NAND ( new_n18_, new_n15_ ) -new_n20_ = NOR ( new_n11_, NET_1 ) -new_n21_ = OR ( new_n20_, NET_4 ) -new_n22_ = NAND ( new_n21_, NET_2 ) -new_n23_ = NOT ( NET_1 ) -new_n24_ = NOR ( new_n14_, NET_4 ) -new_n25_ = OR ( new_n24_, new_n23_ ) -new_n26_ = NAND ( NET_4, NET_3 ) -NET_27 = NAND ( new_n26_, new_n25_, new_n22_ ) -new_n28_ = NOR ( NET_4, NET_2, NET_1 ) -new_n29_ = NOR ( NET_2, new_n23_ ) -new_n30_ = NOR ( new_n29_, new_n12_ ) -new_n31_ = NOR ( new_n30_, NET_3 ) -NET_28 = OR ( new_n31_, new_n28_ ) -NET_6 = BUF ( NET_5 ) -NET_2313123 = DFF ( NET_5 ) \ No newline at end of file diff --git a/check.log b/check.log index e063a68..b73880f 100644 --- a/check.log +++ b/check.log @@ -1,6 +1,9 @@ -[1/6] 任务 ./bench_test/c880.bench -[2/6] 任务 ./bench_test/c3540.bench -[3/6] 任务 ./bench_test/c499.bench -[4/6] 任务 ./bench_test/c1355.bench -[5/6] 任务 ./bench_test/c6288.bench -[6/6] 任务 ./bench_test/c1908.bench +[1/26] 任务 ./benchmark/c17.bench +[2/26] 任务 ./benchmark/b06.bench +[3/26] 任务 ./benchmark/b01.bench +[4/26] 任务 ./benchmark/b03.bench +[5/26] 任务 ./benchmark/b10.bench +[6/26] 任务 ./benchmark/b09.bench +[7/26] 任务 ./benchmark/b08.bench +[8/26] 任务 ./benchmark/c880.bench +[9/26] 任务 ./benchmark/c499.bench diff --git a/run_exp.py b/run_exp.py index b547197..018cbad 100644 --- a/run_exp.py +++ b/run_exp.py @@ -3,12 +3,12 @@ from concurrent.futures import ThreadPoolExecutor, wait, ALL_COMPLETED, FIRST_CO import time import re -pool = ThreadPoolExecutor(max_workers=7) +pool = ThreadPoolExecutor(max_workers=96) -TIMEOUT = 60 +TIMEOUT = 2000 work_dir = "." -data_dir = "./bench_test" +data_dir = "./benchmark" data_suffix = ".bench" res_dir = "exp_result" @@ -57,6 +57,7 @@ class ATPGLS: return run_shell_command("./crun %s" % filename, output_file, timeout) def analyse(output_file): + print("anal:" + output_file) content = open(output_file, "r").read() p1 = re.compile(r'coverage\s*:\s*(\d+\.\d+)\s*%', re.S) coverage = p1.findall(content)[-1] @@ -222,4 +223,4 @@ if __name__ == '__main__': s = s + 1 logger.log("[{}/{}] 任务 {}".format(s, len(all_task), data)) - table.print_table() \ No newline at end of file + table.print_table()