editor's blog
Subscribe Now

Building Better Wizards

Wizards are becoming more and more prevalent. Lest you’re concerned that Dumbledore’s relatives are coming to exact revenge, fear not: we speak here of wizards in the GUI (as opposed to gooey) sense. Yes, there are bastions of holdouts that cling to command line interfaces as a measure of their hacker bona fides, but there are solid reasons to like a well-designed wizard.

And “well-designed” is the operative phrase here. You may think of a wizard as no more than a way to simplify processes that could just as effectively be done using the command line if only you were boss enough to remember all the arcane intentionally-obscure commands required to get stuff done. And in some cases, such automation is the goal. But the potential goes beyond that: it’s an opportunity for a world-view transformation.

This is a favorite old topic of mine, but it was refreshed for me while watching a Movea SmartFusion Studio demo: when assembling a sensor fusion algorithm, a wide variety of filters are made available. And I thought, “How do you know which filter to pick??”

Now, you could easily argue that, if you don’t know your filters, then you have no business getting involved in sensor fusion. Perhaps. But really, a designer is interested in a behavior, not necessarily in knowing the details of how that behavior is implemented in some specific algorithm or circuit.

This became really clear to me several years ago on a consulting project where I was designing and prototyping a wizard for a piece of communication IP. The IP was very flexible, so there were lots of options that the user, who would be a system designer, could tweak. The obvious first approach to the wizard was simply to provide option fields for the user to fill in.

Being a communication protocol, it had FIFOs for elasticity; the user could dial up how big those FIFOs were to be. So I put a text field there for the size of the FIFO. But I asked the designers of the IP, “How should the user figure out how big the FIFO should be?” My first thought was that this information would be useful in the user manual. (Stop laughing… I’m sure someone reads those…)

They answered that the user would decide how many packets they wanted to buffer; that and the selectable packet size would determine the FIFO size. Simple enough.

But then I thought, “Wait, why are we making the user of this wizard do some paper-and-pencil calculations before going back to the computer? What if, instead of asking for the FIFO size, we asked for the number of packets?” The wizard already had the packet size somewhere else, so it then had all the information needed to calculate the FIFO size. No paper or pencil required.

Leave a Reply

featured blogs
Jan 25, 2021
A mechanical look at connector skew in your systems.  Electrical and Mechanical requirements collide when looking at interconnects in your electrical system. What can you do about it, how do you plan for it, and how do you pick the most rugged solution that still carries...
Jan 25, 2021
There is a whole portfolio of official "best of CES" awards, 14 of them this year. Of course, every publication lists its own best-of list, but the official CES awards are judged by... [[ Click on the title to access the full blog on the Cadence Community site. ]]...
Jan 22, 2021
I was recently introduced to the concept of a tray that quickly and easily attaches to your car'€™s steering wheel (not while you are driving, of course). What a good idea!...
Jan 20, 2021
Explore how EDA tools & proven IP accelerate the automotive design process and ensure compliance with Automotive Safety Integrity Levels & ISO requirements. The post How EDA Tools and IP Support Automotive Functional Safety Compliance appeared first on From Silicon...

featured paper

Overcoming Signal Integrity Challenges of 112G Connections on PCB

Sponsored by Cadence Design Systems

One big challenge with 112G SerDes is handling signal integrity (SI) issues. By the time the signal winds its way from the transmitter on one chip to packages, across traces on PCBs, through connectors or cables, and arrives at the receiver, the signal is very distorted, making it a challenge to recover the clock and data-bits of the information being transferred. Learn how to handle SI issues and ensure that data is faithfully transmitted with a very low bit error rate (BER).

Click here to download the whitepaper

Featured Chalk Talk

Cadence Celsius Thermal Solver

Sponsored by Cadence Design Systems

Electrical-thermal co-simulation can dramatically improve the system design process, allowing thermal design adaptation to be done much earlier. The Cadence Celsius Thermal Solver is a complete electrical-thermal co-simulation solution for the full hierarchy of electronic systems from ICs to physical enclosures. In this episode of Chalk Talk, Amelia Dalton chats with CT Kao of Cadence Design Systems about how the Celsius Thermal Solver can help detect and mitigate thermal issues early in the design process.

More information about Celsius Thermal Solver