systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
systemc_hdl::HDLConstructorHcode Class Reference

#include <HDLHnode.h>

Collaboration diagram for systemc_hdl::HDLConstructorHcode:
Collaboration graph
[legend]

Classes

struct  for_info_t
 

Public Member Functions

 HDLConstructorHcode ()
 
hNodep ProcessCXXConstructorHcode (hNodep xconstructor)
 
void GetSensLists (std::vector< hNodep > &hsens)
 

Private Member Functions

void HDLLoop (hNodep &hp, std::vector< for_info_t > &for_info)
 
void PushRange (hNodep &hp, std::vector< for_info_t > &for_info)
 
void PopRange (std::vector< for_info_t > &for_info)
 
void UnrollBinding (hNodep &hp_orig, std::vector< for_info_t > &for_info)
 
bool SetupSenslist (hNodep hp)
 
void UnrollSensitem (hNodep &hp_orig, std::vector< for_info_t > &for_info)
 
void SubstituteIndex (hNodep &hp, std::vector< for_info_t > &for_info)
 
hNodep HnodeDeepCopy (hNodep hp)
 
void RemoveSCMethod (hNodep &hp)
 
void CleanupInitHcode (hNodep &hp)
 
string ExtractModuleName (hNodep hp)
 

Private Attributes

hNodep hnewpb
 
std::vector< hNodephnewsens
 

Detailed Description

Definition at line 73 of file HDLHnode.h.

Constructor & Destructor Documentation

◆ HDLConstructorHcode()

systemc_hdl::HDLConstructorHcode::HDLConstructorHcode ( )
inline

Definition at line 75 of file HDLHnode.h.

Member Function Documentation

◆ CleanupInitHcode()

void systemc_hdl::HDLConstructorHcode::CleanupInitHcode ( hNodep & hp)
private

Definition at line 46 of file HDLHnode.cpp.

◆ ExtractModuleName()

string systemc_hdl::HDLConstructorHcode::ExtractModuleName ( hNodep hp)
private

Definition at line 152 of file HDLHnode.cpp.

◆ GetSensLists()

void systemc_hdl::HDLConstructorHcode::GetSensLists ( std::vector< hNodep > & hsens)
inline

Definition at line 84 of file HDLHnode.h.

◆ HDLLoop()

void systemc_hdl::HDLConstructorHcode::HDLLoop ( hNodep & hp,
std::vector< for_info_t > & for_info )
private

Definition at line 483 of file HDLHnode.cpp.

◆ HnodeDeepCopy()

hNodep systemc_hdl::HDLConstructorHcode::HnodeDeepCopy ( hNodep hp)
private

Definition at line 144 of file HDLHnode.cpp.

◆ PopRange()

void systemc_hdl::HDLConstructorHcode::PopRange ( std::vector< for_info_t > & for_info)
private

Definition at line 128 of file HDLHnode.cpp.

◆ ProcessCXXConstructorHcode()

hNodep systemc_hdl::HDLConstructorHcode::ProcessCXXConstructorHcode ( hNodep xconstructor)

Definition at line 541 of file HDLHnode.cpp.

◆ PushRange()

void systemc_hdl::HDLConstructorHcode::PushRange ( hNodep & hp,
std::vector< for_info_t > & for_info )
private

for loop range for port bindings is expecting 3 simple range arguments. They must be numeric constants. If not, defaults are used. eg. hForStmt NONAME [ hVarAssign NONAME [ hVarref _local_5 NOLIST hLiteral 0 NOLIST ] hBinop < [ hVarref _local_5 NOLIST hLiteral 16 NOLIST ] hUnop ++ [ hVarref _local_5 NOLIST ] hBinop () [ hBinop ARRAYSUBSCRIPT [ hVarref u_encode_ints##s_block NOLIST hVarref _local_5 NOLIST ] hBinop ARRAYSUBSCRIPT [ hVarref c_bb_block NOLIST hVarref _local_5 NOLIST ] ] ]

Definition at line 98 of file HDLHnode.cpp.

◆ RemoveSCMethod()

void systemc_hdl::HDLConstructorHcode::RemoveSCMethod ( hNodep & hp)
private

Definition at line 30 of file HDLHnode.cpp.

◆ SetupSenslist()

bool systemc_hdl::HDLConstructorHcode::SetupSenslist ( hNodep hp)
private

Definition at line 390 of file HDLHnode.cpp.

◆ SubstituteIndex()

void systemc_hdl::HDLConstructorHcode::SubstituteIndex ( hNodep & hp,
std::vector< for_info_t > & for_info )
private

Definition at line 132 of file HDLHnode.cpp.

◆ UnrollBinding()

void systemc_hdl::HDLConstructorHcode::UnrollBinding ( hNodep & hp_orig,
std::vector< for_info_t > & for_info )
private

Definition at line 218 of file HDLHnode.cpp.

◆ UnrollSensitem()

void systemc_hdl::HDLConstructorHcode::UnrollSensitem ( hNodep & hp_orig,
std::vector< for_info_t > & for_info )
private

Definition at line 422 of file HDLHnode.cpp.

Member Data Documentation

◆ hnewpb

hNodep systemc_hdl::HDLConstructorHcode::hnewpb
private

Definition at line 102 of file HDLHnode.h.

◆ hnewsens

std::vector<hNodep> systemc_hdl::HDLConstructorHcode::hnewsens
private

Definition at line 103 of file HDLHnode.h.


The documentation for this class was generated from the following files: