AMulet 2.0
AIG Multiplier Verification Tool
slicing.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
8 /*------------------------------------------------------------------------*/
9 #ifndef _slicing_H
10 #define _slicing_H
11 /*------------------------------------------------------------------------*/
12 #include <vector>
13 
14 #include "gate.h"
15 /*------------------------------------------------------------------------*/
17 extern std::vector<std::list<Gate*>> slices ;
18 /*------------------------------------------------------------------------*/
19 
24 void init_slices();
25 
29 void print_slices();
30 
31 
39 const Gate * topological_largest_child(const Gate * n);
40 
47 void fix_slice(Gate *n, int i);
48 
52 void slice_by_xor_chains();
53 
60 void upwards_slicing(const Gate * n, const Gate * pre);
61 
65 void slice_jut_gates();
66 
71 int fix_xors();
72 
76 void fix_jut_gates();
77 
82 void slicing_xor();
83 
84 /*------------------------------------------------------------------------*/
85 
92 void input_cone(Gate * n, int num);
93 
97 void find_carries();
98 
105 
109 void merge_all();
110 
114 void promote_all();
115 
119 void fill_slices();
120 
124 void slicing_non_xor();
125 
126 #endif
int fix_xors()
Definition: slicing.cpp:209
const Gate * topological_largest_child(const Gate *n)
Definition: slicing.cpp:44
void slicing_non_xor()
Definition: slicing.cpp:565
void slice_by_xor_chains()
Definition: slicing.cpp:93
void init_slices()
Definition: slicing.cpp:15
Definition: gate.h:32
void print_slices()
Definition: slicing.cpp:27
void fix_slice(Gate *n, int i)
Definition: slicing.cpp:73
void slice_jut_gates()
Definition: slicing.cpp:173
contains the class Gate and further functions to organize the gate structure, such as initializing th...
bool search_for_booth_pattern()
Definition: slicing.cpp:345
void merge_all()
Definition: slicing.cpp:425
void promote_all()
Definition: slicing.cpp:494
void fix_jut_gates()
Definition: slicing.cpp:264
void fill_slices()
Definition: slicing.cpp:551
void input_cone(Gate *n, int num)
Definition: slicing.cpp:309
std::vector< std::list< Gate * > > slices
vector-list Gate* matrix to store slices
Definition: slicing.cpp:12
void slicing_xor()
Definition: slicing.cpp:301
void find_carries()
Definition: slicing.cpp:327
void upwards_slicing(const Gate *n, const Gate *pre)
Definition: slicing.cpp:137