• 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. dialog interactive window noise summary

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 142
  • Views 13468
  • 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

dialog interactive window noise summary

archive
archive over 18 years ago

Dear all,

Howto pop up a window and take a string into a variable in SKILL ?
I intend to upgrade my "print noise summary" button listed bellow in order to save it in the choosen file, like : scanf("%s",filename) or something.
Thanks for any idea.

;; A noise simulation is supposed to have been run

procedure( saveNoise( filename )
noiseSummary( 'integrated ?result 'noise
?noiseUnit "V"
?truncateType 'byNumber ?truncateData 15
?output filename)
printf("Noise Summary Result saved in %s\n",filename)
); end procedure
;; i.e.: saveNoise( "toto.txt")

;;; creating a item for the pulldown menu
trMenuItemMyFunction = hiCreateMenuItem(
?name 'trMenuItemMyFunction
?itemText "My Function"
?callback "saveNoise(\"summaryNoise.txt\")"
); end of created Menu item

;;; creating a second menu item for the pulldown menu
trMenuItemPrintNoiseSummary = hiCreateMenuItem(
?name 'trMenuItemPrintNoiseSummary
?itemText "print noise"
?callback "noiseSummary( 'integrated ?result 'noise ?noiseUnit \"V\" ?truncateType 'byNumber ?truncateData 15)"
); end of created Menu item

;;; creating the Example Menu pulldown menu
hiCreatePulldownMenu(
'trEdPulldownMenu
"Ed_Menu"
list( trMenuItemMyFunction trMenuItemPrintNoiseSummary )
)

;;; inserting the pulldown menu in the CIW
hiInsertBannerMenu( window(1) trEdPulldownMenu 5 )


Originally posted in cdnusers.org by ebecheto
  • Cancel
  • archive
    archive over 18 years ago

    I have update this code to work for paramatric simulation as well if anyone is interested...
    Just save the following code in thisFile.ocn and execute :
    load("thisFile.ocn")



    ;; A noise simulation is supposed to have been run

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    procedure( noiseResult( @optional (file nil ) )
    let( (resultDir pfile param paramList)

    ;; optional argument proccessing
    caseq( file
    (nil pfile = poport)
    (t pfile = outfile(file))
    )

    ;; execute the following code
    ;; does not work if anyone had created a directory named *=* also
    if( paramList=rexMatchList(".*=.*" ls(openResults())) then

    ;; loop on every paramatric directory
    resultDir = openResults()
    foreach(param paramList
    openResults(strcat(resultDir "/" param))
    fprintf(pfile "\t\t[** %s **]\n",param)
    noiseSummary( 'integrated ?result 'noise ?noiseUnit "V" ?truncateType 'byNumber ?truncateData 15 ?output pfile)
    ); end foreach
    openResults(resultDir)

    else ;; not a parametric simulation

    ;; call to the noise summary function in the current directory
    noiseSummary( 'integrated ?result 'noise ?noiseUnit "V" ?truncateType 'byNumber ?truncateData 15 ?output pfile)

    ); end if
    close(pfile)

    ); end let
    ); end procedure

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;




    ;;; creating a item for the pulldown menu
    trMenuItemMyFunction = hiCreateMenuItem(
    ?name 'trMenuItemMyFunction
    ?itemText "Save noise"
    ?callback "filename = \"summaryNoise.txt\"
    noiseResult( filename )
    printf(\"Noise Summary Result saved in [_** %s/%s **_]\n\", pwd() filename)"
    ); end of created Menu item

    ;;; creating a second menu item for the pulldown menu
    trMenuItemPrintNoiseSummary = hiCreateMenuItem(
    ?name 'trMenuItemPrintNoiseSummary
    ?itemText "print noise"
    ?callback "noiseResult()"
    ); end of created Menu item

    ;; noiseSummary( 'integrated ?result 'noise ?noiseUnit "V" ?truncateType 'byNumber ?truncateData 15)

    ;;; creating the menu item for the pulldown menu
    trMenuItemResize = hiCreateMenuItem(
    ?name 'trMenuItemResize
    ?itemText "Resize"
    ?callback "hiResizeWindow( window(1) list(0:0 500:500))"
    )


    ;;; creating the Example Menu pulldown menu
    hiCreatePulldownMenu(
    'trEdPulldownMenu
    "Menu_perso"
    list( trMenuItemMyFunction trMenuItemPrintNoiseSummary trMenuItemResize)
    )

    ;;; inserting the pulldown menu in the CIW
    hiInsertBannerMenu( window(1) trEdPulldownMenu 5 )

    ;; might want to delete it maybe
    ;;hiDeleteBannerMenu( window(1) 5 ) <== number of the item


    Originally posted in cdnusers.org by ebecheto
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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