不敢去争取,学不会珍惜,却难以忘记——dbGet(三)

640?wx_fmt=gif

我们继续上次,介绍dbGet剩余的object内容

inst

flat design下的instance

Parent Object

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相关的东西

instTerm

instance的pin

Parent Object

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的

不敢去争取,学不会珍惜,却难以忘记——dbGet(三)_第1张图片

io

io pad或者io pin的信息


Parent Object

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

layer

tech lef中layer的信息

Parent Object

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.

layerRule

layer中关于rule的信息

Parent Object

rule

Child Object

layer,spacing,width

layerShape

pin或者blockage在layer上的shape

Parent Object

libCell, pin

Child Object

isExceptPGNet,layer,shapes,spacing

libCell

library中的cell信息

Parent Object

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

不敢去争取,学不会珍惜,却难以忘记——dbGet(三)_第2张图片

marker

DRC marker的信息

Parent Object

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

net信息

Parent Object

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时,再介绍那些名词

netGroup

net group信息

Parent Object

busGuide, fPlan, pinGuide

Child Object

excludeNet,isCompact,isGuided,isOptimizeOrder,isSpread,keepOutSpace,name,nets

详细内容参考:

pBlkg

placement blockage信息

Parent Object

fPlan

Child Object

area,attr,boxes,density,inst,isNoFlop,isPushdown,name,shapes,type

详细内容参考:

pd

power domain信息

Parent Object

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时再介绍这些概念吧

pin

lef中的port信息

Parent Object

term

Child Object

allShapes,class,layerShapeShapes,portNumber,shapeViaShapes

这里基本上就是lef中关于pin定义的那些physical信息,这里不重点介绍了

pinGroup

pin group信息

Parent Object

fPlan, pinGuide

Child Object

cell,excludePin,isCompact,isGuided,isSpread,keepOutSpace,name,optimizeOrder,pinSpacing,pinWidth,terms

详细可以参考

pinGuide

pin guide信息

Parent Object

fPlan

Child Object

area,boxes,cell,layerPriority,layers,name,netGroup,pinGroup

详细可以参考

ptn

ptn就是partition的信息

Parent Object

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

剩余的可以参考:

ptnCell

ptn cell的信息

Parent Object

head, inst, pinGroup, term

Child Object

isVDDOnBottom,name,numBidirs,numInputs,numPGTerms,numPhysTerms,numRefs,numTerms,pgTerms,physTerms,pinToCornerDist,props,symmetryR90,symmetryX,symmetryY,terms

前文lib cell中有解释

ptnPinBlkg

partition pin blockage信息

Parent Object

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

可以参考

pWire

patch wire,补丁,在advance node中用做金属,修补DRC使用

Parent Object

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

rBlkg

routing blockage信息

Parent Object

fPlan

Child Object

area,attr,boxes,designRuleWidth,inst,isExceptPGNet,isPGNetOnly,isPushdown,layer,name,shapes,spacing

resizeBlkg

size blockage信息

Parent Object

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

row信息

Parent Object

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

shape的一些信息

Parent Object

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

比较简单,就不介绍了

shapeVia

via的形状

Parent Object

libCell, pin

Child Object

botMask,botRects,cutMask,cutRects,pt,pt_x,pt_y,topMask,topRects,via

site

site的信息

Parent Object

fPlan, head, libCell, row

Child Object

class,name,size,size_x,size_y,symmetryR90,symmetryX,symmetryY

class:site的类别,一般包括core, pad

sVia

special via信息

Parent Object

net

Child Object

botMask,botRects,cutMask,cutRects,net,props,pt,pt_x,pt_y,shape,shieldNet,status,topMask,topRects,userClass,via

比较简单,就不介绍了

sWire

special wire信息

Parent Object

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

比较简单,就不介绍了

term

top level io port信息

Parent Object

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

topCell

top cell下面的信息

Parent Object

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

前面基本上都有介绍过,不再重复了

trackDef

Def中关于track的信息

Parent Object

fPlan

Child Object

dir,isSameMask,layers,mask,numTracks,start,step

via

regular via的信息

Parent Object

head, rule, sVia, shapeVia, via

Child Object

botMask,botRects,cutMask,cutRects,net,pt,pt_x,pt_y,rule,status,topMask,topRects,via

wire

regular wire的信息

Parent Object

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本身的一些概念而且,随着工作经验的积累,那些概念也会慢慢掌握~~


640?wx_fmt=jpeg

往期回顾

简历请戳邮箱:taozhang3260@163.com

觉得有用的话,给我点个好看吧640?wx_fmt=gif

你可能感兴趣的:(不敢去争取,学不会珍惜,却难以忘记——dbGet(三))