Partitioning The Problem

Breaking a complex problem down into more manageable pieces can make finding a solution much easier…even when it comes to power-aware test plans.


Whether it is solving a very tricky equation, cleaning out your hard drive or creating a power-aware test plan for your SoC, it helps to break the problem down into smaller pieces.

There is so much involved with writing a test plan these days, let alone one that is power aware that I wasn’t all that surprised to hear from Erich Marschner, verification architect at Mentor Graphics that in talking with design and test engineers, partitioning is always part of the discussion. They do this to help the engineers understand not only the different classes of errors that can occur but, in some sense, the dependencies among them and the ways in which the test cases can be organized to find the simple errors quickly and the more complex errors somewhat slower — building up to the most complex kinds of problem.

“It’s really straightforward — it’s not rocket science — but it’s not something that users always have in mind, and this organization is something that would be reflected in the test plan,” he said.

For example, Marschner noted, power management is intrinsically about partitioning a design into separately powered regions of logic and that partitioning gives one immediate opportunity for partitioning a test plan and then there can be a subsection of the test plan for each power domain of the design. “In fact, that’s where most people start. They say, ‘I have a power domain. Can I power the domain up? Can I power the domain down?’ Sure. But it’s good to go beyond that and say, ‘Can I power the domain up again? Can I power it down again?’”

He asserted that just looking at one power domain by itself is not sufficient even if you can show you can power it up and down repeatedly, and that when it comes up the state is restored correctly…and that it comes up correctly every time. Still, that’s only in one power domain by itself that you’re testing.

The next level of test and what he recommends in a test plan is to look at the interactions between power domains. “For every two power domains that are connected to each other where one power domain is providing signal that is consumed by the other, you need to look at the various combinations of power states for those two domains to make sure that they’re going to work in each one of those cases,” Marschner concluded.

To recap: partition the test plan; examine interactions between power domains.

Please do let me know how you handle the creation of power-aware test plans today.

Leave a Reply

(Note: This name will be displayed publicly)