Electronic – arduino – Convert a digital design based on arduino into VHDL code

arduinodigital-logicfpgavhdl

I want your help on the following: I have implemented a design where I am using an Arduino Uno for master and three Arduino micro for slaves. The communication between them happens over bluetooth and I am using xbees. So the master sends data and base on this data only one slave responds while the others ignore the packet. Based on the answer, the master sends new and so on.

The design works fine but the cost is rather high since I want to continue with more production on this but right now the whole set costs around 120$.

Now that my design works with Arduino, I want to go into the next level and develop my own modules and chips. I do have experience with VHDL, Verilog and FPGAs but I do not know how this process can lead into fabrication and I could not find many relevant info on the web.

So I do have this plan and could you please correct me or suggest me something different if it is that wrong.

  1. I will write the code in VHDL. For the bluetooth, i can use one of the ips found on Opencores.com

  2. Test my design using FPGAs

  3. Maybe verify my code

  4. Get the netlist or something else and send it (where?) for fabrication.

Is that methodology correct or not?

I do not care with how long it should take, I just want to know if that procedure can lead into producing a chip that could replace each one of my Arduinos and xbees.

PS: would it be possible at first to write in VHDL the code for the master only (only the control logic) and test it using xbee for the bluetooth and proceed one step at a time?

EDIT:

Ok, I know that doing the above is inefficient. But, supposedly, that I want to create my own chip, is that the right procedure? – in terms of what is going on in the industry – do not comment on cost/time/whatever. Because I do have a gap in how these things work in industry.

Best Answer

Why do you want to use an FPGA? The requirements you've mentioned above don't give any hint of anything with sufficient processing and parallelism demand to suit an FPGA. In fact, Bluetooth is a massive endeavour in it's own right, even in software, I wouldn't fancy trying to build a Bluetooth stack in VHDL, even as an educational exercise!

If you want a cheaper Arduino, redesign the PCB to use a cheaper, but compatible, device, leave off the bits you don't need, integrate any new bits you'd like. Even that is a lot of work (especially if you want to create a fully-validated product which you can CE-mark, get FCC approval for, etc.).

And the next step might be to use an even cheaper micro, with all the extra software effort that that entails.

But I wouldn't consider an FPGA for this job.