Update August 12, 2009: Holly and Kathryn have asked me to change the link to the demo from a direct link (that opened the demo but made it appear as if the viewer was me) to a landing page link to a generic Demos on Demand page for Jasper. I've asked for a more direct link but Demos on Demand apparently doesn't make that easy to do. Look for the demo entitled "Jasper Design Automation: ActiveDesign". Hopefully the demo will still be visible on that page when you head over there to take a look!
Earlier this year at DVCon, Kathryn Kranen and Holly Stump met with me to discuss Jasper’s new design exploration tool, ActiveDesign. I ended up meeting with Holly and Rajeev Ranjan, Jasper’s CTO at DAC earlier this week to discuss the topic of my Wednesday panel, “Seeking the Holy Grail of Verification Coverage Closure.” During that discussion the topic of ActiveDesign came up again, which jogged my memory that I hadn’t posted on the topic after DVCon.
ActiveDesign is a tool to let designers perform a behavioral analysis of an as-yet-to-be-completed design before a testbench is available to actually stimulate behaviors. To the best of my understanding, you can describe a behavior you’d like to see (such as “ack == 1 for 2 clock cycles”), and ActiveDesign will tell you whether the behavior could ever occur given the code you’ve already written, and if so, under what conditions. If a condition can occur, it will show you a waveform diagram with the relevant signals that would have to be asserted over time to cause the desired behavior. You can also leave behind notes for yourself, such as “Could we get by with a 2 clock cycle delay instead of a 5 cycle delay?” Those notes are saved in a database for later use. Luckily, Holly provided me with a link to an interesting ActiveDesign online demo. The 40 minute demo shows off the tool’s functionality in much more detail. I’d recommend skipping ahead to about the 8:55 mark when the dull slideware stops and the real demo actually begins.
While the tool sounds like an interesting way to perform early design exploration, I’m not convinced it will be widely used. Why not? Basically, designers can be a stodgy lot… they’d much rather browse through files in vi or emacs, or draw diagrams out on whiteboards than try something that involves formal <gasp> technology :-). Am I wrong? Does anyone out there have experience with ActiveDesign? Does it actually help with RTL development, or does it get in the way of the “tried and true” hand-drawn diagram method? Enquiring minds want to know!