-
Notifications
You must be signed in to change notification settings - Fork 0
/
atpg_circuit.h
36 lines (26 loc) · 863 Bytes
/
atpg_circuit.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef ATPG_CIRCUIT_H
#define ATPG_CIRCUIT_H
#include <vector>
#include "atpg_circuit_element.h"
struct ATPGStep {
std::string name;
std::string subject;
char value;
bool alternative_tried;
};
class ATPGCircuit {
public:
std::vector<ATPGCircuitElement> elements;
ATPGCircuitElement& get_element(std::string name);
std::vector<ATPGCircuitElement*> get_inputs(std::string name);
bool justify_gate(std::string name);
std::vector<ATPGCircuitElement*> get_d_frontiers();
std::vector<ATPGCircuitElement*> get_j_frontiers();
std::vector<ATPGCircuitElement*> get_c_frontiers();
std::vector<ATPGCircuitElement*> get_cj_frontiers();
std::vector<ATPGCircuitElement*> get_pos();
std::vector<ATPGCircuitElement*> get_pis();
void print_pattern();
bool has_conflict(std::string exclude_gate);
};
#endif