??? 08/31/07 23:54 Modified: 08/31/07 23:55 Read: times |
#143825 - That\'s exactly what it is! Responding to: ???'s previous message |
Andy Peters said:
I keep reading complaints about how VHDL takes pages of code to do something simple.
And while, yeah, there IS a certain verbosity to it, I think a lot of the complaints are unwarranted. There are things that are more concise in VHDL than in a schematic, but, irrespective of that, what one has in a 'D' size sheet is a bunch of blocks, not all, in fact only a few, of which are gates. A counter, for example, is just one block, though it may be a counter with a synchronous carry out, and therefore not in a "factory" library. There are some things, too, e.g. a HEX-to-7-segment encoder, that fit on a single page (less, actually) of a VHDL listing, yet would take a whole 'A'-sized area just to draw it on a sheet and then require some head-scratching to figure out what it does, if it were not docuented. State machines, too, require a block rather than a gates + flops schematic, and the thing still gets to be a 'D' size sheet. For sure one has to keep to the "synthesizable subset" (unfortunately a moving target) if one wants to actually do a chip design. But that subset is larger than one thinks and the features are quite useful (generates, anyone?).
The type-safeness means that the compiler catches your stupid mistakes, not your customer. One-page schematics resulting in 5000-line modules? Show me one, at least one that's not a D-size sheet stuffed to the max with things. And make sure that code is written by hand, not generated by some silly tool. I've worked on sets of 50 or more 'D'-size sheets. Anyone who can't read schematics, however, and understand what they represent, needs to go back to his school and demand his money back. State machines in a schematic? Please, just kill me. That's why one can compose block symbols. As for code reviews: if people would learn how to write proper code, most of those complaints about time spent in code reviews would go away.
I've had to review schematics and update them since the old parts were no longer available, and sometimes those schematics just make no sense at all. No place to put decent comments (not the WHAT, mind you, but the WHY), pointless signal names, you name it. I usually just enter that schematic as VHDL and simulate the damn thing to figure out what it's supposed to do. phooey. -a As they say ... "different strokes for different folks ..." The folks with whom I work, to a man, can read and interpret what a schematic represents, how it works, and why, in seconds. Even the chemical engineers had to take "logic circuits," last time I looked. If a guy can't recognize a counter or shift register, or an encoder or a decoder, he needs to dig out his old texts and review. Yes, state machines belong in their own functional block diagram, and should have some clear documentation. If those aren't done right, it's because the originator hasn't yet learned to write well, or his boss hasn't yet learned to make his people do that. RE |