Developing Arduino Shields with an FPGA - Page 1
Forum section: electronics / projects

author: thinlayer
author_rank: Contributor
timestamp: June 28, 2013, 12:43:03 am
content: Here's a campaign on IndieGoGo for an FPGA system that drives 3x UNO shields.http://igg.me/at/fpga-module/x/3703559A good system? Worth supporting?Your thoughts...?

author: Bored@Work
author_rank: Super Contributor
timestamp: June 28, 2013, 05:06:32 am
content: And the point of it? Ah, I see, attracting gullible Arduino who buy everything if you stick an Arduino to it. So if you are one of those, go ahead.

author: Unknown
author_rank: Unknown
timestamp: June 28, 2013, 05:13:17 am
content: FPGA on Arduino might be interesting to play with. The multiple shield board just seems silly.

author: c4757p
author_rank: Super Contributor
timestamp: June 28, 2013, 06:02:34 am
content: I like the little FPGA module. A lot of those don't include RAM - that's nice.As for the shield board - I don't mind the Arduino shield compatibility, but damn! That's one big PCB!Can't you think of a more graceful way to accomplish that? I mean, I guess you could construe that as a bonus - after a long session of developing and testing, you're going to get hungry! Why go to the kitchen when you can flip over your dev board and use it as a dinner plate? Is it dishwasher-safe? How about microwave? I hope it's lead-free!And one thing's digging at me as I read that - dammit, FPGA's not a buzzword.AnFPGA is a chip! You don't "use FPGA"...And...QuoteThat takes the cake for exaggeration.Nobody with IP to protect uses anything Arduino-related or uses a dev board in a final product. That's formakershobbyists.And lastly, this September? This September my ass...

author: kizzap
author_rank: Unknown
timestamp: June 28, 2013, 06:45:23 am
content: My favourite part is where they say that an arduino is an ASIC....-kizzap

author: Unknown
author_rank: Unknown
timestamp: June 28, 2013, 06:50:56 am
content: I think they were referring to the AVR chip, and that's true in a very broad way. They stated that it's designed to "churn code" and nothing else.For most applications, churning code is sufficient... that feels a bit misleading. It gives the impression that the AVR chip is limited, and for most applications, it's perfectly sufficient.

author: edavid
author_rank: Super Contributor
timestamp: June 28, 2013, 07:05:50 am
content: How many threads are you planning to start about your own project?https://www.eevblog.com/forum/microcontrollers/cheap-fpga-modulehttps://www.eevblog.com/forum/crowd-funded-projects/a-low-cost-fpga-module-that%27s-easy-to-use

author: thinlayer
author_rank: Contributor
timestamp: June 28, 2013, 10:33:22 am
content: Wow. Lots of negativity guys... and on a Friday night?Lots to answer here. Let me put in a single digest, answered in most recent->oldest:edavid- We're starting as many threads as we can. If this doesn't work out I have to go and get a job and work for a boss again. F*(K no to that. Apologies for the saturation; sure you understand.duskglow- Yes, totally refering to the AVR but TECHNICALLY you I think it should be ASSP - Application Specific Standard Product because it can be programmed with software. It's splitting hairs. What I mean was that you could put two AVR cores in an FPGA, then do $hit that exceeds their capabilities like custom instructions, etc. You can have nice DSP custom instructions in Nios2, no reason you can't have a bizarre single cycle mutlipler or weird exponential math things happening. Suits students who like that stuff in research projects, so I made a point of it. Obviously not a selling point for everyone. The AVR is specified. If you don't like a 16 bit counter... phoey... sure you can to extend it by eating up processing cycles, etc... but you can't just make the counter bit depth better like you can on FPGA.Of course you are right: churning code will do it for most applications. But implying 'most' not 'all' makes my point, there are some people that need the extra power and flexibility. I think people might also want to try an interesting platform, something different.c4757p- Thanks for the pos feedback. You are right, I can eat my lunch off the dev board, but hey - dev boards are meant to be big, so you can lay your stuff out nice and cleanly. It's a luxury being so big. We didn't think that stacking shields was the answer - you can do that already on std Arduino. And what if two of them are for the User Interface? You have to see them both. The idea is that when you get your project nice and working, you take the EagleCAD or Altium files and lay out a cheap 2 layer board with just the module, and the design files from any shields which may be OSHW. It can be tight, and small, and perfect for an off the shelf enclosure, or one you've 3d printed to match the curve of your but crack.I don't think that the IP protection is too far fetched for Arduino users, not everyone is an experienced EE, but anyone can have a solid idea that they need to protect. I do see where you are coming from though. BTW FPGA is top notch for IP protection because you can't reverse engineer a bitstream into code or design files. You can replay it, but you have the ATSHA204 to protect from that and we are working on a reference design you just copy (you change keys obviously). The chip is also a SOTA random number generator for heaps of purposes, a globally unique serial number, or you can use it to encrypt comms for fun/whatever. It's a useful chip.Also - seriously did you look at the f#%ing video? It's done dude. We're shipping them already, we're just putting together a big batch order to slap our vendors and board stuffers around for low pricing. September has a good margin for error. Far likely to be 3wks from 1 Aug. If things are going well mid Jul I'll order the manufacture early.duskglow- multiple shields is good because: a) everyone has a couple sitting around anyway, b) lets you use more than one as UI, c) means you can stack like 6 total before it gets too hard, more with those mayhew shields, d) have you seen the range of shields? there's >300 (shieldlist.org) and there are some really really good ones, and the kicker is all the source code is *usually done* by the guys selling them or Arduino - it's too easy, e) 2nd kicker - usually open source hardware you can use, f) it's a good shape and size for you to make your own shield to plug in - templates on our site.Bored@Work- It's not an Arduino. The point of it is that Arduino Shields are very common, very supported, they are cheap and there are some really good ones available. I have 44 on my other desk, some are brilliant. GPS, wifi, GPRS, accelerometers, NFC, nice audio ADCs... Arduino has a solid eco system and community and they make some fine accessories, even if the AVR is a little under-powered.I think that's everyone... did I miss anything :-)Brent.

author: c4757p
author_rank: Super Contributor
timestamp: June 28, 2013, 10:28:29 pm
content: Quote from: thinlayer on June 28, 2013, 10:33:22 amI don't usually care for large dev boards, but I see your point.QuoteAh. I bet the crypto nerds'll like that.QuoteWait - there's a fucking video?I only saw the clean version! Why do I get left out of everything around here...?No, I didn't have a chance to watch it. Sorry for for theassumption - a lot of people post their projects here and think they can have them produced in a very short amount of time when they're still putting them together at the kitchen table with tweezers. I saw you had a few made but didn't realize it was ready to be made in higher volume.

author: c4757p
author_rank: Super Contributor
timestamp: June 28, 2013, 10:31:22 pm
content: Quote from: thinlayer on June 28, 2013, 10:33:22 amDon't mind him, he's severely allergic to the -duino suffix. I just sneeze a bit...

author: Unknown
author_rank: Unknown
timestamp: June 28, 2013, 10:57:58 pm
content: I like it; but it's not something i'd support myself. But is there really a big market for pushing FPGA's to the Arduino crowd? I'm not so sure myself.

author: Corporate666
author_rank: Unknown
timestamp: June 29, 2013, 01:32:46 am
content: Quote from: c4757p on June 28, 2013, 06:02:34 amMy only contribution to this thread is to call for the banning of the idiotic word "maker" from the lexicon. It's like nails on a chalkboard to me. It seems the douchier the person and the more lame and unimaginative the contraption, the more the creator insists on applying the "maker" term to themselves.Kudos for starting a trend and striking it out. Can we burn anyone else using it at the stake?

author: Stonent
author_rank: Super Contributor
timestamp: June 29, 2013, 01:38:08 am
content: Quote from: Corporate666 on June 29, 2013, 01:32:46 amYeah, I sort of cringe at it because it's like a self proclaimed title. Like anyone can be a hobbyist, but I'm a "Maker".... Yeah it's just sort of like those guys who spend a lot of money to make it look like they buy their clothes from the second hand store and drink cheap beer and do everything "ironically"I mean I drink cheap beer but I'm not doing it to impress, I'm doing it for the alcohol to dollar ratio.

author: Stonent
author_rank: Super Contributor
timestamp: June 29, 2013, 01:43:02 am
content: Quote from: jucole on June 28, 2013, 10:57:58 pmI would be interested in a say something in the form factor of a Arduino Mega 2560 or Due with a FPGA or CPLD in the middle with official Arduino IDE support.You could maybe create a .h file to include to lock the pin configuration in a way to keep it compatible and maybe create an additional pin header that prevents you from taking an FPGA/CPLD shield and using it on a non compatible board.

author: thinlayer
author_rank: Contributor
timestamp: June 29, 2013, 11:58:08 am
content: "I like it; but it's not something i'd support myself. But is there really a big market for pushing FPGA's to the Arduino crowd? I'm not so sure myself."Trying to answer that question.The Module itself is targeted at professional engineers, as a convenience product. It saves you copy a reference design and dicking around for 3 months testing, bringing it up, making smoke, etc.The dev board is also targeted at professionals - FPGA peripherals can be hard work because the IP to put in the FPGA is sometimes expensive and painful - example USB slave and host. So easy just to use a shield and look at the Arduino code which is excellent documentation.But after I while I have come to realise the Arduino community is seriously huge. Massive. If you look at google adwords keyword tool, you should see how many searches there are around Arduino. So I think I'd be stupid not to try to engage them if they are open to FPGA.Maker is a douche of a word. What can you do? It's in common use now. I think calling ones self a hacker is a greater sin though.

author: thinlayer
author_rank: Contributor
timestamp: June 29, 2013, 11:59:48 am
content: BTW I'm sending our dev board to Dave for a mailbag segment. He can tear it down and criticise. I'll include some modules so he can feel the fibre of my fabric.he said it may take a while, but I'm going to hassle him to do it fast - before the campaign ends.

author: Jon Chandler
author_rank: Frequent Contributor
timestamp: June 29, 2013, 12:34:09 pm
content: Quote from: thinlayer on June 29, 2013, 11:59:48 amWell, you have some balls I'd say. Start four different threads in the forum (so nobody can really follow any of it) and then you're going to hassle Dave to do a review quickly to support your time frame. Anything else we can do to serve you?

author: Unknown
author_rank: Unknown
timestamp: June 29, 2013, 03:58:46 pm
content: If he won't let much larger companies than you see the reviews before they go live, what makes you think he'll do your mailbag fast just because you hassle him to do it?I'm not saying he won't, but if I were in your shoes, I would wait patiently and not hassle him. Dave does not seem the type to respond well to pressure.

author: free_electron
author_rank: Super Contributor
timestamp: June 29, 2013, 09:25:45 pm
content: Quote from: duskglow on June 28, 2013, 06:50:56 amNo it aint. An ASIC is a chip,designed to do 1 thing and 1 thing only. Furthermore an ASIC is not a ailable to the unwashed masses. It is custom built for 1 customer.An ASSP is built by an ic maker to be sold to multiple buyers. Volume buyers. You dont stand a chance getting a hold of one if you are only going to buy a few thousand.ASIC Application Specific Integrated CircuitASSP application specific standard product.The avr is just a microcontroller. Has nothing to do with asic or assp.

author: free_electron
author_rank: Super Contributor
timestamp: June 29, 2013, 09:30:52 pm
content: Quote from: thinlayer on June 28, 2013, 10:33:22 amPermit me to quitly smile at that one...

author: thinlayer
author_rank: Contributor
timestamp: July 05, 2013, 11:19:05 pm
content: Duskglow - I didn't mean I'd be agressive, I know he'll publish what he wants as well. I wouldn't send it if I didn't think he's like it. I don't know Dave too well, I met him when he was working for Altium, but I know he's a nice guy and likes to help out if he can.Jon Chandler - I started two, not four. Wasn't sure which forums get read. Sorry.free_eletron - why are you smiling? if you want you can shave a micro, or any flash device and read the code with special tools. there are sideband attacks, there are brute force attacks. You can put tamper protection code in a micro but not everyone has it (ST do for instance) but there going to be attacks - like stopping the internal clock with temperature (I think?) while you read.the beauty of programmable logic, is that if you read the raw machine binary - you can't reverse engineer to source. computationally infeasable. You can use that binary to duplicate the product after you've copied the hardware design, so you have to use a challange response algorithm that tells the softwrae that the hardware is licenced. this is usually a hash algo where you transmit something in clear, hash it with a secret key, send it back. if the two hashes agree - ie one from security device and one inside fpga, then you know they were hashed with the same hidden key - voila, hardware is real licensed.

author: free_electron
author_rank: Super Contributor
timestamp: July 06, 2013, 11:08:28 am
content: The bitstream for an fpga sits in an external eeprom. Simply read the eeprom and decompile it to a netlist.There's chinese outfits that specialise in that ...

author: thinlayer
author_rank: Contributor
timestamp: July 11, 2013, 04:47:17 am
content: On a micro you go from machine code to ASM with a bit of effort, and ASM is a source code that you can modify and develop. I don't agree with you about reverse engineering an FPGA bitstream. Doesn't work regardless of how many Chinese you throw at it. They are talking about counterfeiting an FPGA design, not extracting the source code.The best you can do with an FPGA netlist is replay it back into counterfeit hardware, which is defeated with a challenge response algorithm that uses the ATSHA204 to hash a message with it's hidden key.