In Anabatic, check if there is at least one METAL1 in singleGCell().
* Bug: In Anabatic::singleGCell(), in some analogic design, there may be not a single METAL1 in the GCell. Issue a clean warning instead of going ashtray. * Change: In CRL.etc/technology.cong & CRL.etc/display.conf, add a "metbot_r" as a real layer when "metbot" symbolic layer is distinct from a normal metal.
This commit is contained in:
parent
bdc474d7fc
commit
4163fc044a
|
@ -2147,6 +2147,12 @@ namespace {
|
|||
return;
|
||||
}
|
||||
|
||||
if (rpM1s.empty()) {
|
||||
cerr << Error( "No METAL1 in Single GCell for Net \"%s\".", getString(net->getName()).c_str() ) << endl;
|
||||
cdebug_tabw(145,-1);
|
||||
return;
|
||||
}
|
||||
|
||||
sort( rpM1s.begin(), rpM1s.end(), SortRpByX(NoFlags) ); // increasing X.
|
||||
|
||||
GCell* gcell1 = anbt->getGCellUnder( (*rpM1s.begin ())->getCenter() );
|
||||
|
|
|
@ -63,10 +63,10 @@ stylesTable = \
|
|||
|
||||
# Group: MIM6.
|
||||
, (Group , 'MIM6')
|
||||
#, (Drawing, 'topmim6', { 'color':'Blue' , 'pattern':'poids2.8' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'metbot' , { 'color':'Aqua' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut6' , { 'color':'LightPink', 'pattern':'light_antihash1.8', 'threshold':0.80*scale })
|
||||
, (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8', 'threshold':0.80*scale })
|
||||
#, (Drawing, 'topmim6' , { 'color':'Blue' , 'pattern':'poids2.8' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'metbot_r', { 'color':'Aqua' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut6' , { 'color':'LightPink', 'pattern':'light_antihash1.8', 'threshold':0.80*scale })
|
||||
, (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8', 'threshold':0.80*scale })
|
||||
|
||||
# Group: Blockages.
|
||||
, (Group , 'Blockages')
|
||||
|
@ -168,10 +168,10 @@ stylesTable = \
|
|||
|
||||
# MIM6.
|
||||
, (Group , 'MIM6')
|
||||
#, (Drawing, 'topmim6', { 'color':'Blue' , 'pattern':'poids2.32' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'metbot' , { 'color':'Aqua' , 'pattern':'light_antihash0.8' , 'threshold':0.80*scale })
|
||||
#, (Drawing, 'padopen', { 'color':'LightPink', 'pattern':'light_antihash1.8' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8' , 'threshold':0.80*scale })
|
||||
#, (Drawing, 'topmim6' , { 'color':'Blue' , 'pattern':'poids2.32' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'metbot_r', { 'color':'Aqua' , 'pattern':'light_antihash0.8' , 'threshold':0.80*scale })
|
||||
#, (Drawing, 'padopen' , { 'color':'LightPink', 'pattern':'light_antihash1.8' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8' , 'threshold':0.80*scale })
|
||||
|
||||
# Blockages.
|
||||
, (Group , 'Blockages')
|
||||
|
@ -344,10 +344,10 @@ stylesTable = \
|
|||
|
||||
# Group: MIM6.
|
||||
, (Group , 'MIM6')
|
||||
#, (Drawing, 'topmim6', { 'color':'Blue' , 'pattern':'poids2.8' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'metbot' , { 'color':'Aqua' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut6' , { 'color':'LightPink', 'pattern':'light_antihash1.8', 'threshold':0.80*scale })
|
||||
, (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8', 'threshold':0.80*scale })
|
||||
#, (Drawing, 'topmim6' , { 'color':'Blue' , 'pattern':'poids2.8' , 'threshold':0.80*scale })
|
||||
, (Drawing, 'metbot_r', { 'color':'Aqua' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale })
|
||||
, (Drawing, 'cut6' , { 'color':'LightPink', 'pattern':'light_antihash1.8', 'threshold':0.80*scale })
|
||||
, (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8', 'threshold':0.80*scale })
|
||||
|
||||
# Group: Blockages.
|
||||
, (Group , 'Blockages')
|
||||
|
|
|
@ -54,7 +54,7 @@ realLayersTable = \
|
|||
, ('cut7' , BasicLayer.Material.cut )
|
||||
, ('metal8' , BasicLayer.Material.metal )
|
||||
#, ('topmim6' , BasicLayer.Material.other ) # For Capacitances & Pads.
|
||||
#, ('metbot' , BasicLayer.Material.other )
|
||||
, ('metbot_r' , BasicLayer.Material.other )
|
||||
#, ('padopen' , BasicLayer.Material.other )
|
||||
#, ('alucap' , BasicLayer.Material.other )
|
||||
|
||||
|
|
Loading…
Reference in New Issue