feature article
Subscribe Now

Escaping from the Silo

Fixing the ‘Anti-Social’ World of EDA Tools

Background – An Imperfect World

In an ideal world, EDA tools would represent a perfect match for the chip engineer’s needs, and their use model would be architected to match his design flow rather than the other way around. In the real, Perl-script infested world, EDA tools are islands between which users must build their own bridges. Moves toward data consistency help to some extent, but beyond that things become very cumbersome. Decisions made to address one problem, let’s say power consumption, can have an adverse affect on another, such as timing. In a world of point tools there is a distinct lack of multi-disciplinary intelligence. As a consequence, design closure when faced with the contradictory constraints of today’s multi-scenario designs, is in many cases unobtainable.

One area where this problem has been conquered is logic synthesis. When faced with multiple conflicting constraints (timing vs. area for example) synthesis tools have the visibility to make trade-offs – keeping one in mind when optimizing another. It would be unthinkable to run one tool to optimize timing and another to optimize area. But that’s what we have in areas like power and clock synchronizer setup, where optimizations made to meet power consumption targets can undo the careful efforts to make the design ‘clock domain crossing (CDC) clean’.

Is the solution to simply merge all EDA tools into one? Practicalities such as pricing aside, as consumers we’re conditioned to be skeptical of multi-purpose solutions. The solution which tries to offer everything doesn’t do anything particularly well. A better, more practical, solution would be based on the principles of consistent setup, intelligent data sharing, and unified analysis/debug as outlined in Figure 1.

Escaping-the-Silo-Figure1.jpg

Figure 1: The Unified Environment 

What we’re talking about here is another evolutionary step beyond an approach such as OpenAccess. That approach does not address the problem of conflicting objectives across the tool set. Just because your power optimization tool can co-exist with your ATPG tool doesn’t guarantee that they aren’t taking your netlist in incompatible directions.

In Figure 1, the iterations between tools represent more than mere data sharing. Instead, the idea is that one tool is intelligent enough not to break the optimizations put in place by another such that its objectives are no longer met.

A Proposal – Efficiency Through Communication

So how exactly do we make the various tools in a typical design flow less ‘anti-social’, and more willing to cooperate with other tools in the flow? The basic principle is that no one tool should ever do something to the detriment of the design. For example, power gating shouldn’t break clock domain synchronization schemes; timing optimization ‘tricks’ shouldn’t reduce test coverage, etc.

One technique to enable this is to use consistent setup between tools.  Take the example of ‘CDC aware’ power optimization – if the power optimization tool can take clock domain information on board, additional gating on asynchronous clock interfaces can be avoided.

Let’s take another case where two tools ‘share’ a responsibility. Let’s assume that the task is to ensure that clock to clock false paths are correct. The first instinct would be to simply verify the false paths using a timing exception verification tool. This, however, only covers paths between synchronous clocks, suggesting mutual exclusivity is accomplished through verifiable clock muxing for example. If the clocks are asynchronous there is likely no related logic in the clock tree to verify so formal analysis will either be inconclusive or simply noisy.

One example of a combined solution is outlined in Figure 2, where timing exceptions between synchronous clocks are verified using Atrenta’s SpyGlass®-TXV timing exception verification tool and the correct synchronization of interfaces between asynchronous clocks is handled by the SpyGlass-CDC tool, giving complete overall coverage.

Escaping-the-Silo-Figure2.jpg

Figure 2: An approach to comprehensively verify a multi-clock design 

As a chip designer and EDA tool user, it’s imperative to see the broader picture when using any tool which modifies your design in any way. Not doing so will put you into an endless loop of trying to converge on multiple competing objectives, and potentially introduce the risk of missing a real chip killer. If the tools you are using aren’t playing ball, maybe it’s time to ask for better tools.

About the Author:  Ron Craig, Senior Marketing Manager, Atrenta 
Ron Craig has more than 15 years of experience in EDA and semiconductor design. Prior to joining Atrenta, Ron held a range of positions in design, consulting, applications and marketing at Amphion Semiconductor, Sony Semiconductor and Synopsys Inc.  Ron has a Bachelor of Engineering from The Queen’s University, Belfast.  (ron@atrenta.com)

Leave a Reply

featured blogs
Oct 26, 2020
Last week was the Linley Group's Fall Processor Conference. The conference opened, as usual, with Linley Gwenap's overview of the processor market (both silicon and IP). His opening keynote... [[ Click on the title to access the full blog on the Cadence Community s...
Oct 23, 2020
Processing a component onto a PCB used to be fairly straightforward. Through-hole products, or a single or double row surface mount with a larger centerline rarely offer unique challenges obtaining a proper solder joint. However, as electronics continue to get smaller and con...
Oct 23, 2020
[From the last episode: We noted that some inventions, like in-memory compute, aren'€™t intuitive, being driven instead by the math.] We have one more addition to add to our in-memory compute system. Remember that, when we use a regular memory, what goes in is an address '...
Oct 23, 2020
Any suggestions for a 4x4 keypad in which the keys aren'€™t wobbly and you don'€™t have to strike a key dead center for it to make contact?...

featured video

Demo: Low-Power Machine Learning Inference with DesignWare ARC EM9D Processor IP

Sponsored by Synopsys

Applications that require sensing on a continuous basis are always on and often battery operated. In this video, the low-power ARC EM9D Processors run a handwriting character recognition neural network graph to infer the letter that is written.

Click here for more information about DesignWare ARC EM9D / EM11D Processors

featured paper

Designing highly efficient, powerful and fast EV charging stations

Sponsored by Texas Instruments

Scaling the necessary power for fast EV charging stations can be challenging. One solution is to use modular power converters stacked in parallel. Learn more in our technical article.

Click here to download the technical article

Featured Chalk Talk

Rail Data Connectivity

Sponsored by Mouser Electronics and TE Connectivity

The rail industry is undergoing a technological revolution right now, and Ethernet connectivity is at the heart of it. But, finding the right interconnect solutions for high-reliability applications such as rail isn’t easy. In this episode of Chalk Talk, Amelia Dalton chats with Egbert Stellinga from TE Connectivity about TE’s portfolio of interconnect solutions for rail and other reliability-critical applications.

Click here for more information about TE Connectivity EN50155 Managed Ethernet Switches