Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
BSD
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chengshuyao
BSD
Commits
ca279528
Commit
ca279528
authored
Mar 26, 2025
by
chengshuyao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add a plot output
parent
593bfc4a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
176 deletions
+22
-176
src/BSD.h
+1
-1
src/print_circuit.h
+21
-2
src/rtl/function_9999_BDD_id_1.v
+0
-173
No files found.
src/BSD.h
View file @
ca279528
...
...
@@ -720,7 +720,7 @@ int BDD_class::BDD_infer(BDD_node** BDD,int* most_influence){
cout
<<
"test dataset size = "
<<
parameter_test_ios
<<
endl
;
error_amount_all
=
0
;
bool
error_all
[
how_many_start_nodes
*
parameter_test_ios
];
#pragma omp parallel for
//
#pragma omp parallel for
for
(
long
zj
=
0
;
zj
<
how_many_start_nodes
*
parameter_test_ios
;
zj
++
){
int
test_bit
=
int
(
zj
/
parameter_test_ios
);
bool
test_input_data
[
parameter_input_bit_width
];
...
...
src/print_circuit.h
View file @
ca279528
...
...
@@ -5,12 +5,31 @@ int BDD_class::print_circuit(BDD_node** BDD,int* most_influence){
char
output_file_name
[
100
];
//sprintf(output_file_name,"rtl/module_output_bit_%d.v",which_bit_output);
sprintf
(
output_file_name
,
"rtl/function_%d_BDD_id
_%d
.v"
,
circuit_index
,
BDD_id
);
sprintf
(
output_file_name
,
"rtl/function_%d_BDD_id.v"
,
circuit_index
,
BDD_id
);
// string output_file_name << output_file_name_begin << which_bit_output << output_file_name_end;
cout
<<
output_file_name
<<
endl
;
cout
<<
output_file_name
<<
endl
;
ofstream
output_module_file
(
output_file_name
);
//copy this
char
plot_file_name
[
100
];
sprintf
(
plot_file_name
,
"BDD.plot"
);
ofstream
plot_file
(
plot_file_name
);
for
(
int
i
=
0
;
i
<
total_BDD_depth
+
1
;
i
++
){
for
(
int
j
=
0
;
j
<
BDD_width_each_layer
[
i
];
j
++
){
plot_file
<<
BDD
[
i
][
j
].
left_node_index
<<
","
<<
BDD
[
i
][
j
].
right_node_index
;
if
(
j
<
(
BDD_width_each_layer
[
i
]
-
1
)){
plot_file
<<
","
;
}
else
{
plot_file
<<
endl
;
}
}
}
//finish copy
/////////////////////////////////// output_module_file << "//circuit accuracy = "<<circuit_accuracy<<endl;
/////////////////////////////////// output_module_file << "//test amounts = "<<parameter_test_ios<<endl;
/////////////////////////////////// output_module_file << "//total BDD nodes = "<<total_nodes_amount<<endl;
...
...
src/rtl/function_9999_BDD_id_1.v
deleted
100644 → 0
View file @
593bfc4a
//circuit accuracy = 1
//test amounts = 10000
//total BDD depth =62
//total BDD nodes = 92
//total split modes = 88
//total BDD nodes recursive = 92
//total split modes recursive = 88
//train time = 3.4272
module
function_9999_BDD_id_1
(
i
,
o
)
;
input
[
63
:
0
]
i
;
output
[
0
:
0
]
o
;
wire
[
0
:
0
]
l_0
;
wire
[
0
:
0
]
l_1
;
wire
[
0
:
0
]
l_2
;
wire
[
1
:
0
]
l_3
;
wire
[
0
:
0
]
l_4
;
wire
[
1
:
0
]
l_5
;
wire
[
0
:
0
]
l_6
;
wire
[
1
:
0
]
l_7
;
wire
[
0
:
0
]
l_8
;
wire
[
1
:
0
]
l_9
;
wire
[
0
:
0
]
l_10
;
wire
[
1
:
0
]
l_11
;
wire
[
0
:
0
]
l_12
;
wire
[
1
:
0
]
l_13
;
wire
[
0
:
0
]
l_14
;
wire
[
1
:
0
]
l_15
;
wire
[
0
:
0
]
l_16
;
wire
[
1
:
0
]
l_17
;
wire
[
0
:
0
]
l_18
;
wire
[
1
:
0
]
l_19
;
wire
[
0
:
0
]
l_20
;
wire
[
1
:
0
]
l_21
;
wire
[
0
:
0
]
l_22
;
wire
[
1
:
0
]
l_23
;
wire
[
0
:
0
]
l_24
;
wire
[
1
:
0
]
l_25
;
wire
[
0
:
0
]
l_26
;
wire
[
1
:
0
]
l_27
;
wire
[
0
:
0
]
l_28
;
wire
[
1
:
0
]
l_29
;
wire
[
0
:
0
]
l_30
;
wire
[
1
:
0
]
l_31
;
wire
[
0
:
0
]
l_32
;
wire
[
1
:
0
]
l_33
;
wire
[
0
:
0
]
l_34
;
wire
[
1
:
0
]
l_35
;
wire
[
0
:
0
]
l_36
;
wire
[
1
:
0
]
l_37
;
wire
[
0
:
0
]
l_38
;
wire
[
1
:
0
]
l_39
;
wire
[
0
:
0
]
l_40
;
wire
[
1
:
0
]
l_41
;
wire
[
0
:
0
]
l_42
;
wire
[
1
:
0
]
l_43
;
wire
[
0
:
0
]
l_44
;
wire
[
1
:
0
]
l_45
;
wire
[
0
:
0
]
l_46
;
wire
[
1
:
0
]
l_47
;
wire
[
0
:
0
]
l_48
;
wire
[
1
:
0
]
l_49
;
wire
[
0
:
0
]
l_50
;
wire
[
1
:
0
]
l_51
;
wire
[
0
:
0
]
l_52
;
wire
[
1
:
0
]
l_53
;
wire
[
0
:
0
]
l_54
;
wire
[
1
:
0
]
l_55
;
wire
[
0
:
0
]
l_56
;
wire
[
1
:
0
]
l_57
;
wire
[
0
:
0
]
l_58
;
wire
[
1
:
0
]
l_59
;
wire
[
1
:
0
]
l_60
;
wire
[
0
:
0
]
l_61
;
wire
[
-
1
:
0
]
l_62
;
assign
o
[
0
:
0
]
=
l_0
[
0
:
0
]
;
assign
l_0
[
0
]
=
(
l_1
[
0
]
^
i
[
0
])
;
assign
l_1
[
0
]
=
(
l_2
[
0
]
^
i
[
32
])
;
assign
l_2
[
0
]
=
(
l_3
[
0
]
&
!
i
[
1
])
|
(
l_3
[
1
]
&
i
[
1
])
;
assign
l_3
[
0
]
=
(
l_4
[
0
]
&
i
[
33
])
;
assign
l_3
[
1
]
=
(
l_4
[
0
]
&
!
i
[
33
])
|
(
i
[
33
])
;
assign
l_4
[
0
]
=
(
l_5
[
0
]
&
!
i
[
34
])
|
(
l_5
[
1
]
&
i
[
34
])
;
assign
l_5
[
0
]
=
(
l_6
[
0
]
&
i
[
2
])
;
assign
l_5
[
1
]
=
(
l_6
[
0
]
&
!
i
[
2
])
|
(
i
[
2
])
;
assign
l_6
[
0
]
=
(
l_7
[
0
]
&
!
i
[
3
])
|
(
l_7
[
1
]
&
i
[
3
])
;
assign
l_7
[
0
]
=
(
l_8
[
0
]
&
i
[
35
])
;
assign
l_7
[
1
]
=
(
l_8
[
0
]
&
!
i
[
35
])
|
(
i
[
35
])
;
assign
l_8
[
0
]
=
(
l_9
[
0
]
&
!
i
[
4
])
|
(
l_9
[
1
]
&
i
[
4
])
;
assign
l_9
[
0
]
=
(
l_10
[
0
]
&
i
[
36
])
;
assign
l_9
[
1
]
=
(
l_10
[
0
]
&
!
i
[
36
])
|
(
i
[
36
])
;
assign
l_10
[
0
]
=
(
l_11
[
0
]
&
!
i
[
37
])
|
(
l_11
[
1
]
&
i
[
37
])
;
assign
l_11
[
0
]
=
(
l_12
[
0
]
&
i
[
5
])
;
assign
l_11
[
1
]
=
(
l_12
[
0
]
&
!
i
[
5
])
|
(
i
[
5
])
;
assign
l_12
[
0
]
=
(
l_13
[
0
]
&
!
i
[
38
])
|
(
l_13
[
1
]
&
i
[
38
])
;
assign
l_13
[
0
]
=
(
l_14
[
0
]
&
i
[
6
])
;
assign
l_13
[
1
]
=
(
l_14
[
0
]
&
!
i
[
6
])
|
(
i
[
6
])
;
assign
l_14
[
0
]
=
(
l_15
[
0
]
&
!
i
[
7
])
|
(
l_15
[
1
]
&
i
[
7
])
;
assign
l_15
[
0
]
=
(
l_16
[
0
]
&
i
[
39
])
;
assign
l_15
[
1
]
=
(
l_16
[
0
]
&
!
i
[
39
])
|
(
i
[
39
])
;
assign
l_16
[
0
]
=
(
l_17
[
0
]
&
!
i
[
40
])
|
(
l_17
[
1
]
&
i
[
40
])
;
assign
l_17
[
0
]
=
(
l_18
[
0
]
&
i
[
8
])
;
assign
l_17
[
1
]
=
(
l_18
[
0
]
&
!
i
[
8
])
|
(
i
[
8
])
;
assign
l_18
[
0
]
=
(
l_19
[
0
]
&
!
i
[
9
])
|
(
l_19
[
1
]
&
i
[
9
])
;
assign
l_19
[
0
]
=
(
l_20
[
0
]
&
i
[
41
])
;
assign
l_19
[
1
]
=
(
l_20
[
0
]
&
!
i
[
41
])
|
(
i
[
41
])
;
assign
l_20
[
0
]
=
(
l_21
[
0
]
&
!
i
[
42
])
|
(
l_21
[
1
]
&
i
[
42
])
;
assign
l_21
[
0
]
=
(
l_22
[
0
]
&
i
[
10
])
;
assign
l_21
[
1
]
=
(
l_22
[
0
]
&
!
i
[
10
])
|
(
i
[
10
])
;
assign
l_22
[
0
]
=
(
l_23
[
0
]
&
!
i
[
43
])
|
(
l_23
[
1
]
&
i
[
43
])
;
assign
l_23
[
0
]
=
(
l_24
[
0
]
&
i
[
11
])
;
assign
l_23
[
1
]
=
(
l_24
[
0
]
&
!
i
[
11
])
|
(
i
[
11
])
;
assign
l_24
[
0
]
=
(
l_25
[
0
]
&
!
i
[
44
])
|
(
l_25
[
1
]
&
i
[
44
])
;
assign
l_25
[
0
]
=
(
l_26
[
0
]
&
i
[
12
])
;
assign
l_25
[
1
]
=
(
l_26
[
0
]
&
!
i
[
12
])
|
(
i
[
12
])
;
assign
l_26
[
0
]
=
(
l_27
[
0
]
&
!
i
[
13
])
|
(
l_27
[
1
]
&
i
[
13
])
;
assign
l_27
[
0
]
=
(
l_28
[
0
]
&
i
[
45
])
;
assign
l_27
[
1
]
=
(
l_28
[
0
]
&
!
i
[
45
])
|
(
i
[
45
])
;
assign
l_28
[
0
]
=
(
l_29
[
0
]
&
!
i
[
14
])
|
(
l_29
[
1
]
&
i
[
14
])
;
assign
l_29
[
0
]
=
(
l_30
[
0
]
&
i
[
46
])
;
assign
l_29
[
1
]
=
(
l_30
[
0
]
&
!
i
[
46
])
|
(
i
[
46
])
;
assign
l_30
[
0
]
=
(
l_31
[
0
]
&
!
i
[
15
])
|
(
l_31
[
1
]
&
i
[
15
])
;
assign
l_31
[
0
]
=
(
l_32
[
0
]
&
i
[
47
])
;
assign
l_31
[
1
]
=
(
l_32
[
0
]
&
!
i
[
47
])
|
(
i
[
47
])
;
assign
l_32
[
0
]
=
(
l_33
[
0
]
&
!
i
[
48
])
|
(
l_33
[
1
]
&
i
[
48
])
;
assign
l_33
[
0
]
=
(
l_34
[
0
]
&
i
[
16
])
;
assign
l_33
[
1
]
=
(
l_34
[
0
]
&
!
i
[
16
])
|
(
i
[
16
])
;
assign
l_34
[
0
]
=
(
l_35
[
0
]
&
!
i
[
17
])
|
(
l_35
[
1
]
&
i
[
17
])
;
assign
l_35
[
0
]
=
(
l_36
[
0
]
&
i
[
49
])
;
assign
l_35
[
1
]
=
(
l_36
[
0
]
&
!
i
[
49
])
|
(
i
[
49
])
;
assign
l_36
[
0
]
=
(
l_37
[
0
]
&
!
i
[
18
])
|
(
l_37
[
1
]
&
i
[
18
])
;
assign
l_37
[
0
]
=
(
l_38
[
0
]
&
i
[
50
])
;
assign
l_37
[
1
]
=
(
l_38
[
0
]
&
!
i
[
50
])
|
(
i
[
50
])
;
assign
l_38
[
0
]
=
(
l_39
[
0
]
&
!
i
[
19
])
|
(
l_39
[
1
]
&
i
[
19
])
;
assign
l_39
[
0
]
=
(
l_40
[
0
]
&
i
[
51
])
;
assign
l_39
[
1
]
=
(
l_40
[
0
]
&
!
i
[
51
])
|
(
i
[
51
])
;
assign
l_40
[
0
]
=
(
l_41
[
0
]
&
!
i
[
20
])
|
(
l_41
[
1
]
&
i
[
20
])
;
assign
l_41
[
0
]
=
(
l_42
[
0
]
&
i
[
52
])
;
assign
l_41
[
1
]
=
(
l_42
[
0
]
&
!
i
[
52
])
|
(
i
[
52
])
;
assign
l_42
[
0
]
=
(
l_43
[
0
]
&
!
i
[
53
])
|
(
l_43
[
1
]
&
i
[
53
])
;
assign
l_43
[
0
]
=
(
l_44
[
0
]
&
i
[
21
])
;
assign
l_43
[
1
]
=
(
l_44
[
0
]
&
!
i
[
21
])
|
(
i
[
21
])
;
assign
l_44
[
0
]
=
(
l_45
[
0
]
&
!
i
[
54
])
|
(
l_45
[
1
]
&
i
[
54
])
;
assign
l_45
[
0
]
=
(
l_46
[
0
]
&
i
[
22
])
;
assign
l_45
[
1
]
=
(
l_46
[
0
]
&
!
i
[
22
])
|
(
i
[
22
])
;
assign
l_46
[
0
]
=
(
l_47
[
0
]
&
!
i
[
23
])
|
(
l_47
[
1
]
&
i
[
23
])
;
assign
l_47
[
0
]
=
(
l_48
[
0
]
&
i
[
55
])
;
assign
l_47
[
1
]
=
(
l_48
[
0
]
&
!
i
[
55
])
|
(
i
[
55
])
;
assign
l_48
[
0
]
=
(
l_49
[
0
]
&
!
i
[
24
])
|
(
l_49
[
1
]
&
i
[
24
])
;
assign
l_49
[
0
]
=
(
l_50
[
0
]
&
i
[
56
])
;
assign
l_49
[
1
]
=
(
l_50
[
0
]
&
!
i
[
56
])
|
(
i
[
56
])
;
assign
l_50
[
0
]
=
(
l_51
[
0
]
&
!
i
[
25
])
|
(
l_51
[
1
]
&
i
[
25
])
;
assign
l_51
[
0
]
=
(
l_52
[
0
]
&
i
[
57
])
;
assign
l_51
[
1
]
=
(
l_52
[
0
]
&
!
i
[
57
])
|
(
i
[
57
])
;
assign
l_52
[
0
]
=
(
l_53
[
0
]
&
!
i
[
26
])
|
(
l_53
[
1
]
&
i
[
26
])
;
assign
l_53
[
0
]
=
(
l_54
[
0
]
&
i
[
58
])
;
assign
l_53
[
1
]
=
(
l_54
[
0
]
&
!
i
[
58
])
|
(
i
[
58
])
;
assign
l_54
[
0
]
=
(
l_55
[
0
]
&
!
i
[
27
])
|
(
l_55
[
1
]
&
i
[
27
])
;
assign
l_55
[
0
]
=
(
l_56
[
0
]
&
i
[
59
])
;
assign
l_55
[
1
]
=
(
l_56
[
0
]
&
!
i
[
59
])
|
(
i
[
59
])
;
assign
l_56
[
0
]
=
(
l_57
[
0
]
&
!
i
[
60
])
|
(
l_57
[
1
]
&
i
[
60
])
;
assign
l_57
[
0
]
=
(
l_58
[
0
]
&
i
[
28
])
;
assign
l_57
[
1
]
=
(
l_58
[
0
]
&
!
i
[
28
])
|
(
i
[
28
])
;
assign
l_58
[
0
]
=
(
l_59
[
0
]
&
!
i
[
30
])
|
(
l_59
[
1
]
&
i
[
30
])
;
assign
l_59
[
0
]
=
(
l_60
[
0
])
;
assign
l_59
[
1
]
=
(
l_60
[
0
]
&
!
i
[
29
])
|
(
l_60
[
1
]
&
i
[
29
])
;
assign
l_60
[
0
]
=
0
;
assign
l_60
[
1
]
=
(
l_61
[
0
]
&
!
i
[
61
])
|
(
i
[
61
])
;
assign
l_61
[
0
]
=
i
[
62
]
;
endmodule
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment