Kicchan
Member level 3
- Joined
- Feb 3, 2010
- Messages
- 56
- Helped
- 2
- Reputation
- 4
- Reaction score
- 2
- Trophy points
- 1,288
- Activity points
- 1,759
Hi everyone,
I am trying to generate an abstract view for a macrocell with Abstract generator. After loading the library I get the following errors:
*****************************
ERROR (ABS-216): There are insufficient metal layers defined in the current design. You must define at least two metal layers in the validLayers subsection of LEFDefaultRouteSpec constraint group of the technology file. These layers must have the layer function "metal" in the functions section. Update the technology file and attach it again.
ERROR (ABS-218): There are no vias specified in the technology file. Ensure that the selected constraint group has a ValidVias section or at least one via is specified in the standardViaDefs subsection of the viaDefs section in the technology file. In addition, ensure that the function argument is set to 'cut' for the via in the functions subsection of the layerRules section and then try again.
INFO (ABS-232): Layer summary: 0 metal layer(s), 0 via layer(s), 2 poly layer(s), and 3 diff layer(s) found
INFO (ABS-234): Via summary: 0 valid via(s) found
INFO (ABS-235): There are errors in the technology file that need to be resolved before proceeding to the abstract generation steps.
*****************************
I've been looking around for hints about how to fix the problems. I also checked the Cadence Help documentation and found examples of tech files on the web but my tech code seems to be fine. I have both metals and vias defined as valid in "LEFDefaultRouteSpec" section, the functions are declared as "metal" and "cut" in the "layerRules" section and all vias are declared in the "viaDefs" section.
The only difference with respect to the codes I found is that my layer names are ME1, ME2, etc and the vias are VI1, VI2, etc instead of metal1, metal2,..., via1, via2,...
Could that be the trick? Is there anyone who faced with these problems and fixed them?
*****************************
( "LEFDefaultRouteSpec" nil
interconnect(
( validLayers (ME10 ME9 ME8 ME7 ME6 ME5 ME4 ME3 ME2 ME1 PO1 ) )
( validVias (M10_M9 M9_M8 M8_M7 M7_M6 M6_M5 M5_M4 M4_M3 M3_M2 M2_M1 M1_POLY ) )
( maxRoutingDistance "PO1" 25.0 )
) ;interconnect
*****************************
layerRules(
functions(
;( layer function [maskNumber])
;( ----- -------- ------------)
( NWEL "nwell" 10 )
( DIFF "diff" 20 )
( PPLUS "pplus" 30 )
( NPLUS "nplus" 40 )
( PO1 "poly" 50 )
( CONT "cut" 60 )
( ME1 "metal" 100 )
( VI1 "cut" 150 )
( ME2 "metal" 200 )
( VI2 "cut" 250 )
( ME3 "metal" 300 )
( VI3 "cut" 350 )
( ME4 "metal" 400 )
( VI4 "cut" 450 )
( ME5 "metal" 500 )
( VI5 "cut" 550 )
( ME6 "metal" 600 )
( VI6 "cut" 650 )
( ME7 "metal" 700 )
( VI7 "cut" 750 )
( ME8 "metal" 800 )
( VI8 "cut" 850 )
( ME9 "metal" 900 )
( VI9 "cut" 950 )
( ME10 "metal" 1000 )
( TMV_RDL "cut" 3000 )
( AL_RDL "metal" 3050 )
) ;functions
*****************************
viaDefs(
standardViaDefs(
;( viaDefName layer1 layer2 (cutLayer cutWidth cutHeight [resistancePerCut])
; (cutRows cutCol (cutSpace))
; (layer1Enc) (layer2Enc) (layer1Offset) (layer2Offset) (origOffset)
; [implant1 (implant1Enc) [implant2 (implant2Enc) [well/substrate]]])
;( -------------------------------------------------------------------------- )
( AL_M10 ME10 AL_RDL ("TMV_RDL" 4.0 4.0)
(1 1 (3.0 3.0))
(0.35 0.35) (0.5 0.5) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M10_M9 ME9 ME10 ("VI9" 0.4 0.4)
(1 1 (0.4 0.4))
(0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M9_M8 ME8 ME9 ("VI8" 0.4 0.4)
(1 1 (0.4 0.4))
(0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M8_M7 ME7 ME8 ("VI7" 0.2 0.2)
(1 1 (0.2 0.2))
(0.03 0.03) (0.03 0.03) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M7_M6 ME6 ME7 ("VI6" 0.2 0.2)
(1 1 (0.2 0.2))
(0.03 0.03) (0.03 0.03) (0.0 0.0) (0.0 0.0) (0.0 0.0)
[...]
*****************************
I am trying to generate an abstract view for a macrocell with Abstract generator. After loading the library I get the following errors:
*****************************
ERROR (ABS-216): There are insufficient metal layers defined in the current design. You must define at least two metal layers in the validLayers subsection of LEFDefaultRouteSpec constraint group of the technology file. These layers must have the layer function "metal" in the functions section. Update the technology file and attach it again.
ERROR (ABS-218): There are no vias specified in the technology file. Ensure that the selected constraint group has a ValidVias section or at least one via is specified in the standardViaDefs subsection of the viaDefs section in the technology file. In addition, ensure that the function argument is set to 'cut' for the via in the functions subsection of the layerRules section and then try again.
INFO (ABS-232): Layer summary: 0 metal layer(s), 0 via layer(s), 2 poly layer(s), and 3 diff layer(s) found
INFO (ABS-234): Via summary: 0 valid via(s) found
INFO (ABS-235): There are errors in the technology file that need to be resolved before proceeding to the abstract generation steps.
*****************************
I've been looking around for hints about how to fix the problems. I also checked the Cadence Help documentation and found examples of tech files on the web but my tech code seems to be fine. I have both metals and vias defined as valid in "LEFDefaultRouteSpec" section, the functions are declared as "metal" and "cut" in the "layerRules" section and all vias are declared in the "viaDefs" section.
The only difference with respect to the codes I found is that my layer names are ME1, ME2, etc and the vias are VI1, VI2, etc instead of metal1, metal2,..., via1, via2,...
Could that be the trick? Is there anyone who faced with these problems and fixed them?
*****************************
( "LEFDefaultRouteSpec" nil
interconnect(
( validLayers (ME10 ME9 ME8 ME7 ME6 ME5 ME4 ME3 ME2 ME1 PO1 ) )
( validVias (M10_M9 M9_M8 M8_M7 M7_M6 M6_M5 M5_M4 M4_M3 M3_M2 M2_M1 M1_POLY ) )
( maxRoutingDistance "PO1" 25.0 )
) ;interconnect
*****************************
layerRules(
functions(
;( layer function [maskNumber])
;( ----- -------- ------------)
( NWEL "nwell" 10 )
( DIFF "diff" 20 )
( PPLUS "pplus" 30 )
( NPLUS "nplus" 40 )
( PO1 "poly" 50 )
( CONT "cut" 60 )
( ME1 "metal" 100 )
( VI1 "cut" 150 )
( ME2 "metal" 200 )
( VI2 "cut" 250 )
( ME3 "metal" 300 )
( VI3 "cut" 350 )
( ME4 "metal" 400 )
( VI4 "cut" 450 )
( ME5 "metal" 500 )
( VI5 "cut" 550 )
( ME6 "metal" 600 )
( VI6 "cut" 650 )
( ME7 "metal" 700 )
( VI7 "cut" 750 )
( ME8 "metal" 800 )
( VI8 "cut" 850 )
( ME9 "metal" 900 )
( VI9 "cut" 950 )
( ME10 "metal" 1000 )
( TMV_RDL "cut" 3000 )
( AL_RDL "metal" 3050 )
) ;functions
*****************************
viaDefs(
standardViaDefs(
;( viaDefName layer1 layer2 (cutLayer cutWidth cutHeight [resistancePerCut])
; (cutRows cutCol (cutSpace))
; (layer1Enc) (layer2Enc) (layer1Offset) (layer2Offset) (origOffset)
; [implant1 (implant1Enc) [implant2 (implant2Enc) [well/substrate]]])
;( -------------------------------------------------------------------------- )
( AL_M10 ME10 AL_RDL ("TMV_RDL" 4.0 4.0)
(1 1 (3.0 3.0))
(0.35 0.35) (0.5 0.5) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M10_M9 ME9 ME10 ("VI9" 0.4 0.4)
(1 1 (0.4 0.4))
(0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M9_M8 ME8 ME9 ("VI8" 0.4 0.4)
(1 1 (0.4 0.4))
(0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M8_M7 ME7 ME8 ("VI7" 0.2 0.2)
(1 1 (0.2 0.2))
(0.03 0.03) (0.03 0.03) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M7_M6 ME6 ME7 ("VI6" 0.2 0.2)
(1 1 (0.2 0.2))
(0.03 0.03) (0.03 0.03) (0.0 0.0) (0.0 0.0) (0.0 0.0)
[...]
*****************************
Last edited: