On Fri, 10 Jul 2009, Jan Decaluwe posted:
|-----------------------------------------------------------------------|
|"Since I started with RTL design in 1991, my goal has been to raise the|
|abstraction level as much as possible. Two key characteristics of my |
|design style are: |
| |
|* using a single clocked process for both control and data operations |
|* using variables, including register inference from them |
| |
|Since the early days I am convinced that this is a superior coding |
|style." |
|-----------------------------------------------------------------------|
Why?
|----------------------------------------------------------------------|
|" Therefore, I always expected it would become the mainstream |
|style anytime soon. On this I have been dead wrong. In the past two |
|decades, the mainstream style has moved in the opposite direction. The|
|absolute low point was Cliff Cummings' guideline not to use blocking |
|assignments in a clocked process, which effectively bans variable |
|semantics for RTL designers. |
| |
|However, now there may a new fact. For the first time, a high-profile |
|publication is in the making with a different message. It is |
|appropriately called "The Art of Good Design". Interestingly, it is |
|being written by Mike Keating, the co-author of the Reuse Methodology |
|Manual (RMM). I believe the RMM is partially responsible for the |
|"unstructured chaos" we are in (Mr. Keatings' words). So it's good to |
|see that he is changing his mind." |
|----------------------------------------------------------------------|
How do you know that he has repented instead of noticed a marketing
possibility, like Grady Booch?
|----------------------------------------------------------------------|
|" I have the impression that the |
|change comes after a careful study and rewriting of real designs. Good|
|that someone takes the time to do this." |
|----------------------------------------------------------------------|
"Reuse Methodology Manual for System-on-a-Chip" was supposedly based
on experience of real designs.
|----------------------------------------------------------------------|
|"In a recent post on his blog, Mr. Keating announced a preview of |
|Chapter 3 of The Art of Good Design: |
| |
|
http://synopsysoc.org/futureofdesign/?p=35 |
| |
|[..] Moreover, he discards the |
|guideline not to mix blocking and non-blocking assignments. He does |
|this implicitly, as all blocking assignments are encapsulated in |
|functions, but this doesn't fundamentally alter the conclusion. |
| |
|[..]" |
|----------------------------------------------------------------------|
I do not have time to read his blog now, but perhaps he has not
conciously discarded that rule. I remember a lecturer who insisted
that shared memory should always be used instead of message passing,
so students whose project was rejected because of message passing
pointed out with glee that the lecturer accidentally used message
passing in a later lecture.
I have seen much SystemC(R) code which was presented as an example of
object orientation which was not at all like OO.
Regards,
Paul Colin Gloster