??? 11/26/12 05:33 Read: times |
#188899 - You have to know hidden details about the simulator Responding to: ???'s previous message |
If the simulator doesn't account for each clock cycle in the UART and keep track of the precise timing between the various registers involved, ranging from the data register to the interrupt flag, it's not really a complete simulator. If it doesn't "know" how the chip in question operates, down to the tiniest detail, or, at least, the tiniest detail knowable from the information the manufacturer will give out, then it can't simulate them properly. Since several manufacturers of 805x's have deviated from the original Intel model, to greater or lesser extent and for reasons ranging from using fewer oscillator periods per machine cycle to adding operational features not incorporated in Intel's design, it's unlikely a simulator applied to several different variations of the 805x will yield results identical to the UART in the chip under examination.
Having spent many hours with 'scope, logic analyzer, and prototype, I'm persuaded that one shouldn't let perfection be the enemy of adequate. In most cases, the simulator is "good enough" for some things, though it's necessary to know in advance for which things it is not adequate. I've spent frustrating hours trying to figure out the synchronization details between the UART in the Maxim/Dallas DS89C4x0's, which the manufacturer wouldn't give me, because I wanted to know the timings that resulted in the various addressing modes to external memory. The result was that I switched to an external serial port implemented in programmable logic rather than guessing at what happened inside the MCU. Having written and used scores of simulation programs I know that they're, at best, an approximation. That means that the best I can expect, from a simulator I didn't write, is that the information about unknown details is a guess. The user has to decide whether that guess is "close enough." RE |