Wow, I go away for a week and it takes me most of the following week to get through PICLIST post. But it's all good stuff. Thanks to all out there. Couple of comments. 1. Old teletypes. No-one's mentioned the real oldies I remember from the UK GPO in the sixties - painted dark green and weighed a ton. They had the interesting feature that the printing was always a character behind. As each 5 bit code came in, it printed the previous character then set up the printhead for the next. Was this the first example of PIPELINING? 2. PLDs. My favourite is the 18CV8. This is a 20 pin device with 8 outputs. Key feature is that each output macrocell is truly universal. That is, polarity, feedback type (registered, combinational or pin) and output type (reg or com) are independantly set. Main drawbacks are single-sourced, not supported by most current design tools or cheap programmers. I therefore recommend the 22V10 against the 16V8, if only because its output macrocell is 'clean' - the 16V8 is a mess because it was designed to be a universal replacement for 16R4, 16R6, 16R8 and 16L8, where the com and reg outputs had different feedback and output enable arrangements. The 22V10 also has the advantage that it has lots of product terms - 16 on two of its outputs. Final benefits are that everyone makes one, and many CPLD and FPGA manufacturers quote their products in terms of multiple 22V10 equivalents, so you get a good feel for what you'd be getting into. 3. Overvolts protection. This comment refers to recent posts on both MOV (etc) devices and in-system programmable logic. I had a bad experience a year ago with Lattice ispLSI parts, when I managed to blow up several. It took a while to work out what was going on, and I urge anyone thinking of using in-system programmed ICs of any type to read carefully. The system under development was a prototyping aid. In use, it is possible to short out Vcc (5V) and Gnd. OK, so there's no need to design the system so that such a user error won't cause problems, but the system MUST be undamaged by it. Lattice ispLSI WAS damaged. The mechanism is that a modern PSU can respond pretty rapidly to changes in current demand, and can push out a hefty lump of amps for very short periods. If the short is not a nice, hard, permanent thing, but the sort where two bare wires brush together, the Vcc line will bounce as the short re-opens temporarily - and any inductance around will boost the bounce. Testing (without the Lattice CPLDs in circuit) showed excursions on the 5.0V Vcc line of up to 10.4V relative to 0V, with typical peaks of 8.3V. These lasted for several microseconds. There was absolutely NO adverse effect on other components including 74LS, 75ALS, 74HCT, 74ABT and an 18CV8. The Lattice chips have an on-chip charge pumps and related features to provide the programming with only 5V available, and it appears these features are the reasons they failed with very low resistance between Vcc and Gnd pins when Vcc pulsed too high. If you look at the data sheet for almost any 5V logic IC, you'll find the absolute maximum Vcc quoted as "7V". In the case of Lattice ispLSI, that absolute maximum is a true, hard, cross-this-line-and-you-die limit. OK. So now I had to stop my 5V line exceeding 7.0V. Not 7V, 7.0V - quite a difference in practise. ALL the standard voltage clamp products, even those rated as 5.6V, actually have a rounded "knee" on their characteristics, and don't actually clamp hard by conducting amps until around 10V. The ONLY device I could find which worked was the SGS-Thomson 1N5908. By fitting this, and a 100uF axial tantalum to slow down the speed of the voltage edge, there have been zero failures in use. SGS-Thomson used to make devices which (on paper) would have been even better, the GMP5 and GMP5B, but these ceased production seveal years ago. To summarise, in-system programming is great, but you never get something for nothing. The cost of 1N5908s in all your products might soon exceed the cost of buying a programmer for a non-isp 22V10! Tim Forcer Tel: (+44) (0)1703 593362 Fax: (+44) (0)1703 592053 email: tmf@ecs.soton.ac.uk Department of Electronics & Computer Science Room 3005, Building 35 The University, Southampton, SO17 1BJ UK