|
Original Article can be located at Simple designs aren't easy, speaker says by
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
EE Times) (03/28/2006 8:45 PM EST)
"Ultimately, the quality of a design depends on the simplicity of its
execution,"
"The art of design is the art of making the complex
appear very simple."
"Code is what really counts," he said. "It's what I
fought my way through as I was trying to put the chip together. Code, and data
extracted from code, is the core form of communication between designers in
IP-based SoC design."
More Excerpts here...
Synopsys fellow Michael Keating outlined two "basic rules of design" that he said are often violated
in practice. One is that if it's not tested, it's broken. Another is that if
it's not simple, it will never work.
Referring to the code, Keating said, was faster and more accurate than
reading the documentation. Further, the documentation was missing key
information. "Documentation can be a reference, but it's not the solution to the
communications problem between the IP provider and the customer," he said.
Keating's conclusion? "Code is what really counts," he said. "It's what I
fought my way through as I was trying to put the chip together. Code, and data
extracted from code, is the core form of communication between designers in
IP-based SoC design."
But to be usable as a documentation tool, IP code has to be simple. And it
takes a great deal of effort to structure simple code, Keating said. "Code is
like a novel — it's read by many people," he said. "The secret to writing a
novel is rewrite, rewrite, rewrite."
In simple code, Keating said, all structures are explicit. Simple code
contains clearly perceptible patterns, a "reasonable" number of elements, and a
regular structure. Keating said that hierarchical state machines, which have an
explicit state space and structure, can have a dramatic effect in improving the
readability of code.
It is easy for some people to see and detect patterns but it may not be so simple always. Any takes!!
|