AMD Xilinx Kria KR260 Robotics Kit
servethehome.com
servethehome.com
My vision is: fpga world is now just like microcontrollers were in late 90's: a sea of proprietary inefficient tools. We need the Arduino equivalent for fpga: extremely easy to use and fully FLOSS.
Not that I don't wish to have tooling available for me to modify, but I also understand this is thousand years of man work right there...
I don't doubt your thousand hour quote. But at the same time I'd say there is probably 10k years of garbage and cruft built in the current toolsets.
FPGAs need an LLVM moment. Right now, the current set of HDLs available are terribly unergonomic and pretty much re-implemented for each FPGA provider. We are roughly at the K&R C era for FPGAs. To get out of that, we need good middleware and open standards.
Once that happens, I think we can finally start making some real higher level hardware description languages. FPGA programing, in particular, seems like it would be fairly amenable to functional programming concepts.
The same could be said about highly efficient optimizing compilers and kernels. Nevertheless, we have GCC and Linux.
Synthesis, place and route are all much harder than simulation, so I don't think tools like vivado would suddenly be better if open sourced. Also I think vivado is great, but I seem to be in the minority on that one, but I guess it's my perspective as a HW designer dealing with HW tools all my life, vivado is a breath of fresh air.
[1] https://ubuntu.com/download [2] https://ubuntu.com/download/amd-xilinx
What are the real reasons?
trash human beings? patent trolls? etc?
yes, I would like to know.
Ok, so that's the technical reasoning. On the business side, FPGA companies (like basically every ASIC company today) produce 1 design and disable a bunch of stuff for market segmentation. VU7P? Well that's physically the same as the VU5P but the software limits what you can compile on to it. So to enable open source interfaces they'd need to add an entire layer of DRM ontop of the current solutions. You can argue about the ethics, but it is what it is. Also, marketing drove Altera and Xilinx. Don't get any ideas that these were silicon valley engineer led start ups. It was a marketing game, you see that in their leadership and I'd argue you saw it in their share price growth too.
What did I expect?
If you think either one is past it's prime, what companies would you recommend for FPGA designs? Lattice?
Sure, there'll be some revenue from prototypes, from standards settling, but really it's not a sustained volume, it's cyclical.
There's plenty to debate about where the boundary should be, but an almost universal constant is that ecosystems ossify around interfaces, so hardware companies will generally see giving up control as a borderline existential threat unless they're in the business of fishing pennies out of the gutter for margins.
I don't like that these proprietary tools are thrashed also, tools like Vivado are immensely complicated and surprisingly easy to use compared with other hardware tools. ASIC synthesis would make your cry compared with how easy Vivado makes it for FPGAs. Sure its not perfect, but it is free to use for many devices, and includes simulation, debug, SDKs, etc.
If we compare with a raspberry pi (ignoring supply issues for the moment), they seem to cost upwards of $100, have less online support, sometimes require weird linux hacks, sometimes require special tooling for a RTOS.
The positives seem to be more ports, better specs, and more reliability in exchange. But does your typical robot project really need all that?
And if you're at that point, why not a mini ITX style board, or a modern cellphone with I/O breakouts? Even a cheap laptop I imagine could serve really well depending on what you're doing.
I guess my main question is what's the use case/market for this?
They aren't meant to be, nor would Xilinx want to be in the business of, producing these at scale.
They want to sell the core-chip, dev-boards make it easier to assess without actually exposing any business-side ips.
As for what a typical robotics project needs, the Zynq line is far, far nicer to program and certify than the corresponding alternatives from NXP and especially TI (at least once you've automated away the pain of xilinix' toolchain), plus you get a decent FPGA on the side and ROS support. Laptops and cell phones won't do any of that and couldn't be certified, regardless.
So yes, this is very much something people will want.
bldc motor control is a fine example. yes, you can buy a controller and program it from linux, but if you want to integrate current feedback in some novel way you should really be doing that in hardware.
These kits from AMD Xilinx, i.e. Kria KV260 and Kria KR260, are very cheap in comparison with the other development systems that include an FPGA so powerful.
Their main defect is that Xilinx makes extremely few of them, so if you want to buy one you might have to wait many months or even years.
For projects that would not benefit much from a FPGA, a cheaper SBC or even just a microcontroller board of $10 or $20 would be a better choice.
However, if you have a clever idea that could be implemented with an FPGA, these new development kits are better than most FPGA boards that have been available previously.
Their main alternative are various boards with Xilinx Artix-7 FPGAs. There are boards in the same price range of a few hundred $, with FPGAs of similar size to those of the Kria kits. However the older Artix-7 FPGAs are significantly slower than the UltraScale+ used in the Kria kits, and they also do not have the 64-bit ARM cores included in UltraScale+ (which has a quadruple Cortex-A53 running Linux and also two 32-bit Cortex-R5F ARM cores, for hard real-time applications).
They also probably serve as gateway products, so someone might buy this kit for a hobby project and get familiar with Xilinx's ecosystem, leading them to then have a bias towards Xilinx for when they're in the workplace having to decide on an FPGA.
That said, there are sometimes modules like those mentioned in the article which are intended for production use in volume, though generally these are aimed at a segment of the market where there's about the right volume that saving the development costs of putting the chip onto the custom board direct (e.g. the PCB layout connecting the SoC to the DDR memory or getting a prototype board with enough layers to bring out all the signals on the chip) is worth the extra markup.
What we call ARM SBCs are actually electronics development boards which ironically have been used in production as is.
I installed it recently for a new project but have not got around to testing it yet.