📄 oaverilogmodulecallbacksin.h
字号:
// *****************************************************************************// *****************************************************************************// oaVerilogModuleCallbacksIn.h//// This file contains the callbacks class required to create an embedded module// hierarchy. The ModuleCallbacksIn class is a derived class of the// CallbacksIn class.//// *****************************************************************************// Except as specified in the OpenAccess terms of use of Cadence or Silicon// Integration Initiative, this material may not be copied, modified,// re-published, uploaded, executed, or distributed in any way, in any medium,// in whole or in part, without prior written permission from Cadence.//// Copyright 2003-2005 Cadence Design Systems, Inc.// All Rights Reserved.//// $Author: shaun $// $Revision: 1.32 $// $Date: 2005/07/09 02:11:36 $// $State: Exp $// *****************************************************************************// *****************************************************************************#ifndef oaVerilogModuleCallbacksIn_P#define oaVerilogModuleCallbacksIn_PBEGIN_VERILOG_NAMESPACE// *****************************************************************************// ModuleCallbacksIn// *****************************************************************************class OA_VERILOG_DLL_API ModuleCallbacksIn : public CallbacksIn { public: ModuleCallbacksIn(const Scanner &scanIn, OptionsIn &optIn); virtual ~ModuleCallbacksIn(); virtual void init(); void setCurrentDesign(oaDesign *designIn); protected: virtual void addStub(const oaScalarName &moduleName, oaModModuleInstHeader *ihdr); virtual void all(); virtual void beginModule(const oaString &name); virtual void cleanModuleInterface(oaModule *module); virtual void connectByName(const oaName &instName, const oaName &netName, const oaName &portName); virtual void connectByOrder(const oaName &instName, const oaName &netName, oaUInt4 &termPosition, oaUInt4 bitPosition); virtual void detachEmptyModules(); virtual void detachStubs(); virtual oaModule *detectTopModule(); virtual void endModule(const ParamList *ports = NULL, const ParamList *portParams = NULL); virtual void expandCreateInstTerm(oaModVectorInst *inst, oaModNet *net, oaName &termName); virtual void expandCreateInstTerm(oaModVectorInst *inst, oaModNet *net, oaUInt4 termPos); virtual void expandCreateInstTerm(oaModModuleVectorInst *inst, oaModNet *net, oaName &termName); virtual void expandCreateInstTerm(oaModModuleVectorInst *inst, oaModNet *net, oaUInt4 termPos); virtual oaModModuleInst *findModuleInst(const oaName &instName); virtual void fixStubRefs(); virtual void fixInstTerms(oaModInst *inst); virtual void fixInstTermsByName(oaModInst *inst); virtual void fixInstTermsByPosition(oaModInst *inst); virtual oaUInt4 getModHierDepth(oaModule *module); virtual oaModInst *getModInst(const oaString &instMasterN, const ParamList ¶meterL, const oaName &instName); virtual oaModModuleScalarInst *getModInst(const oaScalarName &modName, const oaScalarName &instName); virtual oaModModuleVectorInst *getModInst(const oaScalarName &modName, const oaVectorName &instName); virtual oaModModuleVectorInstBit *getModInst(const oaScalarName &modName, const oaVectorBitName &instName); virtual oaBoolean isStub(const oaScalarName &moduleName) const; virtual void moduleInstance(const oaString &instMasterN, const ParamList ¶meterL, const oaName &instNameIn); virtual void pruneUnreferencedModules(); virtual void saveBlackBoxes(); virtual void selectUnreferencedModules(oaGroup *results); virtual void selectDeepHierarchy(oaGroup *candidates); virtual oaModule *selectLatest(oaGroup *candidates); virtual oaModule *setTopModule(); typedef std::set<oaModModuleInstHeader*> HdrSet; typedef std::set<oaModModuleInstHeader*>::iterator HdrSetIter; typedef oaUtil::HashTable<oaString, HdrSet*> StrHdrMap; typedef oaUtil::HashTableIter<oaString, HdrSet*> StrHdrMapIter; oaUInt4 currentModuleIndex; oaIntAppDef<oaModule> *moduleIndex; oaIntAppDef<oaModule> *moduleDepth; StrHdrMap stubMap;friend class OA_VERILOG_DLL_API ParserBase;friend class OA_VERILOG_DLL_API Parser;};END_VERILOG_NAMESPACE#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -