Home
  • Products
  • Solutions
  • Support
  • Company

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  • Products
  • Solutions
  • Support
  • Company
Community Blogs System, PCB, & Package Design > IC Packagers: Workflows That Work for You
Tyler
Tyler

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials
IC Packaging and SiP Design
IC Packaging
Workflows
Allegro X PCB Editor
Allegro X Advanced Package Designer
APD
PCB design
23.1
allegro x
SKILL

IC Packagers: Workflows That Work for You

19 Jul 2024 • 8 minute read

 New IC packaging workflows in Cadence Allegro X layout tools allow you to follow a guided path from starting a design through final manufacturing. The path is there to ensure that you don’t miss steps and perform actions in the optimal order.

Workflows could also be customized to meet your needs. When your team has a flow that works well for you, designing your own workflow means that everyone is working toward a common goal in a consistent manner. If you had implemented SKILL commands of your own, or helpful tools, RAVEL checks, or other extensions, these could be included in the right place inside of the flow.

All this made the workflows very useful and powerful. Prior to the 23.1 HotFix 005 update, the flows were static. While you could programmatically tag a step in the flow as complete, that status wasn’t remembered when you reopened the design or started a new session of the tool. The progress through the workflow didn’t move with the database; another team member opening the layout would still need to ask you where they should start from.

With Release 23.1, HotFix 005 and later, however, all that has changed. Welcome to Allegro X workflows 2.0! Read on for reasons why you should be excited to upgrade to the new widget.

Refreshing Look

Figure 1 shows the new workflow widget in action. Here, you can see all the additional features briefly. There are four different colors used in the main workflow tree:

  • Green: Shows a step that has been completed. Steps can be marked completed manually (this will be remembered with the design) or automatically (using the SKILL callbacks).
  • Yellow: Indicates the next step to be completed. Clicking Go To Next button will unfold the workflow to expose this item for you.
  • Red: Steps that have not yet been completed. Only steps with a registered SKILL callback to assess their completeness will flag as red.
  • Grey: These steps are unknown because they have no SKILL callback tied to their completeness checks. Grey steps must be manually marked complete.

 design_workflow

Figure 1: The sections of the new workflow manager

Below the main workflow, you’ll see the legend. This area reminds you of the meaning of the colored dots in the flow in case you forget. Finally, there is the dynamic search tool. Typing a word into the search window will filter the tree to only tasks which contain that string.

 hetero_integ

Figure 2: Type in the Search Panel to Find All Steps Referencing Your Search Term

 auto_update

Figure 3: Find and Track Your Next Move in Any Design

At the very top, a checkbox and two buttons can be shown if your flow supports auto updates. The Auto Update checkbox will call your completeness checks for all steps when an interactive command is finished in the main canvas. Note that in very large designs or with a large number of flow steps, this may add a delay in the main window. It should be enabled with caution for that reason and is off by default for any new design. Update All will manually run all the completeness checkers while Go To Next will expand the tree to the next item to work on.

Defining Your Own Flows

The easiest way to define your own workflow is to modify a flow that ships with the Cadence toolset. Don’t overwrite that flow itself, however! If you overwrite the flows in the share/pcb/text/workflows folder, when you pick up the next HotFix from the downloads site, your changes will be lost! Instead, create a new file. Place the file in your CDS_SITE workflow search path for flows you want available for your team, or in your local workflow path if the flow is custom for your use.

 basic_workflow

Figure 4: Basic Workflow Option Flags

Figure 4 above shows how to enable the three items at the very top of the workflow. If these UserSettings are missing or set to false, that item will be hidden for this workflow. Each workflow has its own options here. Your flow doesn’t need to expose the same options as others in your team.

 fully_defined_flow

Figure 5: Example of a Fully Defined Flow Step

A simple task is shown in Figure 5. Tasks can have up to five attributes associated:

  • name (required): The name to be displayed in the workflow widget for this task.
  • command (required): The command to run when the task name is clicked. This can be an interactive command, a SKILL function, a script to replay, or just multiple items to run. If you want to embed a script directly inside the command string, each statement must have a semicolon (;) following it to separate them. This works the same as when you type multiple commands at once on the command line.
  • enablecommand (optional): If provided, this SKILL function will be run to determine whether this command is allowed to be run on the active drawing at this time. This allows you to force a specific flow through the tool when needed. Many things can be done out of order (set the design origin before you set the units and accuracy, say), while others must be done in sequence.
  • completecommand (optional): A second SKILL function. If provided, this will be called when Update All is clicked, or at the end of an interactive command, to determine if the step has been completed. A step that was previously completed can return back to incomplete if you make conflicting changes in the design.
  • tooltip (optional): Possibly the MOST helpful item. This defines, using full HTML syntax, the tooltip for the step. This is the default tooltip displayed. It can be changed dynamically with the enablecommand function. As shown in Figure 6, tooltips can include both text and images.

 crosstalk

Figure 6: A Picture is Worth 1000 Words. Include Pictures to Help Users

In Figures 7 and 8, you can see examples of the SKILL functions that can be registered for the enablecommand and completecommand fields.

 Enablement Callback

Figure 7: Example of a SKILL Enablement Callback

When the enablecommand function returns nil, the step will be disabled. If it returns a string (HTML or plaintext), this string will update the tooltip for the step. This is very useful for helping team members to understand WHY a step cannot, or should not, be run at this time. Once the step is able to run, return t to tell the workflow manager that the step is now available for running.

 Completeness Check Callback

Figure 8: Example of a SKILL Completeness Check Callback

For a completecommand, you can return one of three symbols: COMPLETE, INCOMPLETE, UNKNOWN. COMPLETE will set the step to green, and UNKNOWN will set to grey. An INCOMPLETE step may become red (typical) or yellow if it is the next step to be run. You do not have to tag steps as NEXT manually. This is determined by the ordering of the steps in the flow itself. The next item is the first red step located. Figure 9 shows how a step can move seamlessly between states – both to complete and back to incomplete.

 Intelligent Status Tracking

Figure 9: Intelligent Status Tracking

While not shown, the XML for the workflow contains three other sections. Workflows are the top-level buckets in the flow, while groups are sub-groupings underneath a workflow. These can have only a name and tooltip, plus the set of steps the ground contains.

Flow Nesting

We aren’t quite done, though. With the new widget, you can integrate child workflows into your main flows. See the following example in Figure 10:

 WORKFLOWPATH

Figure 10: Embed a Workflow by Referencing the File Name From Your WORKFLOWPATH

A child workflow allows you to break your top-level workflows into easier to manage pieces. You may have flows for different people on your team or different flows for different design styles. Child workflows allow you to mix-and-match pieces to create different workflows customized to specific needs without having to copy and paste across different files.

If you want to create a single end-to-end flow but have different people working on different tasks, they can quickly focus on JUST their part of the flow by right-clicking and selecting Focus on Selected from the flow. The advantage of this option is that you can still track the status of the complete flow for the design, but team members only need to see and be concerned with their areas of focus.

 focus

Figure 11: Right-click on a Section to Focus on (or Hide) it

We encourage you to organize things the way that fits best into your daily life. Multiple workflows can be assigned to the same design and switched between them. Each will maintain its status independently. A single flow shows you the overall progress to tape out.

Interacting With Your Flows

Basic interactions with your flows remain consistent with past versions of the tool. The updated widget provides you with the ability to add intelligence to your flow. The greatest benefit, however, is the tracking and status saving that happens behind the scenes.

Flows are intelligent. You can assign multiple flows to your layout database, and each one remembers its state from user to user, session to session. When you open a design that you haven’t worked on in a few days, you’ll immediately see what task you were working on so that work can restart unimpeded. Passing your design to another teammate no longer requires you to tell them what you were working on. It’s right there for them to see in the flow!

What Will Your New Flows Look Like?

How will your team leverage these new capabilities to increase your productivity? Will you add steps that will track and notify your team if new updates are pending from your front-end schematic? Maybe you’ll use the trigger functions to print critical warnings or notices to your team when something has been missed? Will you organize your flows into a comprehensive end-to-end flow or have multiple flows for different teams based on responsibilities?

Share how you use workflows with our team! We learn from you to understand how to make the tool even better.

For any feedback or any topics you want us to include in our blogs, write to us at pcbbloggers@cadence.com.

SUBSCRIBE to stay updated about upcoming blogs.


CDNS - RequestDemo

Have a question? Need more information?

Contact Us

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

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