• 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. What is the difference between "hiCreate....Field" and ...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 1269
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What is the difference between "hiCreate....Field" and "ahiCreate.....Field"?

fatcat1206
fatcat1206 over 9 years ago

Hi All


Does anyone know the difference between "hiCreate....Field" and "ahiCreate.....Field".

When I look at some codes for special functions provided by Andrew Beckett, I notice that "ahiCreate....Field" functions has been used for creating the form for the special function.

Unfortunately, I did not find any document for this function family.

I also look at all the defined functions in Virtuoso, it's almost one to one between "hiCreate.....Field" and "ahiCreate.....Field".

One thing I notice that, I only defined "string" type of field (code is shown below, follow the code from Andrew), but the content can convert to "integer" or "double" type automatically.

when the value of the field has been evaluated, and used to generate the string by calSpecialFunctionInput('func '(fControlWave fOperator fThreshold fOffValue))

Best Regards

Yi

procedure(SIScreateCalcWaveAndForm()
let((
    fControlWave
    fOffValue
    fOperator
    fThreshold
);local varialble
    fControlWave = ahiCreateStringField(
        ?name 'fControlWave
        ?prompt "Control Wave"
        ?value ""
    );ahiCreateStringField
    fOffValue = ahiCreateStringField(
        ?name 'fOffValue
        ?prompt "Off Value"
        ?value "0.0"
    );ahiCreateStringField
    fThreshold = ahiCreateStringField(
        ?name 'fThreshold
        ?prompt "Threshold"    
        ?value ""
    );ahiCreateStringField
    fOperator = ahiCreateCyclicField(
        ?name 'fOperator
        ?prompt " "
        ?choices list("<" ">")
        ?value ">"
        ?defValue ">"
    );ahiCreateCyclicField
    
    calCreateSpecialFunctionsForm('SIScalcWavePassGateForm
        list(
            list(fControlWave   0:00    380:20      90)
            list(fThreshold     0:30    280:20      90)
            list(fOperator      350:32  30:20       1)
            list(fOffValue      0:60    380:20      90)
        );list
    )
    ;printf("form is created\n")
);let
);proc

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Yi,

    This use of the "ahi" functions is mostly historical - they were a special wrapper around the "hi" functions which ensured that the fields were tied to the ADE session appropriately. I haven't checked recently, but they may not be necessary any more - although given that the calCreateSpecialFunctionsForm uses them, they might be.

    Anyway, this is a moot point, because from IC617 there's a much better way of building the form - it ends up being fully integrated in the calculator rather than a separate popup form (it was possible in older releases, but it had some major disadvantages, which have been solved in IC617). See this recent blog: 

    TeamADE
    Adding Weighted Noise Via Calculator Custom Function
    Applying a weighting factor to a Noise Summary run requires lots of steps and the results cannot be evaluated without using the form. Wouldn't it be much easier if you could have a calculator function…
    By TeamADE over 9 years ago in Cadence Blogs > Analog/Custom Design

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Yi,

    This use of the "ahi" functions is mostly historical - they were a special wrapper around the "hi" functions which ensured that the fields were tied to the ADE session appropriately. I haven't checked recently, but they may not be necessary any more - although given that the calCreateSpecialFunctionsForm uses them, they might be.

    Anyway, this is a moot point, because from IC617 there's a much better way of building the form - it ends up being fully integrated in the calculator rather than a separate popup form (it was possible in older releases, but it had some major disadvantages, which have been solved in IC617). See this recent blog: 

    TeamADE
    Adding Weighted Noise Via Calculator Custom Function
    Applying a weighting factor to a Noise Summary run requires lots of steps and the results cannot be evaluated without using the form. Wouldn't it be much easier if you could have a calculator function…
    By TeamADE over 9 years ago in Cadence Blogs > Analog/Custom Design

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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.

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

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