One of the new features I mentioned in my previous entry on 3 Reasons You'll Want to Download Encounter 8.1 is the Foundation Flow. Have a look at this screencast for a demonstration of how to take an existing design loaded in the system and quickly get up and running with the Foundation Flow:
If the video fails to embed, please try here.
The steps described in the video are:
- Load a design into Encounter
- Select Tools->Foundation Flow Templates->Save...
- Select the default directory
- encounter 1> source ./SCRIPTS/gen_setup.tcl
- UNIX> cp setup.auto.tcl setup.tcl
- encounter 2> source setup.tcl
- encounter 3> source ./SCRIPTS/check.tcl
- Make required additions to setup.tcl per the advice given by "check.tcl"
- encounter 4> source setup.tcl
- encounter 5> source ./SCRIPTS/check.tcl
- encounter 6> exit
- UNIX> make -or- UNIX> make prects
To learn more about the Foundation Flow, I sought out Rob Lipsey and Glenn Gullikson from our Product Core Team. Rob and Glenn created the Foundation Flow.
Q: What is the Foundation Flow and why should users give it a try?
Glenn Gullikson: The foundation flows are exactly that "foundational". We found as our technology matured, the recommended
use model became much simpler and customers who were using legacy scripts from older versions were running unnecessarily complicated flows and not taking advantage of the technology improvements. That being said there is no "one size, fits all" flow that will work for every customer and every design but all design flows can share a common foundation. The flows provide this foundation but have the flexibility to allow for augmentation and customization so they don't pose any restrictions. And, finally, by moving to the foundation flows, customers are assured they are using the software the same way we internally validate our releases. The foundation flow QoR is one of our release signoff criteria.
Rob Lipsey: We hope users will give it a try for the following reasons:
- the software is rigorously tested against the foundation flows across a wide set of design styles and technologies
- it represents the knowledge and recommendations from R&D and methodology experts within Cadence who are the closest to the system
- it is continuously refined from release to release leveraging the latest options and flows
- it provides an easy quick-start for new designs and allows users to evaluate different methodologies against a recommended baseline
Q: What specifically is included in the Foundation Flow? Is it just flow recommendations in slides? Or is it a full scripted execution environemnt?
Glenn: The foundation flows consist of two components: documentation and templates both of which began shipping as part of the 8.1 release. The documentation consists of a flow guide which describes the recommended flow sequences and command options and a template user guide which discusses how to utilized the flow templates we provide. The flow templates themselves are an implementation environment that the customer can use "as is" or use as a basis for setting up their own custom implementation environment. Again, we are providing a foundation or starting point for customers not enforcing an environment. They can work with their AE to determine how best to deploy these flows.
Rob: The flows are also available in 8.1 both through the GUI Tools->Foundation Flow Templates->Save and through a new batch command writeFlowTemplate. Both the GUI menu and batch option will generate a tarkit of the recommended flows in the current working directory to allow the user to quickly start using the Foundation Flows.
There are many varieties of environments used by our customers and it would be difficult to provide an environment for all use models. The templates currently leverage a “make” style approach. We’re always seeking feedback from users of the environment and are open to any and all suggestions about improving the experience.
Q: What kind of results have you seen with the flow so far?
Glenn: We have been very pleased with the results so far. They have been deployed at many customers and the feedback has been great. They are easy to setup and run so customers can get baseline results generated very quickly and then customize from there.
Rob: As mentioned earlier, some customization to the flow is almost always required because the Foundation Flows represent a default-effort methodology. The customization is supported through plug-ins which are available before/after every major step. For most designs, the customization is very modest, maybe a couple of option changes to handle very congested or very difficult timing closure designs. We try to track common deviations from the default flow and work with R&D to try and incorporate these into the software as default in future releases.
Q: If customers want to try the Foundation Flow, what is the fastest and easiest way to get started?
Glenn: The templates can be dumped using the 'writeFlowTemplate' command. They can then load up the design starting point (netlist, floorplan, constraints, etc.) and source the "gen_setup.tcl" utility. This will create a setup.auto.tcl file. They can then edit this to include a few ther variables that are needed for the flow and run 'make'. It is really that simple. Of coure, there is a template user guide that describes the process in more detail.
Rob: As mentioned earlier, the templates can be generated using the GUI or batch options.
Q: What flows will you be working on for future releases?
Glenn: We currently support hierarchical and flat flows. We are currently working on the LP/CPF flow now and plan to have it supported in the 8.1.1 release.
Rob: There are also other sub-flows which represent segments of the flow. As an example, we have flows covering statistical timing analysis (SSTA) and methodologies for DFM. These are available through the user’s AE. We also will be adding reference Mixed Signal and Encounter Power System flows.
For more information on the Foundation Flow, please see the Foundation Flows User Guide on Sourcelink (login required).
Question of the Day: What do you think of the flow? Do you see any barriers to giving it a try?