Live data from Hacker News

How FPGAs work, and why people will buy them (2013)

embeddedrelated.com

31–40 of 119 posts

Re: How FPGAs work, and why people will buy them (2013)

#31

I wonder if FPGAs would make good crypto devices, e.g. for disk encryption? If you implement AES on an FPGA, is it fast enough to keep up with at least a SATA 3 SSD?

Yes, they can do traditional cryptography pretty well (depending on the algorithm, of course.) AES-128 in an FPGA can encrypt a full 16-byte block every clock cycle when done right. With 100Mhz clock that's about 2.3Gbp/s, well within SATA 3 transfer speeds. You can achieve that with a last-last-gen FPGA that will cost you a couple bucks out of pocket, and it will use a fraction of the power/thermal footprint of any desktop/mobile processor that doesn't have AES support. Likewise, you can easily scale this up -- 10gig/s isn't even worth mentioning because it's trivial, so you can think closer to 40Gbp/s and beyond (which, today -- still not that impressive, I'm just giving you an idea.)

The thing is, if you're going to do ubiquitous encryption for something like your SATA link at scale, with a lot of units being sold -- you're better off just using a dedicated ASIC with a fixed algorithm, and your performance/power profile will skyrocket even further.

Re: How FPGAs work, and why people will buy them (2013)

#32
post #3
post #2

Nice article, but it's from 2013.

And to be fair, since then FPGAs have exploded in non ASIC prototyping use cases. They're even starting to be used for some consumer electronics.

I'm interested in seeing some examples of their use in consumer electronics. I think this article would be a lot more compelling if it had a section on "You've already bought one if you have a (hypothetically) Roomba vaccum/ Tesla Model S/ Thinkpad laptop/ Ubiquiti router." I'm pretty sure most of those don't have FPGAs, but would be curious to see a list of things which do. I am by no means a representative consumer, but I know there's an FPGA in my:

- Rigol oscilloscope

- National Instruments DAQ equipment

- Mecco laser cutter

- DJI drone

Any others where I might not have taken it apart and seen the big QFP with "Xilinx" or "Altera" on the circuit board would be interesting!

Re: How FPGAs work, and why people will buy them (2013)

#33
post #31

I wonder if FPGAs would make good crypto devices, e.g. for disk encryption? If you implement AES on an FPGA, is it fast enough to keep up with at least a SATA 3 SSD?

Yes, they can do traditional cryptography pretty well (depending on the algorithm, of course.) AES-128 in an FPGA can encrypt a full 16-byte block every clock cycle when done right. With 100Mhz clock that's about 2.3Gbp/s, well within SATA 3 transfer speeds. You can achieve that with a last-last-gen FPGA that will cost you a couple bucks out of pocket, and it will use a fraction of the power/thermal footprint of any…

Or maybe, if you're going to do ubiquitous encryption for something like your SATA link at scale, with a lot of units being sold, it would be nice to only update the FPGA firmware when the exploit will be found in the implementation of your crypto.

Re: How FPGAs work, and why people will buy them (2013)

#34

I've been considering getting an Arduino MKR Vidor 4000, which has an integrated FPGA and is fairly new. Does anyone here have any experience with this as a learning platform for FPGAs? (I already have reasonable experience with Arduino) Any suggestions for alternative boards/tech?

Whenever people ask this question, I'm the broken record with the same reply: start out with the cheapest kit possible, an Altera EP2C5TQ144 development board.

http://land-boards.com/blwiki/index.php?title=Cyclone_II_EP2...

They are old, and you need a slightly older version of the Altera Quartus software suite, but they are dirt cheap.

Go to eBay, search for EP2C5TQ144, and you can find development kits including programming cable starting at $3.50.

The FPGA is tiny, but it has quite a bit of RAM, a bunch of hardware multipliers, and a sufficient amount of logic gates to create your own 32-bit RISC processor if you feel like it. And because it is so tiny, full synthesis and place & route run will take a few minutes.

You may be tempted to go the open source route with a Lattice ICE40 FPGA. There are now tons of board out there with this FPGA, and being fully open source is great. But once you start debugging, you'll be without all the goodies that come with Altera, especially SignalTap (an on-chip synthesized logic analyzer.)

Chances are that you will never outgrow the EP2C5 FPGA because you'll lose interest and move on to something else. But if you outgrow it, all you've wasted was one latte at Starbucks.

Re: How FPGAs work, and why people will buy them (2013)

#35

Does anyone have experience with cloud-hosted FPGAs (e.g. on AWS), and if so would you recommend this platform to get started with FPGA programming?

You should not use AWS F1 instances if you are just starting out. They will burn a nice-sized hole in your wallet and the only thing you'll get in return is confusion and frustration as a beginner.

The AWS F1 devkit and APIs are largely oriented around making OpenCL-based designs easy and fast to develop (using Xilinx's "SDAccel" framework), but if you're just starting out you almost certainly want to start with classic RTL development using Verilog or whatnot. But "traditional" RTL development is substantially more involved. The documentation and the environment itself is largely oriented with the assumption you're a semi-experienced RTL developer and there's no real way around that part. (For example, even when using OpenCL, you're going to have a hell of a time optimizing anything without understanding real RTL/digital design principles.)

The F1 also has a non-trivial build system, meaning you have to do literally everything on AWS. Not a deal-breaker, but considering the equivalent of a "Hello World" will take you something like 30+ minutes to compile using something like a t2.2xlarge, and anything beyond that will be multi-hour (yes, this isn't an exaggeration) -- you probably don't want to just be spending money on every minor iteration.

I would suggest getting a cheap Lattice FPGA and using Project Icestorm, which is a free FOSS Verilog toolchain, in order to get started. This will cost you closer to $20 USD. https://www.latticesemi.com/icestick and http://www.clifford.at/icestorm/ -- there are allegedly good books on Verilog, but I'm afraid I can't recommend any myself...

After that, when you've got a big enough design where the monstrous VU9P -- the Xilinx chip used in the F1 -- is relevant to your interests, you'll know. :)

Source: I worked on moving/porting our designs to the AWS F1 (traditional RTL based stuff, not HLS/OpenCL -- and it was surprisingly challenging, up-to and including talking with AWS engineers directly to resolve bugs in their datacenters. And I was the software guy!)

Re: How FPGAs work, and why people will buy them (2013)

#36
post #3

Earlier quoted context omitted.

And to be fair, since then FPGAs have exploded in non ASIC prototyping use cases. They're even starting to be used for some consumer electronics.

I'm interested in seeing some examples of their use in consumer electronics. I think this article would be a lot more compelling if it had a section on "You've already bought one if you have a (hypothetically) Roomba vaccum/ Tesla Model S/ Thinkpad laptop/ Ubiquiti router." I'm pretty sure most of those don't have FPGAs, but would be curious to see a list of things which do. I am by no means a representative consumer…

The iPhone 7 has a iCE5LP4K. Those little CPLDs (which are full FPGAs these days, but fighting that terminology seems to be a losing battle) are in everything. Which is fair, they're fantastic power sequencing controllers and great for coalescing I2C and SPI buses into something more easily consumed by the application processor. Think an FPGA that constantly polls sensors, wrapping their chip specific format in a way that let's them filter on the CPLD and only wake up the application processor when something interesting happens.

Re: How FPGAs work, and why people will buy them (2013)

#37
post #33
post #31

Earlier quoted context omitted.

Yes, they can do traditional cryptography pretty well (depending on the algorithm, of course.) AES-128 in an FPGA can encrypt a full 16-byte block every clock cycle when done right. With 100Mhz clock that's about 2.3Gbp/s, well within SATA 3 transfer speeds. You can achieve that with a last-last-gen FPGA that will cost you a couple bucks out of pocket, and it will use a fraction of the power/thermal footprint of any…

Or maybe, if you're going to do ubiquitous encryption for something like your SATA link at scale, with a lot of units being sold, it would be nice to only update the FPGA firmware when the exploit will be found in the implementation of your crypto.

Hilariously, the update mechanism likely opens an attack vector.

Re: How FPGAs work, and why people will buy them (2013)

#38
post #5

> FPGAs are a programmable platform, but one designed by EEs for EEs rather than for programmers. This is the problem with FPGAs. Their performance and utility is not really disputed. Working with them is so un-ergonomic that it's frankly embarrassing. The EE world is notoriously closed/proprietary making it incredibly difficult to explore novelty or customize tooling to suit specific needs. The situation is reminisc…

> The EE world is notoriously closed/proprietary making it incredibly difficult to explore novelty or customize tooling to suit specific needs.

The EE world could use novelty tooling to increase the efficiency by which you create RTL. But that can easily be done today if you consider Verilog to be an intermediate representation.

So I think you're talking about the tooling on the steps to go from RTL to bitstream? What kind of novel tooling do you have in mind?

In Quartus and ISE, once you've set up the pin assignments, going from RTL to a bitstream is a matter of a single click.

Re: How FPGAs work, and why people will buy them (2013)

#39
post #34

I've been considering getting an Arduino MKR Vidor 4000, which has an integrated FPGA and is fairly new. Does anyone here have any experience with this as a learning platform for FPGAs? (I already have reasonable experience with Arduino) Any suggestions for alternative boards/tech?

Whenever people ask this question, I'm the broken record with the same reply: start out with the cheapest kit possible, an Altera EP2C5TQ144 development board. http://land-boards.com/blwiki/index.php?title=Cyclone_II_EP2... They are old, and you need a slightly older version of the Altera Quartus software suite, but they are dirt cheap. Go to eBay, search for EP2C5TQ144, and you can find development kits including pr…

I'd advise people to start with a Cypress PSoC MCU, they have the taste of FPGA, but have a lot of useful stuff for various projects, and I bought 10 MCUs for $10.

Re: How FPGAs work, and why people will buy them (2013)

#40
post #3

Earlier quoted context omitted.

And to be fair, since then FPGAs have exploded in non ASIC prototyping use cases. They're even starting to be used for some consumer electronics.

I'm interested in seeing some examples of their use in consumer electronics. I think this article would be a lot more compelling if it had a section on "You've already bought one if you have a (hypothetically) Roomba vaccum/ Tesla Model S/ Thinkpad laptop/ Ubiquiti router." I'm pretty sure most of those don't have FPGAs, but would be curious to see a list of things which do. I am by no means a representative consumer…

Digital audio, DACs in particular. From high-end dCS and Chord down to cheap (but fairly widely known and highly regarded) Singxer USB-I2S converters.
Post reply on HN