On Tue, 2008-02-05 at 09:23 +0000, David Bisset wrote: > Personally I'd put down a CPLD and do everything in one device, that way you > can change the function as it pleases you. For example you might decide that > you want individual bits allocated to individual addresses so as to avoid > bit shifts and masks in the software, or you might decide that you want > whole words of data so that the changes on each bit happen at the same time. > With a CPLD this will be easy to configure. > > However I'm not sure why you need an external latch. Assuming that you are > not using the "SAMOSA bus", just the pins, since the SAMOSA signals come > from the FPGA you can use the FPGA to address decode and latch the data from > the processor bus. I need 32+ IO lines, so I need some sort of latch / multiplex. The CPU is not going to be involved in generating these signals on a cycle by cycle basis, I intend to setup an address decode with some control registers inside the FPGA, (to store timing and control information), and the signals will be generated by the FPGA. > You might want to buffer the output so that when you accidentally connect IO > pins to 12v, as we all do from time to time, you only blow up the buffer > chip (if you're lucky). In which case any HCT device will do. Yes, I need to level shift up to 12V CMOS probably, since the environment this is working in will be electrically noisy. The Semikron IGBT gate drivers take high voltage CMOS signals. As I've found before, 3.3V signals just don't cut it when cabled out to a gate-driver card controlling 1.2kV + IGBTs. > If you *are* trying to use the SAMOSA bus then you will be better off using > a CPLD, as the address and data are multiplexed over the same pins and there > are a number of control signals to decode to get the bus data flow in the > right direction. > > Hope this helps Yes, thanks.. I'll look at CPLDs. Best wishes, -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!)