Reply by Nico Coesel June 29, 20122012-06-29
glen herrmannsfeldt <gah@ugcs.caltech.edu> wrote:

>rickman <gnuarm@gmail.com> wrote: > >(snip) >> One final comment. I resisted the switch from schematic to HDL back >> in the day. Now I would not touch schematic. The single biggest >> reason to use HDL is the vendor independence. It makes it so easy to >> switch from one line of devices to another. Learning an HDL is not >> really so tough, especially if you don't do software. When I learned >> I kept thinking it was like other software and it isn't. It describes >> hardware so the code works very differently. If you need help with >> that, I think I could be useful to you in getting up the learning >> curve. I've helped others before. > >I agree. For one, I prefer structural verilog and continuous >assignment, which looks less like software. > >Also, it helps to have learned about digital logic before, or >not so long after, you start learning software programming >language(s). > >Think in terms of wires and gates, then write them down.
The problem with that method is that you limit yourself to making a netlist manually. HDLs offer a lot of power which allows you to describe a large amount of hardware with just a few lines of code. -- Failure does not prove something is impossible, failure simply indicates you are not using the right tools... nico@nctdevpuntnl (punt=.) --------------------------------------------------------------
Reply by Nico Coesel June 29, 20122012-06-29
Jon Elson <jmelson@wustl.edu> wrote:

>Terry Brown wrote: > > Automated assembly is really not an option because of the low >> volumes, which we manage with three techs doing the assembly, and >> external assembly wouldn't save any tech salary (because we need all >> three anyway) but would just increase costs. >> > >> On the other hand, there's probably a good argument for embracing BGA >> hand assembly anyway in this day and age, it would open up a bunch of >> stuff that's not available in leaded packages, and things are going more >> and more that way anyway. Anyone have any experience with it? >Well, the real problem with BGAs is there is no simple way to inspect the >soldering. With QFPs and such, a stereo zoom microscope for several >hundred $ and a ring light is about all you need.
OTOH BGA usually solder well. I have good results with reworking BGAs using a standard heat gun aka paint stripper. -- Failure does not prove something is impossible, failure simply indicates you are not using the right tools... nico@nctdevpuntnl (punt=.) --------------------------------------------------------------
Reply by jg June 29, 20122012-06-29
On Saturday, June 30, 2012 12:48:18 AM UTC+12, Terry Brown wrote:
> Looks like I'll still have an issue interfacing to the 5V ISA bus on > PC104 stacks though, although the Xilinx devices have some 5V tolerant > inputs, and I guess I can translate the outputs, there aren't that many > apart from the data bus.
You could use two different devices ? The large IO count tends to bump you up the price curve anyway, so either 2 x 100 pin parts, or 100p + 44p. Use an 100p/44p Atmel CPLD for the Level shifting/5V IO and a 100p MachXO2 for the engine room stuff that will not fit into a smaller CPLD. -jg
Reply by glen herrmannsfeldt June 29, 20122012-06-29
rickman <gnuarm@gmail.com> wrote:

(snip)
> One final comment. I resisted the switch from schematic to HDL back > in the day. Now I would not touch schematic. The single biggest > reason to use HDL is the vendor independence. It makes it so easy to > switch from one line of devices to another. Learning an HDL is not > really so tough, especially if you don't do software. When I learned > I kept thinking it was like other software and it isn't. It describes > hardware so the code works very differently. If you need help with > that, I think I could be useful to you in getting up the learning > curve. I've helped others before.
I agree. For one, I prefer structural verilog and continuous assignment, which looks less like software. Also, it helps to have learned about digital logic before, or not so long after, you start learning software programming language(s). Think in terms of wires and gates, then write them down. It is sometimes nice to have an HDL to schematic conversion program so that you can look at the drawn schematics, but, to me, hard to use schematic entry. (I keep having to move wires around when they run into each other.) -- glen
Reply by Jon Elson June 29, 20122012-06-29
Terry Brown wrote:

  Automated assembly is really not an option because of the low
> volumes, which we manage with three techs doing the assembly, and > external assembly wouldn't save any tech salary (because we need all > three anyway) but would just increase costs. >
Well, I'm a TINY manufacturer, just me and occasionally one of my kids soldering boards, but I have my own pick and place machine. The reflow soldering is done in a toaster oven with thermocouple controller. (But, maybe I'm nuts.)
> On the other hand, there's probably a good argument for embracing BGA > hand assembly anyway in this day and age, it would open up a bunch of > stuff that's not available in leaded packages, and things are going more > and more that way anyway. Anyone have any experience with it?
Well, the real problem with BGAs is there is no simple way to inspect the soldering. With QFPs and such, a stereo zoom microscope for several hundred $ and a ring light is about all you need. Jon
Reply by rickman June 29, 20122012-06-29
On Jun 29, 8:48 am, Terry Brown <te...@invalid.invalid> wrote:
> On 28/06/2012 17:23, Terry Brown wrote: > > > Can anyone suggest something similar, not necessarily from Xilinx?... > > Thanks to all who replied. I'm going to look further into he two Xilinx > CPLDs Jon suggested and the Lattice MachX02 from Michael. The latter is > interesting because it has QFP variants which would be good for now but > also BGA in the same range, and the time is approaching when we are > going to have to think about transitioning to BGA. The Xilinx ones are > probably more useful but may be overkill for current requirements. The > Atmel devices JG suggested are probably a little too small for what we need.
Certainly there are lots of options available, but not may with 5 volt I/O. Silicon Blue was offering devices that are 5 volt tolerant, but that is of limited value when doing a PC/104 interface and those parts have been obsoleted now that they were bought by Lattice.
> We are small volume, and use ~100 FPGAs a year on hand-assembled boards. > Cost isn't really an issue, board costs are mostly design, assembly > and test anyway, a few $ here or there makes no odds. The biggest > limitation to date is not being able to do BGA, but we're starting to > investigate that now as well, but might have difficulty justifying the > startup cost. However, anything we do do we'd like to continue to do > for the next decade, because although we're low volume we get a lot of > repeats for the same kit over the years, and our customers don't like > changes.
Not using BGA packages is an issue, but I still prefer to avoid them because of the requirements they place on the PCB specs. Many BGAs are very fine pitch, 0.5 mm or even 0.4 mm. This means you need VERY fine vias to break out the BGA pinout as well as additional layers driving up the cost of the boards. But then you say your unit costs are not important so perhaps this is not an issue. I think BGA are not so hard to hand assemble. Do you use a stencil for solder paste? Without that you may have a problem. The BGA needs solder paste which you set the balls on and a heat gun (without too much air flow) will melt the balls and the paste. I had a contract assembly house try this once and I think he used a lot more air flow than needed and he kept pushing the part off the pads. He tried using glue but then some of the balls didn't get a good connection to the pads. But then he wasn't using a stencil or solder paste... If power consumption is important to you, check out the ICE40 line from Lattice. They do have a few parts in 100 QFPs and 144 QFPs ranging in size from 640 to 3520 LUTs or 150% to nearly 900% the size of the XC4005E. Their prices are really good too.
> Looks like I'll still have an issue interfacing to the 5V ISA bus on > PC104 stacks though, although the Xilinx devices have some 5V tolerant > inputs, and I guess I can translate the outputs, there aren't that many > apart from the data bus.
I have found switches to be the preferred method of interfacing to 5 volt signals from 3.3 volt FPGAs. 3.3 volt drivers are high enough to meet the requirement for 5 volt TTL signals and the switch will prevent the 5 volt signals from damaging the 3.3 volt I/Os. The delay is very slight < 1ns. A part number for a 10 channel device in a TSSOP package is SN74CBTD3384CPW. A 20 channel device is 74CBTD16210. There should be smaller packages if you want to use BGAs. One final comment. I resisted the switch from schematic to HDL back in the day. Now I would not touch schematic. The single biggest reason to use HDL is the vendor independence. It makes it so easy to switch from one line of devices to another. Learning an HDL is not really so tough, especially if you don't do software. When I learned I kept thinking it was like other software and it isn't. It describes hardware so the code works very differently. If you need help with that, I think I could be useful to you in getting up the learning curve. I've helped others before. Rick
Reply by Terry Brown June 29, 20122012-06-29
On 29/06/2012 14:38, Herbert Kleebauer wrote:
> On 29.06.2012 14:48, Terry Brown wrote: > >> We are small volume, and use ~100 FPGAs a year on hand-assembled boards. >> Cost isn't really an issue, board costs are mostly design, assembly >> and test anyway, a few $ here or there makes no odds. The biggest >> limitation to date is not being able to do BGA, but we're starting to > > Maybe you should take a look at FPGA modules like > > http://enterpoint.co.uk/products/pga-modules/darnaw-1/ > http://www.hdl.co.jp/en/index.php/plcc68-series.html
D'y'know, that's an idea! I wouldn't want to go for a commercial product of that type before, though. We've been burned in the past, for example we developed a number of boards using the Virtex-4 Mini-module from Avnet, which was fine for 4 years of so until they decided to end-of-life it. If we had been using the raw Virtex on our own boards, they are still available and probably will be for years, but because we used the Mini-module (which has RAM and EEPROM and Ethernet all on a 1"x2" module) we're a bit stuffed. However, it would be a fairly trivial task to design a board a bit like the first one above and have a couple of hundred manufactured externally, and then use the module on our own bespoke boards. To be clearer about what we do, we sell maybe 20 or 30 different boards with a wide variety of specialist functions. No more than 20 of any one type in a year, and many of them way less than that, and the boards only form part of the final products. The all use the same FPGA (with different bespoke programming of course) and a wide variety of external hardware (DAC, ADC, digital IO). Something like the modules above would be good. Automated assembly is really not an option because of the low volumes, which we manage with three techs doing the assembly, and external assembly wouldn't save any tech salary (because we need all three anyway) but would just increase costs. On the other hand, there's probably a good argument for embracing BGA hand assembly anyway in this day and age, it would open up a bunch of stuff that's not available in leaded packages, and things are going more and more that way anyway. Anyone have any experience with it? Terry
Reply by Herbert Kleebauer June 29, 20122012-06-29
On 29.06.2012 14:48, Terry Brown wrote:

> We are small volume, and use ~100 FPGAs a year on hand-assembled boards. > Cost isn't really an issue, board costs are mostly design, assembly > and test anyway, a few $ here or there makes no odds. The biggest > limitation to date is not being able to do BGA, but we're starting to
Maybe you should take a look at FPGA modules like http://enterpoint.co.uk/products/pga-modules/darnaw-1/ http://www.hdl.co.jp/en/index.php/plcc68-series.html
Reply by Terry Brown June 29, 20122012-06-29
On 28/06/2012 17:23, Terry Brown wrote:
> > Can anyone suggest something similar, not necessarily from Xilinx?...
Thanks to all who replied. I'm going to look further into he two Xilinx CPLDs Jon suggested and the Lattice MachX02 from Michael. The latter is interesting because it has QFP variants which would be good for now but also BGA in the same range, and the time is approaching when we are going to have to think about transitioning to BGA. The Xilinx ones are probably more useful but may be overkill for current requirements. The Atmel devices JG suggested are probably a little too small for what we need. We are small volume, and use ~100 FPGAs a year on hand-assembled boards. Cost isn't really an issue, board costs are mostly design, assembly and test anyway, a few $ here or there makes no odds. The biggest limitation to date is not being able to do BGA, but we're starting to investigate that now as well, but might have difficulty justifying the startup cost. However, anything we do do we'd like to continue to do for the next decade, because although we're low volume we get a lot of repeats for the same kit over the years, and our customers don't like changes. Looks like I'll still have an issue interfacing to the 5V ISA bus on PC104 stacks though, although the Xilinx devices have some 5V tolerant inputs, and I guess I can translate the outputs, there aren't that many apart from the data bus. Ah decisions, decisions, decisions ... Thanks for the input, Terry
Reply by MK June 29, 20122012-06-29
On 28/06/2012 17:23, Terry Brown wrote:
> We've been using the venerable XC4005E FPGA from Xilinx for many years > now in a bunch of products. However the variant we use has now been > discontinued, and although we can get sufficient quantities to satisfy > our quite low (<100 per year) demand it's time to change some of the > stuff out and redesign where appropriate. Sadly that'll also mean > upgrading our toolchain too, but needs must. > > Can anyone suggest something similar, not necessarily from Xilinx? We > don't do anything much with them, just interface to PC104 (ISA) bus and > present a bunch of registers in IO space, or stick some custom low-speed > logic in them, or do address decoding for external chips. > > The biggest draw for the 4005 was the 144pin quad flat package which was > easy on our hand assembly process and the user IO count of 110-ish pins > which we need to keep or maybe exceed a bit. Internal logic was always > drawn as circuits using ViewDraw, don't need any fancy HDL stuff here > (and in fact could do without the learning curve anyway). Oh, and also > 5V IO would be neat (ISA bus interface) but 3.3V logic also would be > good, because it's getting hard to find a bunch of things in 5V these days. > > Any suggestions? > > TIA > Terry
If you are going to jump, a decade into the present you should look at some modern parts which you can expect to go on using for while. Lattices MachX02 range might do - up to 115 IO in 144 pin package (but that is the most expensive part - 108 IO is much cheaper). If you are paying for the parts you might as well get the best out of them - learn an HDL. (Lattice's toolset is pretty cheap and comes with a basic version of Aldec HDL which includes a schematic design package which I find works best used in combination with VHDl or Verilog). Michael Kellett