GARTHWILSON wrote:
Fortunately more and more things like CPLDs are programmed with serial interfaces which not only simplifies the programmer requirements, but allows you to solder the device into the circut before it's even programmed, and program it just before shipping, or even update after the product has been in the field for awhile.
Eventually, something, somewhere, is going to be needing a ROM. EEPROMs apparently are currently the most popular method of talking to CPLDs and FPGAs, for precisely the reasons you state.
However, I am looking more for the boot-time code storage.
Quote:
For a lot of uses, you can of course just get your ROM code up to where you can do the rest of the development in RAM, just feeding it over an RS-232 link from the PC. That way you can try and re-try without doing another EPROM until you're satisfied with the code and decide it's ready to put into ROM.
It sounds nonsensical, but I've experienced this first hand. It can take pretty significant effort to get even this kind of minimal bootstrap code working in an embedded circuit, especially when dealing with those uber-configurable UARTs that can handle everything from RS-232A to 100-base-T Ethernet (like some of the 68xxx-series microcontroller UARTs can). Of course, this isn't likely to happen with a 65xxx-type system, especially if you just stick with 6551 UARTs. Remember also that the data transfer protocol will also need to be verified as well.
What's funny is that my roommate laughingly suggested that I use a paper-tape solution to boot-strap the computer with. I actually like the idea -- on the one hand, it does complicate the circuit a tiny bit, as I need to make a paper tape reader, but on the other hand, it sounds so anachronistic that it is probably the coolest thing most people will ever see. But there's no argument -- I won't have any need at all for ROM in such a system.
Quote:
ROM emulators have been around for decades too.
I wasn't talking about a ROM emulator. I was talking about a hardware emulator (e.g., VICE under Linux will emulate a Commodore 64, 128, VIC-20, PET, etc. to an *AMAZING* level of detail. It even emulates the bugs and gotchas in the VIC-II chips that enables those weird video modes/effects!) -- a software model of your whole system, including the CPU, and its baseline set of peripherals.
--
Samuel A. Falvo II