Open hardware / software for programming SPLDs / PALs / GALs
Posted: Wed Feb 25, 2015 1:53 am
Hi,
I'm a software guy looking to build my first 6502-based system. The information on this forum and members' sites is very helpful, so thank you to everyone who's words I have read. I tried using software with an ARM dev board to provide PHI2, reset control, address decoding and simulated bus devices such as RAM, ROM and a UART, which went well but it only managed about 100 kHz.
I'm currently using an ATmega32 to do the same thing with a simulated version of Daryl's 65SPI although the AVR only has 512 bytes of simulated RAM and 1K of simulated ROM, so I'd like to make the jump to real hardware.
I've been thinking a lot about address decoding and reading recommendations of 74xx logic and CPLDs but I'd really like to use a SPLD because:
I'm a software guy looking to build my first 6502-based system. The information on this forum and members' sites is very helpful, so thank you to everyone who's words I have read. I tried using software with an ARM dev board to provide PHI2, reset control, address decoding and simulated bus devices such as RAM, ROM and a UART, which went well but it only managed about 100 kHz.
I'm currently using an ATmega32 to do the same thing with a simulated version of Daryl's 65SPI although the AVR only has 512 bytes of simulated RAM and 1K of simulated ROM, so I'd like to make the jump to real hardware.
I've been thinking a lot about address decoding and reading recommendations of 74xx logic and CPLDs but I'd really like to use a SPLD because:
- They're simple enough for a software guy to understand. Sum of products, optionally inverting the inputs and/or outputs. No "registered" outputs or macrocells that I have to understand
- They can arbitrate up to 5 bus devices with single-address granularity in a single DIP24 footprint. If I want to map a 65SPI to addresses $0200..$0203 then I can. 74xx logic would require a 14-input gate for that scenario. Precision mapping with no mirroring means saved RAM and no need to think about banking out I/O