Skip to content

Commit b8d2715

Browse files
committed
odin - free leaks from hard blocks, add new tests
1 parent 8b4379b commit b8d2715

File tree

10 files changed

+455
-0
lines changed

10 files changed

+455
-0
lines changed

ODIN_II/SRC/netlist_create_from_ast.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5832,6 +5832,8 @@ signal_list_t *create_hard_block(ast_node_t* block, char *instance_name_prefix,
58325832
/* add the net to the list of inputs */
58335833
sc_spot = sc_add_string(input_nets_sc, pin_name);
58345834
input_nets_sc->data[sc_spot] = (void*)new_net;
5835+
5836+
vtr::free(pin_name);
58355837
}
58365838
current_out_idx += j;
58375839
}
@@ -5890,6 +5892,8 @@ signal_list_t *create_hard_block(ast_node_t* block, char *instance_name_prefix,
58905892
/* add the net to the list of inputs */
58915893
sc_spot = sc_add_string(input_nets_sc, pin_name);
58925894
input_nets_sc->data[sc_spot] = (void*)new_net;
5895+
5896+
vtr::free(pin_name);
58935897
}
58945898
current_out_idx += j;
58955899
}

ODIN_II/regression_test/benchmark/suite/light_suite/task_list.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ regression_test/benchmark/task/arch_sweep
22
regression_test/benchmark/task/rs_decoder
33
regression_test/benchmark/task/cmd_line_args/*
44
regression_test/benchmark/task/func_simulator/*
5+
regression_test/benchmark/task/hard_blocks
56
regression_test/benchmark/task/multiclock/*
67
regression_test/benchmark/task/operators
78
regression_test/benchmark/task/syntax
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
########################
2+
# hard blocks benchmarks config
3+
########################
4+
5+
script_synthesis_params=--time_limit 3600s --tool valgrind
6+
script_simulation_params=--time_limit 3600s
7+
8+
# setup the architecture
9+
arch_dir=../vtr_flow/arch/timing
10+
11+
arch_list_add=k6_frac_N10_frac_chain_mem32K_40nm.xml
12+
13+
# setup the circuits
14+
circuit_dir=regression_test/benchmark/verilog/micro
15+
16+
circuit_list_add=adder_hard_block.v
17+
circuit_list_add=multiply_hard_block.v

ODIN_II/regression_test/benchmark/task/micro/task.conf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,8 @@ circuit_list_add=bm_if_common.v
8080
circuit_list_add=bm_if_collapse.v
8181
circuit_list_add=case_generate.v
8282
circuit_list_add=if_generate.v
83+
84+
# these require specific architectures to run without errors
85+
86+
# circuit_list_add=adder_hard_block.v
87+
# circuit_list_add=multiply_hard_block.v
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module top_module
2+
(
3+
4+
input [1:0] a1, b1, a2, b2,
5+
input cin1, cin2,
6+
output [1:0] sumout1, sumout2,
7+
output cout1, cout2
8+
);
9+
10+
adder a1 (.a(a1), .b(b1), .cin(cin1), .sumout(sumout1), .cout(cout1));
11+
adder a2 (a2, b2, cin2, sumout2, cout2);
12+
13+
endmodule
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
GLOBAL_SIM_BASE_CLK a1 b1 a2 b2 cin1 cin2
2+
1 0X2 0X3 0X1 0X2 1 0
3+
0 0X2 0X1 0X0 0X0 1 0
4+
1 0X1 0X0 0X3 0X3 0 0
5+
0 0X3 0X1 0X1 0X3 1 1
6+
1 0X1 0X2 0X2 0X2 0 0
7+
0 0X0 0X2 0X3 0X2 0 1
8+
1 0X3 0X1 0X1 0X1 1 0
9+
0 0X1 0X1 0X0 0X0 1 1
10+
1 0X1 0X0 0X2 0X0 0 0
11+
0 0X1 0X0 0X3 0X1 1 0
12+
1 0X2 0X0 0X3 0X1 1 0
13+
0 0X3 0X3 0X3 0X3 1 0
14+
1 0X1 0X1 0X3 0X0 1 0
15+
0 0X3 0X0 0X2 0X2 0 1
16+
1 0X1 0X3 0X3 0X0 0 1
17+
0 0X1 0X0 0X0 0X1 1 1
18+
1 0X3 0X0 0X3 0X2 1 0
19+
0 0X2 0X3 0X3 0X0 1 1
20+
1 0X1 0X2 0X3 0X0 0 0
21+
0 0X0 0X3 0X1 0X2 0 1
22+
1 0X1 0X1 0X2 0X1 0 1
23+
0 0X0 0X3 0X1 0X2 0 0
24+
1 0X1 0X0 0X2 0X2 1 1
25+
0 0X2 0X0 0X0 0X2 0 0
26+
1 0X0 0X1 0X0 0X0 1 1
27+
0 0X2 0X3 0X1 0X1 0 1
28+
1 0X3 0X2 0X3 0X0 1 0
29+
0 0X0 0X0 0X0 0X2 1 0
30+
1 0X2 0X0 0X2 0X1 0 0
31+
0 0X2 0X1 0X3 0X3 1 0
32+
1 0X1 0X3 0X2 0X0 0 0
33+
0 0X2 0X2 0X0 0X0 0 0
34+
1 0X1 0X1 0X0 0X1 0 0
35+
0 0X3 0X1 0X2 0X0 1 1
36+
1 0X0 0X1 0X2 0X2 1 1
37+
0 0X2 0X1 0X2 0X0 0 0
38+
1 0X1 0X0 0X1 0X0 0 0
39+
0 0X1 0X3 0X1 0X0 1 0
40+
1 0X1 0X0 0X3 0X2 1 1
41+
0 0X1 0X2 0X0 0X1 1 1
42+
1 0X0 0X1 0X0 0X1 0 0
43+
0 0X2 0X3 0X1 0X2 0 1
44+
1 0X2 0X3 0X2 0X2 1 0
45+
0 0X1 0X3 0X3 0X1 0 1
46+
1 0X3 0X0 0X3 0X2 0 0
47+
0 0X3 0X0 0X1 0X2 1 1
48+
1 0X1 0X1 0X3 0X0 0 0
49+
0 0X0 0X1 0X0 0X0 0 0
50+
1 0X0 0X1 0X2 0X2 0 1
51+
0 0X3 0X0 0X2 0X0 0 1
52+
1 0X3 0X2 0X1 0X3 0 0
53+
0 0X0 0X2 0X0 0X3 1 1
54+
1 0X2 0X3 0X2 0X3 1 1
55+
0 0X1 0X3 0X2 0X0 1 0
56+
1 0X3 0X3 0X0 0X3 1 1
57+
0 0X0 0X3 0X1 0X0 0 1
58+
1 0X3 0X1 0X3 0X3 1 1
59+
0 0X0 0X2 0X1 0X0 1 1
60+
1 0X0 0X0 0X1 0X0 1 1
61+
0 0X0 0X2 0X3 0X1 1 1
62+
1 0X0 0X0 0X3 0X1 1 1
63+
0 0X3 0X1 0X1 0X1 1 0
64+
1 0X2 0X2 0X0 0X1 1 1
65+
0 0X2 0X3 0X2 0X2 0 0
66+
1 0X1 0X3 0X3 0X3 0 1
67+
0 0X0 0X1 0X3 0X0 0 0
68+
1 0X3 0X3 0X1 0X3 0 0
69+
0 0X1 0X3 0X1 0X1 1 1
70+
1 0X3 0X0 0X1 0X2 0 0
71+
0 0X3 0X0 0X2 0X0 1 0
72+
1 0X2 0X1 0X2 0X2 0 1
73+
0 0X2 0X0 0X2 0X0 0 0
74+
1 0X0 0X3 0X2 0X0 0 0
75+
0 0X3 0X3 0X1 0X1 1 1
76+
1 0X3 0X1 0X2 0X0 0 0
77+
0 0X1 0X2 0X2 0X3 0 0
78+
1 0X2 0X1 0X2 0X3 0 0
79+
0 0X2 0X3 0X3 0X0 1 1
80+
1 0X1 0X0 0X3 0X1 1 1
81+
0 0X2 0X2 0X3 0X2 0 0
82+
1 0X3 0X0 0X1 0X3 0 1
83+
0 0X2 0X1 0X2 0X3 0 0
84+
1 0X2 0X0 0X3 0X2 0 0
85+
0 0X0 0X0 0X2 0X2 1 0
86+
1 0X0 0X3 0X0 0X1 1 0
87+
0 0X1 0X3 0X0 0X1 1 1
88+
1 0X2 0X3 0X1 0X2 0 0
89+
0 0X3 0X0 0X1 0X3 1 1
90+
1 0X0 0X3 0X1 0X0 1 0
91+
0 0X0 0X0 0X2 0X2 1 0
92+
1 0X1 0X3 0X1 0X1 1 1
93+
0 0X1 0X3 0X3 0X2 0 0
94+
1 0X0 0X0 0X2 0X1 1 1
95+
0 0X1 0X2 0X1 0X3 1 0
96+
1 0X2 0X0 0X1 0X2 1 1
97+
0 0X3 0X1 0X0 0X2 0 1
98+
1 0X0 0X3 0X1 0X2 0 0
99+
0 0X0 0X1 0X1 0X0 1 1
100+
1 0X1 0X3 0X2 0X3 1 0
101+
0 0X2 0X3 0X1 0X3 1 1
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
sumout1 sumout2 cout1 cout2
2+
0X1 0X3 1 0
3+
0X3 0X0 0 0
4+
0X1 0X2 0 1
5+
0X0 0X0 1 1
6+
0X3 0X0 0 1
7+
0X2 0X1 0 1
8+
0X0 0X2 1 0
9+
0X2 0X0 0 0
10+
0X1 0X2 0 0
11+
0X1 0X0 0 1
12+
0X2 0X0 0 1
13+
0X2 0X2 1 1
14+
0X2 0X3 0 0
15+
0X3 0X0 0 1
16+
0X0 0X3 1 0
17+
0X1 0X1 0 0
18+
0X3 0X1 0 1
19+
0X1 0X3 1 0
20+
0X3 0X3 0 0
21+
0X3 0X3 0 0
22+
0X2 0X3 0 0
23+
0X3 0X3 0 0
24+
0X1 0X0 0 1
25+
0X2 0X2 0 0
26+
0X1 0X0 0 0
27+
0X1 0X2 1 0
28+
0X1 0X3 1 0
29+
0X0 0X2 0 0
30+
0X2 0X3 0 0
31+
0X3 0X2 0 1
32+
0X0 0X2 1 0
33+
0X0 0X0 1 0
34+
0X2 0X1 0 0
35+
0X0 0X2 1 0
36+
0X1 0X0 0 1
37+
0X3 0X2 0 0
38+
0X1 0X1 0 0
39+
0X0 0X1 1 0
40+
0X1 0X1 0 1
41+
0X3 0X1 0 0
42+
0X1 0X1 0 0
43+
0X1 0X3 1 0
44+
0X1 0X0 1 1
45+
0X0 0X0 1 1
46+
0X3 0X1 0 1
47+
0X3 0X3 0 0
48+
0X2 0X3 0 0
49+
0X1 0X0 0 0
50+
0X1 0X0 0 1
51+
0X3 0X2 0 0
52+
0X1 0X0 1 1
53+
0X2 0X3 0 0
54+
0X1 0X1 1 1
55+
0X0 0X2 1 0
56+
0X2 0X3 1 0
57+
0X3 0X1 0 0
58+
0X0 0X2 1 1
59+
0X2 0X1 0 0
60+
0X0 0X1 0 0
61+
0X2 0X0 0 1
62+
0X0 0X0 0 1
63+
0X0 0X2 1 0
64+
0X0 0X1 1 0
65+
0X1 0X0 1 1
66+
0X0 0X2 1 1
67+
0X1 0X3 0 0
68+
0X2 0X0 1 1
69+
0X0 0X2 1 0
70+
0X3 0X3 0 0
71+
0X3 0X2 0 0
72+
0X3 0X0 0 1
73+
0X2 0X2 0 0
74+
0X3 0X2 0 0
75+
0X2 0X2 1 0
76+
0X0 0X2 1 0
77+
0X3 0X1 0 1
78+
0X3 0X1 0 1
79+
0X1 0X3 1 0
80+
0X1 0X0 0 1
81+
0X0 0X1 1 1
82+
0X3 0X0 0 1
83+
0X3 0X1 0 1
84+
0X2 0X1 0 1
85+
0X0 0X0 0 1
86+
0X3 0X1 0 0
87+
0X0 0X1 1 0
88+
0X1 0X3 1 0
89+
0X3 0X0 0 1
90+
0X3 0X1 0 0
91+
0X0 0X0 0 1
92+
0X0 0X2 1 0
93+
0X0 0X1 1 1
94+
0X0 0X3 0 0
95+
0X3 0X0 0 1
96+
0X2 0X3 0 0
97+
0X0 0X2 1 0
98+
0X3 0X3 0 0
99+
0X1 0X1 0 0
100+
0X0 0X1 1 1
101+
0X1 0X0 1 1
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module top_module
2+
(
3+
4+
input [1:0] x1, x2, x3, x4,
5+
output [3:0] y1, y2
6+
);
7+
8+
multiply m1 (.a(x1), .b(x2), .out(y1));
9+
multiply m2 (x3, x4, y2);
10+
11+
endmodule
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
GLOBAL_SIM_BASE_CLK x1 x2 x3 x4
2+
1 0X2 0X3 0X1 0X2
3+
0 0X2 0X2 0X1 0X0
4+
1 0X2 0X2 0X1 0X0
5+
0 0X3 0X1 0X0 0X3
6+
1 0X2 0X2 0X3 0X1
7+
0 0X0 0X1 0X1 0X1
8+
1 0X1 0X0 0X3 0X1
9+
0 0X2 0X2 0X3 0X2
10+
1 0X1 0X1 0X2 0X2
11+
0 0X0 0X0 0X3 0X2
12+
1 0X0 0X2 0X0 0X0
13+
0 0X1 0X0 0X3 0X1
14+
1 0X0 0X2 0X0 0X3
15+
0 0X2 0X2 0X3 0X3
16+
1 0X3 0X3 0X2 0X1
17+
0 0X2 0X1 0X2 0X2
18+
1 0X1 0X0 0X1 0X1
19+
0 0X2 0X2 0X3 0X1
20+
1 0X2 0X2 0X0 0X0
21+
0 0X1 0X3 0X3 0X1
22+
1 0X3 0X2 0X1 0X1
23+
0 0X3 0X3 0X0 0X3
24+
1 0X1 0X2 0X3 0X0
25+
0 0X0 0X0 0X3 0X1
26+
1 0X1 0X1 0X1 0X1
27+
0 0X3 0X0 0X1 0X0
28+
1 0X3 0X0 0X1 0X2
29+
0 0X0 0X0 0X1 0X3
30+
1 0X0 0X1 0X0 0X0
31+
0 0X0 0X0 0X2 0X0
32+
1 0X0 0X3 0X0 0X3
33+
0 0X1 0X1 0X2 0X3
34+
1 0X2 0X3 0X0 0X1
35+
0 0X0 0X0 0X0 0X2
36+
1 0X2 0X2 0X0 0X2
37+
0 0X0 0X2 0X2 0X1
38+
1 0X3 0X3 0X2 0X1
39+
0 0X1 0X1 0X0 0X0
40+
1 0X1 0X1 0X0 0X0
41+
0 0X3 0X2 0X0 0X2
42+
1 0X0 0X2 0X3 0X0
43+
0 0X0 0X3 0X1 0X2
44+
1 0X2 0X2 0X3 0X1
45+
0 0X1 0X2 0X0 0X0
46+
1 0X1 0X0 0X1 0X0
47+
0 0X0 0X1 0X3 0X1
48+
1 0X2 0X0 0X1 0X0
49+
0 0X1 0X3 0X3 0X1
50+
1 0X1 0X2 0X2 0X1
51+
0 0X2 0X0 0X2 0X0
52+
1 0X0 0X3 0X3 0X0
53+
0 0X2 0X1 0X3 0X1
54+
1 0X2 0X1 0X3 0X2
55+
0 0X3 0X1 0X2 0X3
56+
1 0X0 0X3 0X2 0X0
57+
0 0X3 0X0 0X1 0X2
58+
1 0X3 0X1 0X1 0X3
59+
0 0X0 0X2 0X0 0X1
60+
1 0X0 0X0 0X0 0X0
61+
0 0X0 0X1 0X1 0X3
62+
1 0X1 0X0 0X1 0X0
63+
0 0X2 0X1 0X3 0X2
64+
1 0X0 0X0 0X0 0X1
65+
0 0X3 0X3 0X1 0X3
66+
1 0X2 0X3 0X3 0X2
67+
0 0X3 0X2 0X0 0X1
68+
1 0X3 0X3 0X0 0X3
69+
0 0X3 0X0 0X3 0X1
70+
1 0X0 0X3 0X3 0X1
71+
0 0X3 0X3 0X1 0X0
72+
1 0X3 0X0 0X2 0X1
73+
0 0X0 0X2 0X0 0X2
74+
1 0X1 0X0 0X3 0X3
75+
0 0X3 0X1 0X0 0X2
76+
1 0X1 0X3 0X2 0X3
77+
0 0X1 0X1 0X1 0X0
78+
1 0X2 0X0 0X1 0X3
79+
0 0X2 0X3 0X2 0X2
80+
1 0X0 0X1 0X3 0X3
81+
0 0X1 0X3 0X0 0X1
82+
1 0X1 0X0 0X2 0X3
83+
0 0X3 0X2 0X1 0X2
84+
1 0X2 0X3 0X2 0X2
85+
0 0X2 0X1 0X2 0X0
86+
1 0X0 0X2 0X1 0X0
87+
0 0X0 0X1 0X0 0X3
88+
1 0X2 0X2 0X2 0X0
89+
0 0X0 0X2 0X0 0X0
90+
1 0X0 0X3 0X2 0X0
91+
0 0X2 0X3 0X3 0X1
92+
1 0X2 0X3 0X3 0X1
93+
0 0X1 0X0 0X0 0X1
94+
1 0X1 0X3 0X1 0X0
95+
0 0X3 0X0 0X3 0X1
96+
1 0X1 0X3 0X3 0X1
97+
0 0X3 0X2 0X0 0X2
98+
1 0X1 0X3 0X1 0X1
99+
0 0X3 0X2 0X0 0X2
100+
1 0X0 0X1 0X3 0X2
101+
0 0X2 0X1 0X2 0X3

0 commit comments

Comments
 (0)