I'm to re-implement a hard-wired address decode (with lots of 74000) on a board... I'm also considering putting a second STM32F0 just to do the address decoding...
10 Address lines... 2 buses of 8 bits... 5-8 control signals... Different addresses need to be decoded, and the data latched, so the microcontroller has time to read it... off-load the microcontroller from watching the 5MHz bus all the time. One good thing is that the data rate is quite slow (about 1kHz, no more)... the bus I'm interfacing with is 5V
to save place and allow upgradability, I'd like to do that in programmable logic.
I'm looking for something very small, and most importantly very cheap (sub $2)...
I'm not very confident about the XC9500XL lifecycle... the product will be available for at least the next 5 years...
TTL ICs are still cheap enough to not justify programmable logic when the operation only needs a few 10s of them
You want to replace an existing TTL address decoding circuit with a decoder and latch that frees up the microcontroller from polling the bus. The bus is
5V, but the micro is an STM32F0 running on (<=)
3.3V, right? Is the MCU replacing a legacy TTL device?
10 address lines, 8 data, 5-8 control, 5MHz, 5V, TTL. What system bus is this?
If 10+ TTL IC's are so cheap (even though they must take up quite a lot of PCB area) then why do you need something 'very small' and
more importantly 'sub $2'? Was the original device too bulky and expensive for your market?
You seem to be very concerned about whether the CPLD you choose will be available in 5 years time, and having 10,000 available
now is not assuaging your fears. Does this mean you are only doing small production runs, and don't want to stockpile chips?
The existing design used hard-wired logic and (I assume) worked OK, so why do you want it to be 'upgradable'?
What is the purpose of your device?
Sorry for all the questions, but if we knew what you were
actually trying to do it might help...
The ispMACH4000ZE looks good on paper...
IMO this is the
only CPLD that will meet all your requirements, because:-
1. Older devices might not be around in 5 years time.
2. Using a low I/O voltage device with level shifters will take up more space and raise the cost.
3. No other modern CPLD family (that I know of) is truly 5V tolerant.
There is one other solution you might consider -
Cypress PSOC-4200. Runs on 5V, has internal CPLD, and I/O pins can be configured for latched input (ideal for operating as a 'slave' device on a microprocessor bus).