• 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. Allegro X Scripting - Skill
  3. Loading the DFA Table using Skill

Stats

  • Replies 5
  • Subscribers 18
  • Views 10870
  • Members are here 0
More Content

Loading the DFA Table using Skill

Peter Cerbone
Peter Cerbone over 7 years ago

Hello,

Trying to modify a portion of a skill that someone else created a few years back, that adds the DFA table, it works in 16.6 but not in 17.2

In 17.2, it opens the DFA spreadsheet portion but I have to manually pick the dfa table, put "on" the DRC mode, then click OK for the rest of the skill to finish.

Below is what I'm trying to modify to make it work in Allegro 17.2

Here is the portion as it exist:     Is there a better way to accomplish this task to work for 16.6 and 17.2?

 ; Doing some setup via a script file. Don't want to do this but I
      ; couldn't get the DFA setup to work from axlShell command. Will
      ; revisit this at another time.
      ;
      scrfile = outfile("./setup.scr" "w")
      
      fprintf(scrfile "setwindow pcb; techfile in; setwindow form.tech_in\n")
      fprintf(scrfile "FORM tech_in techfile \"%s\"\n" techFile)
      fprintf(scrfile "FORM tech_in execute; setwindow pcb\n")
      fprintf(scrfile "setwindow form.tech_in\n")
      fprintf(scrfile "Form tech_in cancel\n")
      fprintf(scrfile "setwindow pcb\n")
      fprintf(scrfile "dfa_spreadsheet\n")
      fprintf(scrfile "setwindow dfa.dialog\n")
      fprintf(scrfile ;"dfa read_from_design\n")
      fprintf(scrfile "dfa browse_dfa_library\n")
      fprintf(scrfile "dfa open package_spacing_U3_Rev_01_minimum\n")
      fprintf(scrfile "dfa constraints on\n")
      fprintf(scrfile "dfa attach_to_design\n")
      fprintf(scrfile "setwindow dfa.dialog\n")
      fprintf(scrfile "dfa okay\n")

      close(scrfile)
      
      axlShell("replay ./setup.scr")
      deleteFile("./setup.scr")
      deleteFile(techFile)

Thanks

Peter

  • Cancel
  • Sign in to reply
  • DavidJHutchins
    DavidJHutchins over 7 years ago

    Peter,

    the 17.2 command format changed quite a bit from 16.6, below is an example of what I have in some skill code:

    fprintf(scrfile "generaledit\n")
    fprintf(scrfile "dfa_spreadsheet\n")
    fprintf(scrfile "QtSignal DFAMainWindow m_actionBrowse_DFA_library triggered\n")
    fprintf(scrfile "QtSignal AlgDataBrwDlg m_fileCombBox EditingFinished *\n")
    fprintf(scrfile "QtSignal AlgDataBrwDlg m_fileListView selectionChanged \"package_spacing_U3_Rev_01_minimum\"\n")
    fprintf(scrfile "QtSignal AlgDataBrwDlg m_fileListView clicked \"package_spacing_U3_Rev_01_minimum\"\n")
    fprintf(scrfile "QtSignal AlgDataBrwDlg m_OKPushBtn clicked\n")
    fprintf(scrfile "QtSignal m_drcmodGrp m_drcOnButton toggled on\n")
    fprintf(scrfile "QtSignal DFAMainDialog m_okBtn clicked\n")
    fprintf(scrfile "QtSignal MainCanvas DFAMainDialog closed\n")
    fprintf(scrfile "generaledit\n")

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • DavidJHutchins
    DavidJHutchins over 7 years ago

    Peter,

    the command format changed quite a bit between 16.x & 17.x, below is an example of what should work based upon some skill code I have:

    fprintf(scrfile "generaledit\n")
    fprintf(scrfile "dfa_spreadsheet\n")
    fprintf(scrfile "QtSignal DFAMainWindow m_actionBrowse_DFA_library triggered\n")
    fprintf(scrfile "QtSignal AlgDataBrwDlg m_fileCombBox EditingFinished *\n")
    fprintf(scrfile "QtSignal AlgDataBrwDlg m_fileListView selectionChanged \"package_spacing_U3_Rev_01_minimum\"\n")
    fprintf(scrfile "QtSignal AlgDataBrwDlg m_fileListView clicked \"package_spacing_U3_Rev_01_minimum\"\n")
    fprintf(scrfile "QtSignal AlgDataBrwDlg m_OKPushBtn clicked\n")
    fprintf(scrfile "QtSignal m_drcmodGrp m_drcOnButton toggled on\n")
    fprintf(scrfile "QtSignal DFAMainDialog m_okBtn clicked\n")
    fprintf(scrfile "QtSignal MainCanvas DFAMainDialog closed\n")
    fprintf(scrfile "generaledit\n")

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to DavidJHutchins

    David - an explanation for your reply being put into moderation. It was flagged as spam automatically because of the repeated text in it. It's clearly not spam, so I approved it (I moderate some of the other forums).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Peter Cerbone
    Peter Cerbone over 7 years ago in reply to DavidJHutchins

    David,

    Thanks, that did the job for 17.2 but besides doing this by script is there a skill command that can do the same thing and work for 16.2 and 17.2?

    Half the company is still using 16.6, that's the reason I'm asking.

    Thanks again

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • DavidJHutchins
    DavidJHutchins over 7 years ago

    Peter,

    I'm not aware of any skill routines to import & enable the dfa tables

    The skill code I'm using supports multiple versions by checking the tool version, below is an example:

    (Version = axlVersion( 'version))

    if( Version < 17.0 then

        ;; use the old scripting fromat

    else

        ;; use the new scripting fromat

    )

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Cadence Guidelines

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