??? 01/18/05 19:48 Read: times |
#85221 - comments Responding to: ???'s previous message |
I agree -- Jan's comments really aren't comments. The person who can't figure out that ++dest;means "increment destination pointer" shouldn't be working as a programmer. The thread about hooking SDRAM up to an 8051 made me go back and look at some Verilog for an SDRAM controller that I'd written a couple of years ago. (Verilog has all of C's problems, as well as some interesting ones of its own.) Because this SDRAM controller is tightly integrated into a DMA controller and a PCI target controller, it's not very straightforward. There are a bunch of assignments that are simply written: assign WriteOutputFIFO = ((isTrgtMem && user_rdwr && user_mult && ~TrgtEndOfRow) || (isTxDma && ~xfpf_latch && ~TxEndOfRow); Above this tough-to-parse assignment is a detailed, twenty-line comment explaining the logic behind the logic. There's no way I'd remember why I wrote this the way I did, and the documentation above the assignment details the conditions expected, as well as how the signal will be used in other parts of the module. Finally, code can be self-documenting. Rather than calling a variable i or cnt or some such, give it a real name: TargetAddress or LoopCount or something. It's not FORTRAN here and we're not limited to eight significant characters! -a |