Thoughts on this part - Page 1
Forum section: electronics / general

author: MattHollands
author_rank: Frequent Contributor
timestamp: November 28, 2016, 11:27:08 pm
content: Hey,For my final project at uni I have been prototyping my design on an Xilinx Artix-7 FPGA (which is massively overkill for what it is doing). Now I need to miniaturise my FPGA circuit and I am looking at using a Lattice Ice40 FPGA, specifically,http://www.digikey.com/product-detail/en/lattice-semiconductor-corporation/ICE40UL640-SWG16ITR50/220-1961-1-ND/5155600This is a BGA16, at 1.4x1.4mm. I have two questions - mostly aimed at anyone who has had experience doing these things before:1) I have never soldered a BGA package, let alone one this small. If I buy a stencil and use reflow, do I stand a reasonable chance of successful soldering? Considering it only has 16 balls, this should be easier than most big BGAs right? I can probably get hold of a reasonable microscope.2) How much of a pain will it be to convert my work from a Xilinx chip to a Lattice chip? I have only ever used Xilinx before. The only IP I am using is Xilinx's BRAM which I think should have a Lattice equivalent.Thanks!

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: November 29, 2016, 01:06:44 am
content: Quote from: MattHollands on November 28, 2016, 11:27:08 pmI have soldered 256 ball BGAs using basic techniques like you mention and have around an 80% success rate. I suspect that a 16 ball BGA would be even easier.

author: julianhigginson
author_rank: Frequent Contributor
timestamp: November 29, 2016, 04:06:41 am
content: Quote from: MattHollands on November 28, 2016, 11:27:08 pmJeez... don't solder a BGA yourself. Get something in QFP footprint. Unfortunately I don't think any artix are in QFP so you might have to get a spartan 6. Unfortunately that means xilinx ISE, instead of vivado... unless the fabled spartan7 has appeared yet and comes in a QFP?

author: AndyC_772
author_rank: Super Contributor
timestamp: November 29, 2016, 09:21:46 am
content: Don't even consider using a package like that until you know how and where you're going to get a PCB designed and fabricated that will be able to accept it. Trying to solder a device like that is another headache you don't need. Expect anger and frustration, unless you already know for sure that your soldering is up to it.I know there's a gap in the market for small FPGAs, and that Lattice are the best of a bad bunch in that respect, but this part is not the answer you're looking for. Parts like this are designed to be used in mobile phones and other fashion led, ultra compact consumer devices.

author: MattHollands
author_rank: Frequent Contributor
timestamp: November 29, 2016, 04:31:51 pm
content: Ok I get now that I can't use a micro-bga.Quote from: evb149 on November 29, 2016, 03:19:22 amI'm really trying to minimise size here. I'm really hoping for 5x5mm package at maximum which is pretty hard unless I go BGA.In my current implementation in my Artix-7, my main two modules use 122 LUTs and 49 FFs, although I would like to ensure that I have maybe 2-3x this space for these modules. On top of these two modules I will need 3 SPI ports and ~12kBit internal memory. Therefore I'm pretty certain I could fit it into something with 1K LUTs, 12+ I/O and the necessary memory.I'm struggling to find anything to match these specifications.Quote from: AndyC_772 on November 29, 2016, 09:21:46 amThe reason I want it so small is that it is an application that is designed to go into (potentially) ultra compact consumer devices. This is research for my final university project.I was considering the Ice40lp384 because it came in a 5x5mm QFN but then realised it had no memory. None of the other ice40s come in a small QFN.Would a 0.5mm pitch BGA become more useable? Or do you think BGA is totally out of the question if I want to use companies like Seeed Studio/OSH Park. Xilinx's layout recommendations say that if I have a 0.5mm pitch part then I need 0.1mm via drill size which is below Seeeds minimum of 0.2mm, however for a 0.8mm pitch it recommends a 0.25mm hole which would be acceptable I think?https://www.xilinx.com/support/documentation/user_guides/ug1099-bga-device-design-rules.pdf

author: AndyC_772
author_rank: Super Contributor
timestamp: November 29, 2016, 04:38:12 pm
content: I'd be amazed - and quite disappointed - if your project's eventual grade is contingent on it being extremely small.If I were assessing it, I'd be looking to understand how you've designed it, what the challenges were that you've overcome, and whether or not the solutions you've come up with meet the needs you've identified.A note to say "in production, a uBGA would allow this to fit in a small space, but I've used a QFP for practical reasons" would be perfectly fine. Moreover, it would reflect much better on you than "I had to fabricate and try to assemble four PCBs before I eventually got one of these tiny parts to stick properly".I also see no reason to use one of these overseas hobby-oriented PCB shops. Doesn't your university have a preferred supplier? Or can they fabricate boards on site?

author: MattHollands
author_rank: Frequent Contributor
timestamp: November 29, 2016, 04:58:11 pm
content: Quote from: AndyC_772 on November 29, 2016, 04:38:12 pmI agree, but I guess I'm a perfectionistI'm pretty sure my grade won't depend on it, but that's not all I care about!!Anyway, I'm now looking at the ICE5LP1K. Comes in a 48-QFN package (larger than I'd like but oh well), has 1K Logic Elements and 65536 Ram bits and more outputs than I'd need.http://www.digikey.co.uk/product-detail/en/lattice-semiconductor-corporation/ICE5LP1K-SG48ITR50/220-2064-1-ND/5358105

author: CraigHB
author_rank: Regular Contributor
timestamp: November 29, 2016, 07:30:27 pm
content: So why are BGA packages so popular being as hard to work with as they are? It sounds like even the pros have big complaints with them. I've not attempted a BGA package and avoid them as much as possible, that's speaking at the hobby level. It's especially hard for me because I don't have a proper reflow rig and pretty much hand solder everything. Though I've done a little reflow here and there using the most basic tools it's not something I do routinely.

author: AndyC_772
author_rank: Super Contributor
timestamp: November 29, 2016, 07:34:20 pm
content: They're physically small, are typically the best choice from a signal integrity point of view, and have a relatively coarse pin pitch given their size and pin count. This gives them a high production yield with automated placement and reflow.The fact that they're difficult to solder by hand as one-offs is, in 99% of commercial applications, irrelevant.

author: suicidaleggroll
author_rank: Super Contributor
timestamp: November 29, 2016, 07:40:27 pm
content: Quote from: CraigHB on November 29, 2016, 07:30:27 pmThere's BGA, and there's CS (chip-scale) BGA, the pitch is the difference. 0.8 or 1mm pitch BGAs aren't that bad, they're somewhat easy to align and apply paste by hand, you can flow them with an oven or hot plate, and you can route the first 4-5 rows out with just two layers on a typical 5-6 mil trace/space fab. The OP was looking at a 0.35mm pitch CS BGA, which will be nigh impossible to apply paste for, align by hand, or even route properly without a high layer count and/or very fine trace/space PCB.

author: retrolefty
author_rank: Super Contributor
timestamp: November 29, 2016, 10:29:06 pm
content: Quote from: CraigHB on November 29, 2016, 07:30:27 pmIf the chip in question is popular or otherwise attractive to the hobbyist then some aftermarket supplier will sell it packaged on a module for that market.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: November 30, 2016, 12:03:33 am
content: Quote from: suicidaleggroll on November 29, 2016, 07:40:27 pmI didn't realize that part is a CS BGA. That being the case I withdraw my comment about being able to solder it using basic techniques that work for 0.8 and 1.0 mm pitch BGAs.

author: MattHollands
author_rank: Frequent Contributor
timestamp: November 30, 2016, 01:38:32 pm
content: Quote from: evb149 on November 30, 2016, 01:00:40 amYeah, having spent all of last night trying to find a decent solution, I basically agree that unless I am going to make it as small as possible, I may as well implement it on the iceStick development board for Lattice which would show that it could be ported to a tiny chip and leave it at that. There's not much point making it "small, but not that small".I guess my options are these - depending on the amount of support I can get:1. Leave it as it is and claim that I could fit it into a small chip like the iCE40s/make an ASIC2. Get the iceStick from Lattice and show that it could fit into an iCE403. Get a proper run of boards funded so I could use a tiny FPGA.4. Get an ASIC fundedAs it stands I expect I will definitely get up to 2, but will try to get funding for option 3. In which case, what board fabs do people use for such small patterns? I've only used Seeed and OSHPark before, neither of which will do something that small as far as I know.

author: Howardlong
author_rank: Super Contributor
timestamp: November 30, 2016, 02:07:04 pm
content: MACHXO2 is also available in QFN32 5mm x 5mm. The biggest most performant part in that form factor is LCMXO2-1200HC-6SG32I (Digikey: 220-2118-ND)Note that the MACHXO2 HC parts include on-chip voltage regulators you quite a bit of space. Most, including the one I mentioned above, include on-chip flash too.

author: wraper
author_rank: Unknown
timestamp: November 30, 2016, 02:22:36 pm
content: Don't listen those who say it's hard to solder BGA16, Just put a little bit of tacky flux instead of solder paste if reflowing board in the oven and she'll be fine. If using hot air gun, it'll be more difficult as you must avoiding blowing it out of it's place.

author: MattHollands
author_rank: Frequent Contributor
timestamp: November 30, 2016, 02:32:32 pm
content: Quote from: wraper on November 30, 2016, 02:22:36 pmThe issue isn't the soldering. The issue is that it is 0.4mm pitch and it's difficult to find somewhere that will manufacture a board with vias small enough to break out the pins.

author: wraper
author_rank: Unknown
timestamp: November 30, 2016, 06:13:52 pm
content: Quote from: MattHollands on November 30, 2016, 02:32:32 pmNot difficult to find,http://pcbwin.com/capability(very cheap PCB service), the question is how much it will cost as you will need via in pad.

author: Howardlong
author_rank: Super Contributor
timestamp: November 30, 2016, 10:03:41 pm
content: Quote from: wraper on November 30, 2016, 06:13:52 pmIndeed, of course it's not difficult to find, but it's unlikely to be a realistic option bearing in mind the OP's situation (student project and very low volume): remember that compromise is a key facet of being an engineer.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: November 30, 2016, 11:23:04 pm
content: I think Microsemi do some lower pin-count packages that may be worth a look

author: nctnico
author_rank: Super Contributor
timestamp: November 30, 2016, 11:26:27 pm
content: Quote from: MattHollands on November 28, 2016, 11:27:08 pmActually it is better not to infer memory primitives directly. Just let the synthesizer work it out and check afterwards. In some cases you may need to chance your code a bit (for example using registered memory) to allow the synthesizer to choose between the various kinds of ram.

author: MattHollands
author_rank: Frequent Contributor
timestamp: November 30, 2016, 11:30:06 pm
content: Quote from: nctnico on November 30, 2016, 11:26:27 pmThe reason i am using the inferred memory is because I knew I would be switching to a smaller FPGA and would use external RAM. This way I have already developed a memory interface. Having said that, I am actaully probably going to change my memory structure so will probably let the synthesizer infer it.FYI Lattice have agreed to send me an iCE5LP4K dev board which has the chip in 36-bga (2x2mm) which is pretty sweet! Therefore I can at least put the system onto a small fpga and then maybe think about getting my own made