16 static const string fielddelim{
"##"};
17 static const string tokendelim{
"_"};
18 static const string qualnamedelim(
":");
19 static const string pbstring{
"()"};
20 static const string arrsub{
"ARRAYSUBSCRIPT"};
21 static const string noname{
"NONAME"};
22 static const string sensop{
"<<"};
23 static const string localstr{
"_local_"};
24 static const string strsccore(
"sc_core__sc");
26 static const int reset_async = 1;
27 static const int reset_sync = 2;
29 static inline bool isInitPB(
hNodep hp) {
30 return (hp->
getopc() == hNode::hdlopsEnum::hBinop) &&
34 static inline bool isInitSensitem(
hNodep hp) {
35 return (hp->
getopc() == hNode::hdlopsEnum::hBinop) &&
40 return (hop == hNode::hdlopsEnum::hMethodCall) ||
41 (hop == hNode::hdlopsEnum::hBuiltinFunction);
44 static inline int isThreadSensitem(
hNodep hp) {
46 if (hp->
getname().find(
"sc_core__sc_module__async_reset_signal_is")!=std::string::npos)
48 else if (hp->
getname().find(
"sc_core__sc_module__sync_reset_signal_is")!=std::string::npos)
54 static inline bool isMethodCall(
hNodep hp) {
55 return ((hp->
getopc() == hNode::hdlopsEnum::hVarAssign) &&
60 static inline bool isEdge(
string &s) {
69 static inline bool isSimEvent(
string &s) {
70 return (s==
"value_changed_event");
91 void PopRange(std::vector<for_info_t> &for_info);
std::vector< hNodep > child_list
void UnrollSensitem(hNodep &hp_orig, std::vector< for_info_t > &for_info)
void UnrollBinding(hNodep &hp_orig, std::vector< for_info_t > &for_info)
bool SetupSenslist(hNodep hp)
void SubstituteIndex(hNodep &hp, std::vector< for_info_t > &for_info)
hNodep ProcessCXXConstructorHcode(hNodep xconstructor)
void PushRange(hNodep &hp, std::vector< for_info_t > &for_info)
void CleanupInitHcode(hNodep &hp)
bool isSimRelated(hNodep hp)
string ExtractModuleName(hNodep hp)
void GetSensLists(std::vector< hNodep > &hsens)
void PopRange(std::vector< for_info_t > &for_info)
void RemoveSCMethod(hNodep &hp)
hNodep HnodeDeepCopy(hNodep hp)
void HDLLoop(hNodep &hp, std::vector< for_info_t > &for_info)
std::vector< hNodep > hnewsens
Clang forward declarations.