Hacker News new | ask | show | jobs
by wyldfire 3493 days ago
> Today we are launching a developer preview of the new F1 instance. In addition to building applications and services for your own use, you will be able to package them up for sale and reuse in AWS Marketplace.

Wow. An app store for FPGA IPs and the infrastructure to enable anyone to use it. That's really cool.

3 comments

>Wow. An app store for FPGA IPs

I see people making video transcoder instances on day 1, and MPEGLA bankrupting Amazoners with lawsuits on day 2

I guess the online distribution of FPGA configurations was an eventual event?
This was already a thing. Plenty of marketplaces exist for FPGA IPs. It's just not that well known because high end FGPAs run $7k+ and complex IP cores can be $20k+ for a license.
So if you were to get a cheap license via a service like this, do you get access to the VHDL or equivalent or could you extract it in some way?
Probably not. Depends on how the core is distributed. Either you'll get HDL or netlists, and they may or may not be encrypted. Obviously the synthesis software has to decrypt it to use it, so like all defective by design DRM it doesn't make it impossible to get at the code, it just makes it more difficult. However, a netlist is just a schematic, so you would have to 'decompile' that back to HDL (and lose the names, comments, etc) if you want to modify it. It's also possible that you would only get the binary FPGA configuration file (this marketplace seems like one more for complete appliances and not IP cores) so you would have to back a netlist out of that somehow and then reverse-engineer it from there.
there are "encrypted" hdls, but encrypted no more than dvd discs. Find a right irc channel and ask for keys
Pretty sure the AWS EULA makes you responsible for violating any IPs. I didn't read it, but if it doesn't say so already then their lawyers are crap.
> I see people making video transcoder instances on day 1, and MPEGLA bankrupting Amazoners with lawsuits on day 2

Only if they distribute it through amazon. Just put the code up in a torrent; anyone can run it without MPEGLA knowing.

Yeah this is incredible for fpga users. There is now a market for freelance fpga developers
Yes this is cool if you're already using FPGAs and yeah, there will be a market for FPGA designers.

But I also think this is FPGAs for the Rest of Us. Suddenly, FPGAs are available without having to buy some development board from Xilinx, install a toolchain, use said (shitty) toolchain ...

Me, I was thinking of FPGAs as being something I'd use down the road a few years, eventually, etc. But instead, I'm looking at this right now. This morning. Waiting for the damn 404 to go away on:

https://github.com/aws/aws-fpga

This reduces the barrier to entry. It also reduces the transaction cost (h/t Ronald Coase).

I think this is going to be well outside the pricing range for most people to use for an extended period of time, which is necessary for learning a lot. Depends on the specs of the developer AMI, too, which comes with Vivado and everything. But synthesis can be insanely CPU intensive for large designs, so who knows how they'll spec it. It might cost more due to including a Vivado license. And you'll need to do extensive amounts of testing, no matter what you're doing, so be prepared to synthesize and test on "Real World" F1 instances, on top of simulating, testing, etc.

If you truly want to get started with FPGAs, you can do it on a small chip, with an open source Verilog toolchain, and open source place/route/upload. Textual source code -> hardware upload, open source. Today, for like $50! I think this is way better as a tool for educational purposes, and a lot cheaper. Also, you don't have to deal with a giant bundle of EDA crapware.

What you want is Project IceStorm, the open source Verilog flow for iCE40 FPGAs: http://www.clifford.at/icestorm/ -- you install 3 tools (Yosys, Arachne P&R, IceStorm) and you're ready to go. It's all open source, works well, and the code is all really good, too.

You can get an iCE40 HX8k breakout board for $42, and it has ~8,000 LUTs. Sure, it's small, but fully open source can't be beaten and that's cheap for learning: http://www.latticestore.com/products/tabid/417/categoryid/59...

I think this is a much better route for learning how to program FPGAs, personally, with high quality software and cheap hardware -- just supplement it with some Verilog/VHDL books or so. There are pretty decent Verilog tutorials on places like https://www.nandland.com or https://embeddedmicro.com/tutorials/beginning-electronics for example.

You would think after 20+ years of FPGAs, commercial FPGA tools would be more usable and more productive than something a couple guys hacked together from reverse-engineering a small FPGA. But that hasn't been my (limited) experience. Hats off to the IceStorm team.
I would not count on these instances being useful for development.

The parts Amazon is using cost somewhere between $30K and $50K each. Hourly costs will be substantial -- it will likely be cheaper to buy an entry-level development board than to spin up an F1 instance every time you want to run your design.

(post author here)

You can do all of the design and simulation on any EC2 instance with enough memory and cores. You don't have to run the dev toolchain on the target instance type.

You can do some simulation on a computer, but it's much slower than real time, even for a small design. Prototyping PCIe communications is also difficult without real hardware.
Hi Jeff, Point of clarification for this: In instances with more than one FPGA, dedicated PCIe fabric allows the FPGAs to share the same memory address space and to communicate with each other across a PCIe Fabric at up to 12 Gbps in each direction.

Does that mean you can have FPGAs running on multiple F1 instances connected via the PCIe Fabric? It's not clear if this means FPGAs within a single F1 instance, or between multiple F1 instances.

Any recommendations on an entry-level development board?
Digilent Arty [1]. XC7A35T, 256MB RAM, Ethernet, $99.

[1]: http://store.digilentinc.com/arty-board-artix-7-fpga-develop...

If you are in the academic sector, pretty much everybody has an university program where one can get hardware/software for reduced prices or as a donation.

Personally, I started dabbling with a zynq zedboard. FPGA+Hard arm cores, many stuff on board + extension capabilities.

> install a toolchain, use said (shitty) toolchain ...

Did I miss some details? Don't you still need those shitty toolchains to do design/simulation before you'd deploy it?

Deploy? No. With the F1 instance, I can sell it without said toolchains. I need them to develop but not to deploy.

Edit: This isn't magic. This is availability. FPGA development remains hard.

It's not that simple, I think. FPGA development is extremely labor intensive, both in design and especially in verification and testing. Large scale designs increase both the time needed for synthesis, verification labor, and testing, by a lot. If you don't have extremely large scale or resource intensive designs, this probably isn't for you anyway. Making the FPGAs more readily available is good for a lot of reasons, and opens the market to some new stuff, but it doesn't necessarily dramatically change the true costs of actually developing the designs in the first place.

Basically, you're not going to deploy fabric live to your customers without having extensively tested it on your real world, production hardware setup, even if it's just a separate lab with identical hardware. That's going to be going on throughout the entire development lifecycle, and for anything remotely complex you can expect that to be a long process. You're going to be using that F1 server a lot for the development, so you have to factor in that cost. If you're a solo/small place you can probably amortize it somewhat thanks to The Cloud, however (reserved instances, on demand batching, etc).

> buy some development board from Xilinx, install a toolchain, use said (shitty) toolchain

You can start only with the toolchain's simulator, and then get a board from ebay for 50 bucks.

I guess this will be a game changer for FPGA-mineable digital currencies. Maybe not for Bitcoin, because people have invested heavily into dedicated mining hardware, but I'm interested to see what it'll do for the smaller altcoins.
For any cryptocurrency that's profitably mineable on AWS the difficulty immediately increases to the point that it's no longer profitable.
Yes, this IMO is the biggest flaw in bitcoin's design. It makes miners impossible to commoditize. As soon as a new ASIC becomes widely available, it defeats itself and becomes useless at the next difficulty increase.

Consumer ASICs stopped being a thing for this reason. Now we have mega-secret custom hardware that can't be shared without destroying the investment put into their development.

I don't think Satoshi's intention was that only a handful of massive investors with their own proprietary chipsets would be able to mine, but that's the natural consequence of the difficulty mechanism, and it really undermines bitcoin's core principle of decentralization.

Perhaps not for the entire time, but bear in mind that the prices of cryptocurrencies fluctuate and you can spin up the VMs when it is profitable and shut them down when it isn't.
Would this mean that the currency would never fluctuate below that price point?
It's a price ceiling, not a floor. If prices go up high enough, it's worth turning on EC2 instances and paying for them with the mined cryptocurrency until prices fall. There's some wiggle room above the break-even point, since there is some delay between turning on miners receiving USD, and the miner has to eat that risk.
Ah, yes, that makes sense, thank you!
not if you have a free-fall dump going on. This happens when investors lose hope in the long term future
> Maybe not for Bitcoin, because people have invested heavily into dedicated mining hardware

The thing is, it seems like people always invest heavily into dedicated hardware when using FPGAs. I'll be interested to see what people actually end up using this service for.