• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. SKILL Lint "Unrecognized global variable" error when referencing...

Stats

  • Replies 0
  • Subscribers 147
  • Views 40
  • Members are here 0

SKILL Lint "Unrecognized global variable" error when referencing CDF default values in pcDefinePCell

thiruvenkata
thiruvenkata 9 hours ago

Hi!,

I am writing a SKILL PCell and trying to align the default parameter values in the pcDefinePCell by fetching cdfId to ensure the synchronization, as described in the "Introduction to SKILL PCell Programming" RAK (specifically Lab 4: Automatically Aligning Default Parameter Values)".

It describes to define cdf globally and use it in the parameter list and set to nil at the end.

For eg:

lib="PCell"
cellName="test"
cdf=cdfGetBaseCellCDF(ddGetObj(lib cellName))

pcDefinePCell(

list(ddGetObj(lib) cellName "layout")
list(
(w "float" cdf->w->defValue)
(l "float" cdf->l->defValue)
(layer "string" cdf->layer->defValue)
) ;parameters
let((cv)

;body

);let

);pcDefinePCell

lib=nil
cellName=nil
cdf=nil

So, When I run SKILL lint on this code, it flages lib, cellName and cdf as unrecognized global variables.

So, I tried wrapping the variables inside the let statement and run the skill lint, the outcome is that it still flags cdf as unrecognized global variable but not the variables lib and cellName.

Why only cdf is still flagged and not the other variables?

I want to know what is the best practice to avoid these warnings? Any suggestions or insights are appreciated.

Virtuoso version: IC618 Base release: "sub-version  IC6.1.8-64b.83 "

Thanks,

Thiruvenkata

  • Cancel
  • Sign in to reply

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information