« show my pc | Main | viigo »

August 28, 2008

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00e54efca38e883400e554ab83968834

Listed below are links to weblogs that reference Zerstreutheit and the hardware design flow:

Comments

Etan

Good article. One quibble, you wrote:


The final Test step is significantly slower for hardware design. Often this is used as a justification not to bother optimising the Checkout and Build phases, because they are comparatively much shorter.


This is not necessarily true in my experience. The first level of testing is so-called smoke/sanity where only a very small subset of tests run for each environment. Assuming an environment does intelligent things like runtime loading or program block switching based on runtime switches your "Build" may be much more expensive than run -- especially the further up the integration chain (subsystem, chip).

Of course this depends on your cutoff of Build and Test. I'm assuming simulator compile is part of Build.

Gordon

Hi Etan,

Thanks for your comment. What you say is certainly true for basic operation tests like smoke/sanity tests, though they can even be relatively expensive. But where the difference really comes in to effect is in the regression environments, that may take weeks to run just once. I've certainly heard on occasion this run-time used to explain away slow build & SCM tools, as only a relatively small percentage of the overall time.

I think my main concern is that given the combination of the 3, for reasonably complex HDL designs, the principles in CI don't really map too well to the current state of the art. I am curious to understand why that is - at least for the SCM & build phases. I can understand why simulation time is maybe larger than for software testing, but I'm not convinced that a similar argument applies to the other parts of the hardware design Checkout/Build/Test cycle.

Is there something very different about compiling an HDL design for simulation, compared to compiling a C/C++ program? If not, is it then possible to apply the best practices from the software world to significantly accelerate the typical HDL build? It just doesn't appear to get as much attention, unless I'm missing something fundamental (I'm certainly not a compiler expert)

JL Gray

Hey Gordon,

Just curious - how long would you expect it takes to compile something like Microsoft Windows? What about running the regression suite? I would expect that would take significantly longer than what a large percentage of hardware design teams experience.

JL

Gordon

Hi JL,

I'd really hope that it wouldn't be a single build step for the whole shebang, would you expect it to be? I would think that it would be composed of a lot of hierarchical parts, with sub environments and tests associated with each section.

But also, at least from what I've read, Microsoft uses the daily build approach too (one of the Joel on Software links in the post obliquely mentions that). I don't they are doing CI either, maybe that's changed.

JL Gray

Gordon,

My point was that I don't know that it's a true statement that software is so much simpler than hardware (thus not explaining why software guys use continuous integration and hardware guys don't). Hardware designs obviously are broken up and tested in pieces as well.

JL

Martin d'Anjou

You have made very good points. A speedy checkout and build flow is key to quick resolution of the problem at hand, mostly when you need to do a bug fix. My experience is that long checkout and build leads to parallelization, pipelining and context switching for the person. Rebuilding the zone after a context switch takes time, and you get fewer things done when this happens!

Does working on multiple checkouts in parallel in order to be more effective by pipelining your work, turn into using more licenses for longer periods of time, and needing more disk space (due to the multiple checkouts)? I do not know. But I know I hate my long build times.

GordonMcGregor

Hi Martin, thanks for commenting. The disk space and license issue may be true. I think the attention management might be an even higher cost, though less obvious.

Martin d'Anjou

I was just wondering how your evaluation of CruiseControl went.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

My Photo

subscribe

  • Email subscribtion

    Enter your email address:

    Delivered by FeedBurner