我们继续上次,介绍dbGet剩余的object内容
flat design下的instance
group, hInst, instTerm, io, pBlkg, ptn, rBlkg, sdp, topCell
Child Object
area,box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,boxes,cell,group,hInst,instTerms,isAlwaysOn,isDontTouch,isHaloBlock,isIsolation,isJtagElem,isLevelShifter,isPhysOnly,isSpareGate,maskShift,name,orient,pHaloBot,pHaloBox,pHaloBox_area,pHaloBox_ll,pHaloBox_llx,pHaloBox_lly,pHaloBox_size,pHaloBox_sizex,pHaloBox_sizey,pHaloBox_ur,pHaloBox_urx,pHaloBox_ury,pHaloLeft,pHaloRight,pHaloTop,pStatus,pd,pgCellTerms,pgTermNets,props,pt,pt_x,pt_y,rHaloBotLayer,rHaloSideSize,rHaloTopLayer
hInst: inst的parent module
instTerms: instance的pin
pHalo*:placement halo相关的东西
pgCellTerms:cell的pg term
pgTermNets:cell pg term所连的net
rHalo*:route halo相关的东西
instance的pin
hNet, inst, net
Child Object
cellTerm,hNet,inst,isInput,isOutput,isSpecial,isTieHi,isTieLo,layer,name,net,pd,pt,pt_x,pt_y
cellTerm: cell的term
hNet: 连接该inst term的hierarchical net,对图上红圈框住的net就是hNet, 而整条到top level的net就是net,是flatten的
io pad或者io pin的信息
fPlan
Child Object
area,box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,indent,inst,isAssigned,isCorner,isGapFixed,isGround,isOffsetFixed,isPower,name,offset,order,row,side,spacing,term,type
tech lef中layer的信息
antennaData, busGuide, cellDensity, fPlan, hInstTerm, head, inst, instTerm, layerRule, layerShape, marker, net, pWire, pinGuide, ptn, ptnPinBlkg, rBlkg, routeType, sWire, term, text, trackDef, vWire, via, viaRuleGenerate, wire
Child Object
antennaModel1,antennaModel2,antennaModel3,antennaModel4,area,backside,densityStepX,densityStepY,densityWindowX,densityWindowY,direction,extName,fillActiveSpacing,fillGapSpacing,maxDensity,maxWidth,mfgGrid,minDensity,minSpacing,minWidth,name,num,numMasks,offsetX,offsetY,pitchX,pitchY,props,spacingTables,type,width,wrongwayMinWidth,wrongwaySpacing,wrongwayWidth
这些就是tech lef中关于layer的信息,以及一些routing信息,太复杂了,暂时就不介绍了,不懂的名词可以查阅下LEF menu.
layer中关于rule的信息
rule
Child Object
layer,spacing,width
pin或者blockage在layer上的shape
libCell, pin
Child Object
isExceptPGNet,layer,shapes,spacing
library中的cell信息
bump, head, inst, term
Child Object
abstractLib,abstractView,allObstructions,baseClass,cellDensities,eeqCells,foreigns,isAbstractDefined,isBuffer,isDontTouch,isDontUse,isInverter,isIsolation,isLevelShifter,isSequential,isTimeDefined,isVDDOnBottom,layerShapeObstructions,layoutLib,layoutView,lefFileName,leftEdgeName,leftPadding,name,numBidirs,numInputs,numOutputs,numPGTerms,numPhysTerms,numRefs,numTerms,pgTerms,physTerms,props,rightEdgeName,rightPadding,shapeViaObstructions,site,size,size_x,size_y,subClass,symmetryR90,symmetryX,symmetryY,terms
baseClass:返回design中的cell的class信息,一般有这些block, core, corner, cover, none, pad
[DEV]innovus 14> dbGet head.libCells.baseClass -u
pad block core corner
eeqCells:官方解释是与电气相关的cell
foreigns: cell原点的坐标与参考原点之间的偏移量
numBidirs:cell的bidirectional term,双向term
numPhysTerms: cell的physical term,就是没有用到的term数量
numRefs: library中每个cell被例化的次数
physTerms:就是指没有用到的term
subClass: 子类型,LEF中关于macro更详细的分类,比如说:block, blockBlackBox, blockRing, blockSoft, core, coreAntenna...具体内容如下图所示:红框框就是baseClass,蓝框框就是subClass
DRC marker的信息
topCell
Child Object
area,box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,layer,message,messageId,originator,polyPts,subType,type,userOriginator,userSubType,userType
这个就不讲了,大部分都和rule有关,平时用到也不多。
net信息
bump, bus, hInstTerm, hNet, hTerm, inst, instTerm, netGroup, pWire, pd, routeType, sViaInst, sWire, term, topCell, vWire, viaInst, wire
Child Object
allTerms,area,avoidDetour,botMaskLayerNum,botOneSideSpacingLayerNum,bottomPreferredLayer,box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,bus,hNets,instTerms,isAnalog,isCTSClock,isClock,isDontTouch,isExternal,isFixedBump,isGnd,isMixedSignal,isPatternTrunk,isPhysOnly,isPwr,isPwrOrGnd,isScanNet,isTrialRouted,mask,maxVoltage,minVoltage,name,numInputTerms,numOutputTerms,numTerms,pWires,preferredExtraSpace,props,rule,sVias,sWires,shieldNets,siPostRouteRepair,skipAntennaRepair,skipRouting,terms,topMaskLayerNum,topOneSideSpacingLayerNum,topPreferredLayer,vias,weight,wires
allTerms: design中所有的inst term以及top level io term
isIlmNet: 这条net是不是连着ilm module
maxVoltage: 这条net的最大电压
minVoltage:这条net的最小电压
pWires: patch wire
sVias: special via
sWires: special wire
vias: regular via
wires: regular wire
weight: net weight, 指net的权重,可以参考下文
剩余的大部分都是routing本身的属性,和dbGet并无太多关系,下次等我讲routing时,再介绍那些名词
net group信息
busGuide, fPlan, pinGuide
Child Object
excludeNet,isCompact,isGuided,isOptimizeOrder,isSpread,keepOutSpace,name,nets
详细内容参考:
placement blockage信息
fPlan
Child Object
area,attr,boxes,density,inst,isNoFlop,isPushdown,name,shapes,type
详细内容参考:
power domain信息
group, inst, instTerm, term, topCell
Child Object
core2Bot,core2Left,core2Right,core2Top,extBot,extEdges,extLeft,extRight,extTop,gapBot,gapEdges,gapLeft,gapRight,gapTop,group,isAlwaysOn,isDefault,name
这里基本上就是low power的基本信息,这些内容和dbGet本身没太大关系,等下次介绍lower power时再介绍这些概念吧
lef中的port信息
term
Child Object
allShapes,class,layerShapeShapes,portNumber,shapeViaShapes
这里基本上就是lef中关于pin定义的那些physical信息,这里不重点介绍了
pin group信息
fPlan, pinGuide
Child Object
cell,excludePin,isCompact,isGuided,isSpread,keepOutSpace,name,optimizeOrder,pinSpacing,pinWidth,terms
详细可以参考
pin guide信息
fPlan
Child Object
area,boxes,cell,layerPriority,layers,name,netGroup,pinGroup
详细可以参考
ptn就是partition的信息
hInst, topCell
Child Object
cloneHInsts,cloneInsts,clones,coreSpacingBot,coreSpacingLeft,coreSpacingRight,coreSpacingTop,isBlackBox,isCommited,master,masterHInst,masterInst,minPitchBot,minPitchLeft,minPitchRight,minPitchTop,name,pHaloBot,pHaloLeft,pHaloRight,pHaloTop,pinLayersBot,pinLayersLeft,pinLayersRight,pinLayersTop,pinToCornerDist,rHaloBotLayer,rHaloSideSize,rHaloTopLayer,railWidth,reservedLayers,stdCellHeight
cloneHInsts: 如果partition还没有commit,或者不是blackbox,返回clone hinsts
cloneInsts:如果partition已经commit或者是blackbox,返回clone insts
masterHInst: 如果partition还没有commit,或者不是blackbox,返回master hinsts
masterInst: 如果partition已经commit或者是blackbox,返回master insts
剩余的可以参考:
ptn cell的信息
head, inst, pinGroup, term
Child Object
isVDDOnBottom,name,numBidirs,numInputs,numPGTerms,numPhysTerms,numRefs,numTerms,pgTerms,physTerms,pinToCornerDist,props,symmetryR90,symmetryX,symmetryY,terms
前文lib cell中有解释
partition pin blockage信息
fPlan
Child Object
box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,layer,name
可以参考
patch wire,补丁,在advance node中用做金属,修补DRC使用
net
Child Object
box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,layer,mask,net,pt,pt_x,pt_y,rule,status
routing blockage信息
fPlan
Child Object
area,attr,boxes,designRuleWidth,inst,isExceptPGNet,isPGNetOnly,isPushdown,layer,name,shapes,spacing
size blockage信息
fPlan
Child Object
area,box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,isResizeable,name
row信息
fPlan
Child Object
area,box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,name,numX,numY,orient,site,stepX,stepY
shape的一些信息
layerShape, pBlkg, rBlkg
Child Object
mask,path,poly,rect,rect_area,rect_ll,rect_llx,rect_lly,rect_size,rect_sizex,rect_sizey,rect_ur,rect_urx,rect_ury,type
比较简单,就不介绍了
via的形状
libCell, pin
Child Object
botMask,botRects,cutMask,cutRects,pt,pt_x,pt_y,topMask,topRects,via
site的信息
fPlan, head, libCell, row
Child Object
class,name,size,size_x,size_y,symmetryR90,symmetryX,symmetryY
class:site的类别,一般包括core, pad
special via信息
net
Child Object
botMask,botRects,cutMask,cutRects,net,props,pt,pt_x,pt_y,shape,shieldNet,status,topMask,topRects,userClass,via
比较简单,就不介绍了
special wire信息
net
Child Object
area,beginExt,box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,endExt,geomType,layer,mask,net,polyPts,props,pts,shape,shieldNet,status,userClass,width
比较简单,就不介绍了
top level io port信息
bump, bus, hInstTerm, hTerm, inst, instTerm, io, libCell, net, pinGroup, ptnCell, topCell
Child Object
antennas,bus,cell,depth,groundSensitivity,inOutDir,isClk,isInput,isOutput,isScanClk,isSpecial,isTieHi,isTieLo,layer,mustJoin,name,net,orient,pStatus,pd,pins,props,pt,pt_x,pt_y,rule,shape,side,supplySensitivity,type,width
top cell下面的信息
fPlan, head, pinGroup, pinGuide, term
Child Object
bumps,designLib,designView,fPlan,hInst,insts,isProtoModelCommitted,isProtoModelSpecified,isVDDOnBottom,markers,name,nets,numBidirs,numInputs,numInsts,numNets,numPGTerms,numPhysInsts,numPhysNets,numPhysTerms,numTerms,pds,pgTerms,physInsts,physNets,physTerms,pinToCornerDist,pkgComponents,pkgObjects,props,ptns,statusClockSynthesized,statusDetailRouted,statusGRouted,statusIoPlaced,statusPlaced,statusPowerAnalyzed,statusRCExtracted,statusRouted,statusScanOpted,symmetryR90,symmetryX,symmetryY,terms,texts
前面基本上都有介绍过,不再重复了
Def中关于track的信息
fPlan
Child Object
dir,isSameMask,layers,mask,numTracks,start,step
regular via的信息
head, rule, sVia, shapeVia, via
Child Object
botMask,botRects,cutMask,cutRects,net,pt,pt_x,pt_y,rule,status,topMask,topRects,via
regular wire的信息
net
Child Object
area,beginExt,box,box_area,box_ll,box_llx,box_lly,box_size,box_sizex,box_sizey,box_ur,box_urx,box_ury,direction,endExt,layer,length,mask,net,pts,rule,status,width
dbGet所有的object都介绍完了,看着很乱,其实我认为只要记住关键的那几个:term,hterm,hinstTerm,net,hNet,inst,hinst区别就行,剩余的大都是physical本身的一些概念而且,随着工作经验的积累,那些概念也会慢慢掌握~~
简历请戳邮箱:taozhang3260@163.com
觉得有用的话,给我点个好看吧