What are my options for a product idea with BGA breakout and DDR3 layout? - Page 1
Forum section: electronics / projects

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 18, 2017, 12:17:42 pm
content: Hi,I am a soon to graduate Electronic Engineering MEng Student. I have an idea to bring up to date and improve an existing product idea with modern components and design tools etc.I am at the stage of prototyping with development boards and doing initial component selection for the main constituent parts i.e. ADC, DAC, FPGA/CPU/SoC. But after having completed and verified my initial soft-hardware and software design and selection I would like to move into small quantity prototyping of a design with a view to progressing towards amarketable test and measurement product.The FPGA/CPU/SoC will be in aBGApackage and have on boardDDR3, there will also be a 7" to 10"displaywith as high a resolution as is likely to be sensible. What are my options when it comes to designing a PCB or having a PCB designed?I am based in the South East of England.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 18, 2017, 12:22:03 pm
content: Start with a devboard that already has most/all of the hardware on it. That way you can develop on a known-good hardware platform before moving to something more customised.

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 18, 2017, 01:17:53 pm
content: Got one already. Designed a little DAC/ADC board which I am still to solder. But from then I can slowly progress with the soft-hardware design and software design until I have implemented all the features I want or run out of room in the FPGA.The main reasoning behind my question was I wanted to decide how to go about getting it made when I have completed the task of implementing the main features inside the SoC.I don't have much capital at the moment but, since it is an existing idea I am concerned that whilst I wait to earn more money I will miss the opportunity to get a product designed and out in the market before a competitive product is created.

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 19, 2017, 08:49:16 am
content: When it comes to PCB design, what software should I be evaluating?

author: Rerouter
author_rank: Super Contributor
timestamp: September 19, 2017, 08:51:26 am
content: As your working with DDR3, any package you look at will need to support trace meandering. Personally i use Kicad,

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 19, 2017, 09:04:57 am
content: Wow! Someone's been pumping cash into Kicad since I last looked!

author: jbb
author_rank: Super Contributor
timestamp: September 19, 2017, 10:51:01 am
content: BGA breakout is quite time consuming the first few times. I've never done DDR3 but I hear it too can be quite time consuming.How about buying a proper industrial SoC module to place on your application board? (Look for one with some kind of EMC certification track record.) It could get you to market much faster and cheaper (at the expense of slightly greater cost per unit). If the product sells well, then you can think again about making a second revision with DIY SoC and DDR.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 19, 2017, 11:05:59 am
content: Could you do it with a RasPi compute module, or something similar ?If you want to get something to market quickly and minimise up-front cost that's probably the way to go, at least until you establish a market and sell enough to fund a more custom solution.Also, if there are any existing devboards that are close to what you need, maybe contact the manufacturers to see if they are prepared to do a customised version.

author: Ice-Tea
author_rank: Super Contributor
timestamp: September 19, 2017, 11:21:23 am
content: Going to toss a few numbers your way, so you get a sense of magnitude.Designing a PCB such as that one (without schematics, startup, debugging etc) is going to be 2-4 manweeks (depending on how complicated it turns out I suppose). If you hire a decent local guy, that will set you back somewhere like 4-10k€.To have it produced, you're looking at about 500€ setup costs and as you are looking at a small volume first run, a few pretty expensive first boards. You're probably not getting off below 1k for that first run.Just so you know what you're getting in to

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 19, 2017, 11:41:52 am
content: Quote from: Ice-Tea on September 19, 2017, 11:21:23 amI'd say those initial costs are on the low side - assume you'll need at least 3 spins of the board, and you're probably outside of the design rules/layer count for pooled services, so figure maybe £3-500 per spin for a few bare PCBs. if you want them assembled by a subcontractor you'll be lucky to get much change out of £1k per spinAnd once you're ready for production you have all the up-front parts and PCB costs.As you have minimal experience of production, there will be lots of unexpected costs.Unless you have at least £10K to spend I doubt you stand any chance of getting this to production, and that's with you doing most of it yourself. Double or triple that if you need to hire skilled people.You should definitely spend some serious time on researching possible ready-made solutions or something that can be adapted.

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 19, 2017, 11:52:37 am
content: Could do it with a RasPi compute module or other processor board and seperate FPGA, however I can imagine there is a potential advantage to keeping the high speed FPGA to Processor communication inside the SoC.Given ADC throughput is SPI at upwards of 24MHz for desired sample rate, it could be possible that I just continue to use the development board I have chosen paying care and attention to the wires to the ADC.I appreciate there is a trade-off between time to market and the performance of the end product. I can imagine using a faster/better processor could reduce the need for an FPGA, however to my mind, the correct design approach is to take advantage of the parallel nature of an FPGA and break the matrix computations down into a parallel hardware implementation, taking advantage of DSP blocks/slices. Worst case, I can always take my verilog implementation and the relevant C code and move it into a more capable FPGA/CPU/SoC, if I was unable to achieve the desired resolution/speed trade-off.Thanks for the numbers, I had already decided to rule out having someone else design the board, given it could cost as much as £20,000.I could see it taking a few months for each stage.Yes Mike, you're probably right. £10K might get me a few iterations of prototypes.I will have a better look at ready made solutions, even if I have to compromise sample rate initially it would get my feet off the ground more quickly and at lower cost.

author: Ice-Tea
author_rank: Super Contributor
timestamp: September 19, 2017, 12:17:40 pm
content: Quote from: mikeselectricstuff on September 19, 2017, 11:41:52 amJust to be clear: the 4-10k were indicative of only the manhours to be spent. Our estimates for the cost of a single spin are alligbed, or so it seems

author: suicidaleggroll
author_rank: Super Contributor
timestamp: September 19, 2017, 04:18:26 pm
content: Quote from: InterestedTom on September 19, 2017, 11:52:37 amWhen people are talking about ready-made solutions, I don't think they're talking about all-in-one devices that might kinda do something similar to what you're suggesting. They're talking about modules that have JUST the FPGA and DDR3 on them, that are designed to drop straight onto a carrier board where you would have all of your other circuitry. Eg:https://www.opalkelly.com/products/xem7310/, or:http://zedboard.org/product/picozedIt lets you get around the requirement of having to design a 6-8 layer impedance-controlled board with a high labor and high manufacturing cost. Instead you can do a simple 2-4 layer with your supporting circuitry and connectors for the processing module, which just drops on.That said, I'm a little confused why you need DDR3 when you're only dealing with a 24 MHz SPI. At that rate even SRAM can get you around a second of buffering time, and SDRAM could get you over a minute, with no trace length or impedance matching requirements on a relatively simple 4-layer board.

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 19, 2017, 06:31:07 pm
content: I have bought a development board already based around a Cyclone V SoC.The DDR3 is for the processor running the OS, not the signal data...There are analog devices evaluation boards that plug together to do this kind of thing but together would cost £400 excluding VAT. I would then be tied in to using a Blackfin, I suspect that might increase the software development cost too.I guess I could continue using the development board, since it is cheaper than the actual SoC on in small quantities, and solder up my ADC and DAC board.

author: suicidaleggroll
author_rank: Super Contributor
timestamp: September 19, 2017, 07:01:25 pm
content: Quote from: InterestedTom on September 19, 2017, 06:31:07 pmNobody is saying you have to get rid of the SoC or switch to a different processor. There are drop-in modules based around the Cyclone V as well:https://www.opalkelly.com/products/zem5310/https://www.opalkelly.com/products/fomd-acv/These aren't dev boards, as you said you already have a dev board. These are SOMs (system-on-module), they are designed to be integrated into the final product. You'd just design a carrier board for it that includes your ADC/DAC and whatever else you need then drop the SOM into it. For small quantities this saves a LOT of time and money as it means you don't have to design your own controlled impedance high layer count board for the chip, the hard part is already done for you, you just design the much simpler carrier board to connect up to it.

author: rstofer
author_rank: Super Contributor
timestamp: September 19, 2017, 09:15:05 pm
content: As mentioned in several posts above, you buy an FPGA module with SDRAM and a high pinout. Then you design the rest of your circuit on a motherboard. Plug in the FPGA board and you are good to go.https://www.ztex.de/usb-fpga-2/usb-fpga-2.04.e.htmlThis board costs $125 but it's made in Germany so there may be advantages. You wouldn't use this board when you start cranking out hundreds of your product but it would be good enough for the first couple of dozen while you test the market and refine the design.Creating an FPGA board is a non-trivial undertaking, particularly when you start interfacing with DDR memory.I have one of the smaller boards (2.01b) and I bought the Debug Board for experimenting:https://www.ztex.de/usb-fpga-2/debug.e.html

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 20, 2017, 07:14:49 am
content: OK, starting to appreciate what everyone is suggesting, altera list some pretty cost effective SOMs on their website, I suppose I should also check whether an equivalent xilinx part is affordable.Thanks for all the advice.

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 19, 2018, 03:29:58 pm
content: Quote from: mikeselectricstuff on September 19, 2017, 11:05:59 amThis comment must have lodged in my subconscious because that is what I am trying to do now: design a board for the RasPi compute module 3, so that I can use that as an audio analyzer. This idea is probably more within my budget.

author: Marco
author_rank: Super Contributor
timestamp: September 19, 2018, 03:45:39 pm
content: There's also the Arduzynq, 99 Euros for a Zynq board is pretty low. Trenz electronics also has boards for the Ultrascale Zynqs if you need it, more expensive but still decently priced.

author: NorthGuy
author_rank: Super Contributor
timestamp: September 19, 2018, 04:09:34 pm
content: I'd say 24 MHz is slow. No need to develop your board right away. You can get by with pre-made things to prototype something. It is only make sense to design a PCB once you have a prototype ready.

author: nctnico
author_rank: Super Contributor
timestamp: September 19, 2018, 04:30:40 pm
content: Quote from: InterestedTom on September 18, 2017, 12:17:42 pmIf your volumes is a couple of hundred then a system-on-module will be expensive. Another problem is that the module may not be available for a long time. When it comes to the SOC itself you can choose between TI's OMAP and NXP's iMX SoCs because these have long life for industrial and automotive use.Designing a board takes time but if you start with a development board for which you have the layouts and schematics you can copy the relevant parts of that into your own design. Also make sure to read the PCB layout guides which come with the SOC.

author: InterestedTom
author_rank: Regular Contributor
timestamp: September 19, 2018, 04:38:16 pm
content: Quote from: NorthGuy on September 19, 2018, 04:09:34 pmYes, data rate has reduced since then too. I will get the development kit for the raspberry pi compute module 3 and use a simple PCB for the CODEC and analog bits.