⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oadefin.h

📁 openaccess读def,lef文件所用的源代码
💻 H
字号:
// *****************************************************************************// *****************************************************************************// DefIn.h//// This file contains the definition for the DefIn class. This// class implements reading a DEF file and creating an OA design.// It uses the CAT DEF parser to parse the DEF file.//// *****************************************************************************// 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 2002-2005 Cadence Design Systems, Inc.//                           All Rights Reserved.////  $Author: sailajad $//  $Revision: 1.89 $//  $Date: 2005/08/05 01:41:33 $//  $State: Exp $// *****************************************************************************// *****************************************************************************#ifndef DefIn_P#define DefIn_P#include "oaLefDef.h"#include "defrReader.hpp"BEGIN_LEFDEF_NAMESPACE// *****************************************************************************// DefIn// *****************************************************************************class OA_LEFDEF_DLL_API DefIn : public LefDefIn {  public:			    DefIn(oaUtil::MsgAdapter	&msgAdapterIn);    virtual		    ~DefIn();    virtual void	    run(DefInOptions	*options);    virtual void	    run(FILE		*file,				DefInOptions	*options);    // Utility functions for use by helper classes.    DefInOptions	    *getOptions()   {return options;}    oaBoolean		    isUpdate()	    {return update;}    oaInt4		    scaleToDBU(double	x);    virtual void	    getSimpleName(const oaString    &str,					  oaSimpleName	    &name);    virtual oaInst	    *getInst(const oaSimpleName	&instName);    virtual oaBitTerm	    *getTerm(const oaSimpleName	&termName);    virtual oaBitTerm	    *getTerm(const oaSimpleName		&pinName,				     const oaSimpleName		&netName,				     oaTermType			termType = oacInputOutputTermType,				     oaSigType			sigType	= oacSignalSigType,				     oaBlockDomainVisibility	visibility =  oacInheritFromTopBlock);    virtual oaInstTerm	    *getInstTerm(oaInst			    *inst,					 const oaSimpleName	    &termName,					 oaBitNet		    *net = NULL,					 oaRouteMethod		    routeMethod	= oacSymbolicRouteMethod,					 oaBlockDomainVisibility    visibility = oacInheritFromTopBlock);    virtual oaBitNet	    *getNet(const oaSimpleName	    &netName,				    oaSigType		    sigType = oacSignalSigType,				    oaBlockDomainVisibility visibility =  oacInheritFromTopBlock);    virtual void	    error(LefDefMsgIds	msgId,				  ...);    virtual void	    warn(LefDefMsgIds	msgId,				 ...);    // Callback wrapper functions for the CAT parser.    static int		    cbCaseSensitive(defrCallbackType_e	cbType,					    int			data,					    defiUserData	userData);    static int		    cbBusBitChars(defrCallbackType_e	cbType,					  const char		*data,					  defiUserData		userData);    static int		    cbDividerChar(defrCallbackType_e	cbType,					  const char		*data,					  defiUserData		userData);    static int		    cbDesign(defrCallbackType_e	cbType,				     const char		*data,				     defiUserData	userData);    static int		    cbTechnology(defrCallbackType_e cbType,					 const char	    *data,					 defiUserData	    userData);    static int		    cbUnits(defrCallbackType_e	cbType,				    double		data,				    defiUserData	userData);    static int		    cbPropDef(defrCallbackType_e    cbType,				      defiProp		    *data,				      defiUserData	    userData);    static int		    cbDieArea(defrCallbackType_e    cbType,				      defiBox		    *data,				      defiUserData	    userData);    static int		    cbRow(defrCallbackType_e	cbType,				  defiRow		*data,				  defiUserData		userData);    static int		    cbTrack(defrCallbackType_e	cbType,				    defiTrack		*data,				    defiUserData	userData);    static int		    cbGCellGrid(defrCallbackType_e  cbType,					defiGcellGrid	    *data,					defiUserData	    userData);    static int		    cbVia(defrCallbackType_e	cbType,				  defiVia		*data,				  defiUserData		userData);    static int		    cbStyle(defrCallbackType_e	cbType,				   defiStyles		*data,				   defiUserData		userData);    static int		    cbNDR(defrCallbackType_e	cbType,				  defiNonDefault	*data,				  defiUserData		userData);    static int		    cbRegion(defrCallbackType_e	cbType,				     defiRegion		*data,				     defiUserData	 userData);    static int		    cbComponent(defrCallbackType_e  cbType,					defiComponent	    *data,					defiUserData	    userData);    static int		    cbPins(defrCallbackType_e	cbType,				   defiPin		*data,				   defiUserData		userData);    static int		    cbPinPropDef(defrCallbackType_e cbType,					 defiPinProp	    *data,					 defiUserData	    userData);    static int		    cbSNet(defrCallbackType_e	cbType,				   defiNet		*data,				   defiUserData		userData);    static int		    cbNet(defrCallbackType_e	cbType,				  defiNet		*data,				  defiUserData		userData);    static int		    cbScanChain(defrCallbackType_e  cbType,					defiScanchain	    *data,					defiUserData	    userData);    static int		    cbGroupName(defrCallbackType_e  cbType,					const char	    *data,					defiUserData	    userData);    static int		    cbGroupMember(defrCallbackType_e	cbType,					  const char		*data,					  defiUserData		userData);    static int		    cbGroup(defrCallbackType_e	cbType,				    defiGroup		*data,				    defiUserData	userData);    static int		    cbBlockages(defrCallbackType_e  cbType,					defiBlockage	    *data,					defiUserData	     userData);    static int		    cbFill(defrCallbackType_e	cbType,				   defiFill		*data,				   defiUserData		userData);    static int		    cbDesignEnd(defrCallbackType_e  cbType,					void		    *data,					defiUserData	    userData);  protected:    virtual void	    parse(FILE	*file);    virtual void	    parseCaseSensitive(int  data);    virtual void	    parseBusBitChars(const char	*data);    virtual void	    parseDividerChar(const char	*data);    virtual void	    parseDesign(const char  *data);    virtual void	    parseTechnology(const char	*data);    virtual void	    parseUnits(double	data);    virtual void	    parsePropDef(defiProp   *data);    virtual void	    parseDieArea(defiBox    *data);    virtual void	    parseRow(defiRow	*data);    virtual void	    parseTrack(defiTrack    *data);    virtual void	    parseGCellGrid(defiGcellGrid    *data);    virtual void	    parseVia(defiVia	*data);    virtual void	    parseStyle(defiStyles   *data);    virtual void	    parseNDR(defiNonDefault *data);    virtual void	    parseRegion(defiRegion  *data);    virtual void	    parseComponent(defiComponent    *data);    virtual void	    parsePin(defiPin	*data);    virtual void	    parsePinPropDef(defiPinProp	*data);    virtual void	    parseSNet(defiNet	*data);    virtual void	    parseNet(defiNet	*data);    virtual void	    parseScanChain(defiScanchain    *data);    virtual void	    parseGroupName(const char	*name);    virtual void	    parseGroupMember(const char	*name);    virtual void	    parseGroup(defiGroup    *data);    virtual void	    parseBlockages(defiBlockage	*data);    virtual void	    parseFill(defiFill	*data);    virtual void	    parseDesignEnd(void	*data);    virtual void	    init();    virtual void	    initCallbacks();    virtual void	    initLib();    virtual void	    initTechDB();    virtual void	    close();    virtual DefInBlockage   *getDefInBlockage();    virtual DefInComponent  *getDefInComponent();    virtual DefInGroup	    *getDefInGroup();    virtual DefInNDR	    *getDefInNDR();    virtual DefInNet	    *getDefInNet();    virtual DefInPin	    *getDefInPin();    virtual DefInRegion	    *getDefInRegion();    virtual DefInRow	    *getDefInRow();    virtual DefInScanChain  *getDefInScanChain();    virtual DefInStyle	    *getDefInStyle();    virtual DefInTrack	    *getDefInTrack();    virtual DefInVia	    *getDefInVia();    virtual DefInModHier    *getDefInModHier();    oaUInt4		    dbuPerUUFromTech;    oaDouble		    scaleFactor;    oaBoolean		    update;    oaDefNS		    defNS;    oaBoolean		    unresolvedMasters;    oaArray<oaDesign*>	    designs;    DefInOptions	    *options;    DefInModHier	    *defInModHier;    DefInBlockage	    *defInBlockage;    DefInComponent	    *defInComponent;    DefInGroup		    *defInGroup;    DefInNDR		    *defInNDR;    DefInNet		    *defInNet;    DefInPin		    *defInPin;    DefInRegion		    *defInRegion;    DefInRow		    *defInRow;    DefInScanChain	    *defInScanChain;    DefInStyle		    *defInStyle;    DefInTrack		    *defInTrack;    DefInVia		    *defInVia;friend class DefInModHier;friend class DefInBlockage;friend class DefInComponent;friend class DefInGroup;friend class DefInNDR;friend class DefInNet;friend class DefInPin;friend class DefInRegion;friend class DefInRow;friend class DefInScanChain;friend class DefInStyle;friend class DefInTrack;friend class DefInVia;};END_LEFDEF_NAMESPACE#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -