On 7/12/06, Dieter <[EMAIL PROTECTED]> wrote:
> I can completely document hardware and provide
> and the behavioral and interface specifications and I have really
> completely described the hardware.  The implementation of those specs is
> really just busywork.

You have just insulted thousands of engineers.

Depends on how you look at it.  I've interviewed with organizations
that do vast amounts of design up front, divide up the design into
smaller and smaller pieces, to finally hand procedure-per-sheet
instructions to minimally-trained coders at the bottom of the
hierarchy.

Engineers who write software are often thought of as "coders", but
once you've reached a certain level of familiarity with a language,
the actual coding part drops into the background.  While you may start
coding immediately, all you're doing is overlapping design and coding.
When a really good hacker sits down to hack together some cool code
idea, it may take longer to type in than it took to think up, but in
order to have a good idea in the first place, he had to imagine it
clearly, and that was flash thought in his mind on the way to the
computer (yes, we leave our computers sometimes).  Probably a more
common scenario is that your subconscious mind has been working on it
for weeks, and when the ideas finally surface, they're fully-formed.

Howard commented that, despite my relative (to him) inexperience with
chip design, I write very error-free Verilog code very quickly.  But
what's really happening is that what takes me 4 hours to code actually
took me days or weeks to work out in my mind.

Now, let's be careful about what we mean by 'spec'.  Some things
require a lot of thought to deal with.  The PCI spec, for instance, is
no cakewalk.  So implementing it requires a lot of work.  But a lot of
that work is just understanding something developed by a committee (so
the prose and diagrams are not always transparent).  Actual typing in
of source code is a relatively small part of the process.

If we do a good enough job of documenting OGA and make sure the model
implements that correctly and is structured in a way that makes it
easy to design hardware, then the conversion to Verilog will resemble
busy-work.  All the hard stuff went into doing the spec and writing
the C-language model.

And while certain aspects of the implementation may be "busy work",
the debugging never is.  :)


> I suppose the same could be said for a
> software system, but I have never ever seen it done

Some software projects have requirements documents, followed by design
documents, and test documents.  The implementation (coding) of those
documents (specs) is seperate.  I wouldn't call it busywork, it is
essential, and it needs to be done correctly, just as with hardware.

You're right that the coding process has to be done right.  I suppose
for some people, it's busy work and for some, it's not.  That depends
on experience.  Take, for instance, some C program I wrote when I was
16 and compare how long it would take for me to do the same thing now.
There would be a vast difference in time and difficulty to achieve
the same result.
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to