Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

oagFpga.h

Go to the documentation of this file.
00001 
00002 #if !defined(oagFpga_P)
00003 #define oagFpga_P
00004 
00005 #include "oaDesignDB.h"
00006 #include "oagFpgaObserver.h"
00007 #include "oagFpgaDebug.h"
00008 #include "oagFpga.h"
00009 #include <list>
00010 
00011 namespace oagFpga {
00012 
00013 class ModRef;
00014 class OccRef;
00015 
00016 
00017 // *****************************************************************************
00018 // functional AppDefs
00019 //
00020 // *****************************************************************************
00021 
00022 extern oa::oaVarDataAppDef<oa::oaDesign>        *streamAppDef;
00023 extern oa::oaVoidPointerAppDef<oa::oaDesign>    *managerAppDef;
00024 extern oa::oaIntAppDef<oa::oaModBitNet>         *bbRefAppDef;
00025 extern oa::oaIntAppDef<oa::oaModBitNet>         *AiRefAppDef;
00026 
00027 
00028 // *****************************************************************************
00029 // oagFpga
00030 //
00031 // \brief Global/utility operations on functional information.
00032 //
00033 // Before any operations on functional information are attempted, 
00034 // the initialize() function must first be called.
00035 //
00036 // *****************************************************************************
00037   
00038     void                  initialize();
00039 
00042     
00043     void                  readVerilog(oa::oaLib *library, 
00044                                       const char *filename );
00045     void                  readVerilog(oa::oaLib *library,
00046                                       const oa::oaScalarName &viewName,
00047                                       const char *filename );
00048     void                  writeVerilog(oa::oaLib *library, oa::oaView *view,
00049                                        const char *filename );
00050     void                  writeVerilog(oa::oaDesign *design,
00051                                        const char *filename );
00052     void                  lutMap(oa::oaLib* curLib, oa::oaView* curView,
00053                                         oa::oaDesign *targetDesign,
00054                                         int lutSize, int cutsPerNode, 
00055                                         bool flatten, char* clockNetName,
00056                                         char* clockTriggerName,
00057                                         char* resetNetName,
00058                                         char* resetTriggerName,
00059                                         char* objectiveName); 
00060 
00061 /*
00062     void                  readLiberty(oa::oaLib *library,
00063                                       const char *filename ); 
00064     void                  readLiberty(oa::oaLib *library,
00065                                       const oa::oaScalarName &viewName,
00066                                       const char *filename
00067                                      ); 
00068 
00072 
00073     oa::oaOccBusTerm*     findBusTerm(oa::oaOccBusTermBit *bitTerm);
00074     oa::oaModBusNet*      findBusNet(oa::oaModBitNet *bitNet);
00075 
00076     inline oa::oaOccBitNet* toBitNet(oa::oaOccNet *net) {
00081         assert(net);
00082         assert(net->getSingleBitMembers().getCount() == 1);
00083         return net->getBit(0);
00084     }
00085     */
00086 
00087     inline oa::oaModBitNet* toBitNet(oa::oaModNet *net) {
00092         assert(net);
00093         assert(net->getSingleBitMembers().getCount() == 1);
00094         return net->getBit(0);
00095     }
00096 
00097     /*
00098 
00102     
00103     void                 collapseOneInstanceOneLevel(oa::oaModInst *inst);
00104     void                 collapseOneInstanceAllLevels(oa::oaModInst *inst,
00105                                                       bool preserveStateNets = true,
00106                                                       bool preserveAllNets = false);
00107     void                 collapseAllInstancesOneLevel(oa::oaModule *module);
00108     void                 collapseAllInstancesAllLevels(oa::oaModule *module,
00109                                                       bool preserveStateNets = true,
00110                                                       bool preserveAllNets = false);
00111     oa::oaOccurrence *   uniquify(oa::oaOccurrence *occurrence);
00112         bool                             isUnique(oa::oaOccurrence *occurrence);
00113       
00117    
00118     oa::oaModule *       copy(oa::oaModule *source, bool makeNewDesign = true);
00119     oa::oaModule *       extract(oa::oaModule *source, bool makeNewDesign = true);
00120 
00121     ModRef               partialCopyNode(ModRef original, oa::oaModule *destModule);
00122     ModRef               partialCopyNode(OccRef original, oa::oaModule *destModule);
00123 
00125 */   
00126     extern Observer     *observer;
00127 
00128 #ifdef YU_TEST
00129     
00130 extern oa::oaLib* YuTestCurLib;
00131 extern oa::oaView* YuTestCurView;
00132 extern void YuTest(oa::oaLib* curLib, oa::oaView* curView, oa::oaModule* currentModule);
00133 
00134 #endif // #ifdef YU_TEST
00135   
00136 }
00137 
00138 #endif

Generated on Mon Jul 9 14:17:19 2007 for OA Gear Fpga by  doxygen 1.3.9.1