Class HDLMain

Inheritance Relationships

Base Type

Class Documentation

class HDLMain : public systemc_clang::SystemCConsumer

Public Functions

inline HDLMain(CompilerInstance &ci, std::string topModule = "!none")
inline HDLMain(ASTUnit *from_ast, std::string topModule = "!none")
virtual bool postFire()

Entry point for HDL generation

Starting with top level module, process systemc objects Generate hcode for modules and submodules, including their ports and variables, port bindings, sensitivity lists Generate hcode for SC_METHOD body declarations

void SCmodule2hcode(ModuleInstance *mod, hNodep &h_module, llvm::raw_fd_ostream &SCout)
void SCport2hcode(ModuleInstance::portMapType pmap, hNode::hdlopsEnum h_op, hNodep &h_info)
void SCsig2hcode(ModuleInstance::signalMapType pmap, hNode::hdlopsEnum h_op, hNodep &h_info)
void SCproc2hcode(ModuleInstance::processMapType pm, hNodep &h_top)
void SCportbindings2hcode(systemc_clang::ModuleInstance::portBindingMapType portbindingmap, hNodep &h_pb)