News for hackers. Stuff that matters.
Re:Developer Preview – EC2 Instances with Programmable Hardware by wyldfire on Wednesday November 30, 2016 @12:19PM (#13072578)
> 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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by baybal2 on Wednesday November 30, 2016 @01:15PM (#13073129)
>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

Re:Developer Preview – EC2 Instances with Programmable Hardware by toomuchtodo on Wednesday November 30, 2016 @01:26PM (#13073235)
I guess the online distribution of FPGA configurations was an eventual event?
Re:Developer Preview – EC2 Instances with Programmable Hardware by alfalfasprout on Wednesday November 30, 2016 @03:53PM (#13074583)
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.
Re:Developer Preview – EC2 Instances with Programmable Hardware by problems on Wednesday November 30, 2016 @04:27PM (#13074839)
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?
Re:Developer Preview – EC2 Instances with Programmable Hardware by alexforencich on Friday December 02, 2016 @04:30PM (#13092461)
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.
Re:Developer Preview – EC2 Instances with Programmable Hardware by baybal2 on Wednesday November 30, 2016 @05:54PM (#13075451)
there are "encrypted" hdls, but encrypted no more than dvd discs. Find a right irc channel and ask for keys
Re:Developer Preview – EC2 Instances with Programmable Hardware by tener on Wednesday November 30, 2016 @02:42PM (#13073949)
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.
Re:Developer Preview – EC2 Instances with Programmable Hardware by duaneb on Wednesday November 30, 2016 @08:04PM (#13076153)
> 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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by ChargingWookie on Wednesday November 30, 2016 @01:57PM (#13073553)
Yeah this is incredible for fpga users. There is now a market for freelance fpga developers
Re:Developer Preview – EC2 Instances with Programmable Hardware by CalChris on Wednesday November 30, 2016 @02:19PM (#13073751)
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).

Re:Developer Preview – EC2 Instances with Programmable Hardware by aseipp on Wednesday November 30, 2016 @03:03PM (#13074197)
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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by PeCaN on Thursday December 01, 2016 @12:03AM (#13077299)
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.
Re:Developer Preview – EC2 Instances with Programmable Hardware by duskwuff on Wednesday November 30, 2016 @05:57PM (#13075474)
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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by jeffbarr on Wednesday November 30, 2016 @06:27PM (#13075642)
(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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by duskwuff on Wednesday November 30, 2016 @08:29PM (#13076331)
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.
Re:Developer Preview – EC2 Instances with Programmable Hardware by gricardo99 on Thursday December 01, 2016 @06:57PM (#13084766)
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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by corysama on Wednesday November 30, 2016 @09:18PM (#13076647)
Any recommendations on an entry-level development board?
Re:Developer Preview – EC2 Instances with Programmable Hardware by duskwuff on Thursday December 01, 2016 @06:13PM (#13084517)
Digilent Arty [1]. XC7A35T, 256MB RAM, Ethernet, $99.

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

Re:Developer Preview – EC2 Instances with Programmable Hardware by davrosthedalek on Wednesday November 30, 2016 @11:01PM (#13077084)
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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by wyldfire on Wednesday November 30, 2016 @02:52PM (#13074075)
> 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?

Re:Developer Preview – EC2 Instances with Programmable Hardware by CalChris on Wednesday November 30, 2016 @03:02PM (#13074186)
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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by aseipp on Wednesday November 30, 2016 @03:13PM (#13074287)
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).

Re:Developer Preview – EC2 Instances with Programmable Hardware by floatboth on Wednesday November 30, 2016 @03:21PM (#13074354)
> 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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by perlgeek on Wednesday November 30, 2016 @12:32PM (#13072704)
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.
Re:Developer Preview – EC2 Instances with Programmable Hardware by wmf on Wednesday November 30, 2016 @02:12PM (#13073680)
For any cryptocurrency that's profitably mineable on AWS the difficulty immediately increases to the point that it's no longer profitable.
Re:Developer Preview – EC2 Instances with Programmable Hardware by cookiecaper on Wednesday November 30, 2016 @05:13PM (#13075202)
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.

Re:Developer Preview – EC2 Instances with Programmable Hardware by tener on Wednesday November 30, 2016 @02:43PM (#13073965)
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.
Re:Developer Preview – EC2 Instances with Programmable Hardware by nkkar on Wednesday November 30, 2016 @03:05PM (#13074217)
Would this mean that the currency would never fluctuate below that price point?
Re:Developer Preview – EC2 Instances with Programmable Hardware by ThrustVectoring on Wednesday November 30, 2016 @03:47PM (#13074547)
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.
Re:Developer Preview – EC2 Instances with Programmable Hardware by nkkar on Thursday December 01, 2016 @11:27AM (#13080581)
Ah, yes, that makes sense, thank you!
Re:Developer Preview – EC2 Instances with Programmable Hardware by ktta on Wednesday November 30, 2016 @03:27PM (#13074399)
not if you have a free-fall dump going on. This happens when investors lose hope in the long term future
Re:Developer Preview – EC2 Instances with Programmable Hardware by mi100hael on Wednesday November 30, 2016 @01:42PM (#13073424)
> 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.