floobydust wrote:
If I were to do this again, I would do it a bit differently;
1- A different pinout for the I/O connector making it more flexible for using other I/O devices
- 32-bytes wide (rather than 16-bytes)
- Positive going Reset line
- Cleaner signal distribution on the 30-pin connector
1- A different pinout for the I/O connector making it more flexible for using other I/O devices
- 32-bytes wide (rather than 16-bytes)
- Positive going Reset line
- Cleaner signal distribution on the 30-pin connector
Also, more related to construction than design, ideally each signal in the cable should be separated from the next signal by a ground. In other words, ground -- signal -- ground -- signal --, etc. This is a technique seen in some disk drive cables (the single-ended SCSI bus, for example) the helps to reduce crosstalk.
Quote:
2- Use a CPLD for glue logic so I can alter the ROM/RAM-I/O addressing
One of the limitations of my POC V2 design is I opted to use Atmel's (now Microchip's) small ATF1504AS CPLD, which is PLCC44. That decision was based upon the desire to keep my PCB size within the Express PCB Proto-Pro size and hole count limits. As a single PLCC socket can add quite a few holes, I went with the smallest available, which was the PLCC44.
While the 1504 has ample logic resources (64 macrocells), it only has 32 uncommitted I/O pins, which proved to be significant as the design evolved. Every pin is in use and I had to allow the fitter to automatically choose all pin assignments except for the clock and reset inputs. As you could imagine, this added complication to laying out the PCB, since I couldn't use a "best fit" methodology to decide how to route the board. As I am using a different source at this time for POC boards, I'm less constrained with the size and hole count. Hence the next design will use the ATF1508AS in PLCC84, which will give me 64 uncommitted I/O pins and quite a bit more flexibility. There's also a TQFP100 version of the 1508, offering even more pins in a slightly smaller package, but soldering one of those is out of the question for me.
You should keep all this in mind when you do your next design, since you may determine later in the design cycle that you want to add more capability to the CPLD logic, but don't want to be forced into accepting whatever pin layout the fitter determines for you. Best to go big and avoid having to use every pin. Also, don't forget the JTAG port so you can reprogram your CPLD in-system.
Quote:
3- Provide additional logic for a NMI trigger
- My monitor supports a NMI panic routine, so having a way to invoke it would be nice
- My monitor supports a NMI panic routine, so having a way to invoke it would be nice
Quote:
4- Likely a 4-layer board for better shielding and higher clock speeds
Quote:
5- Onboard serial console via a USB connector
- Power switch w/center off allowing power select from USB or dedicated connector
- Power switch w/center off allowing power select from USB or dedicated connector
I use an old 250 watt ATX PC power supply to run my projects. There's enough juice to power POC plus any disks attached to it. You just have to be a little careful when powering up a brand new design with a PC power supply, as it can produce some pretty high short circuit currents before cutting itself off. For example, a backwards electrolytic will go with quite a bang.
Quote:
I'm using the machined IC sockets from Mill-Max and can easily insert a ZIF connector into the ROM socket which makes removing the EEPROM quick and easy. I prefer not to solder these to the board as they are expensive and can easily be reused for other projects down the road.