The
Proto65 experiment gave me a couple ideas and I want to explore them separately.
The purpose of Proto65 is to have a flexible, programmable logic fabric to check out parts from eBay. Flexibility is expensive, so once the unknown parts become known, the design can be pared down significantly. There is no question EPM7192S is an overkill for 6502. To fill the void, the Proto65 project is adding more features to fill up EPM7192S, but another approach is shrink the CPLD to fit the current design. There are no doubt a EPM7128S (same as ATF1508) can fit the current design (
Proto65 V0.2), the more interesting question is whether EPM7064S (ATF1504 equivalent) can fit. ATF1504AS-10 is about $3 from Mouser so that will make it a frugal 6502 SBC.
It is easy to re-target the EPM7192S design to a different CPLD and at the first glance, it won't fit the EPM7064S; the I/O pins can be trimmed to fit, but the logic is 150% of EPM7064S. The two big consummers of logic are the serial port and bootROM. While the bootROM is 64 bytes in size, it is constructed of combinatorial logic. The large fan-in does consume some macrocells, but cutting bootROM from 64 to 32 bytes do not make up for the 32 macrocell deficit. The other possibility is the serial port. A hardware serial receiver is needed to handle high speed (115200) serial input and to keep the boot ROM small; serial transmitter, on the other hand, can just be bit-banged with software. So by replacing the hardware serial transmitter with a flip flop, the design actually fit! 100% of I/O pin and 97% macrocell utilization.
To make the design fit the 32 I/O pin of EPM7064SLC44, some address lines are sacrificed which make the memory map less efficient. The memory map looks like this:
0xF800-0xFFFF is internal ROM
0xF000-0xF7FF is internal I/O (serial port and I2C)
0xE800-0xEFFF is external I/O (IDE interface)
0x0000-x0E7FF is RAM
To summarize, the goal of CRC65 is a frugal 6502 SBC with the following spec:
* W65C02 operating at 14.7MHz, nominal
* 58K RAM based on 25nS CY7C109
* Compact flash interface
* EPM7064S (ATF1504AS) CPLD with the following resources:
* 64-byte ROM, dual boot either from serial port or CF disk
* Serial port at 115200 N81, hardware receiver, bit bang transmitter
* I2C, bit bang
* RAM decoding
* Compact flash drive decoding
* Economical 2-layer PC board.
* PC board size goal of 100mm X 50mm, so 2 pc boards per 100mm X 100mm panel.
* CRC65 stands for CPLD_RAM_CFdisk_6502, the major components of the 6502 SBC.
It just so happen I have a EPM7064S prototype board all ready to be wired up.
https://www.retrobrewcomputers.org/doku ... o:protorc3Gosh, what a coincidence!
Bill