Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

New submitter hamster_nz writes "Hot topics for the maker community are things such as embedded vision, Bitcoin mining, autonomous vehicle control, Arduino, Open Hardware, software defined radio, small ARM/Linux boards and reconfigurable computing. A current Kickstarter project, LOGi FPGA, is touching all these bases. Funding has been reached after just a day, and Kicktraq currently has it projected to reach over $133,000. As a long time FPGA enthusiast I'm very interested to see what will happen when a thousand keen users get together to explore programmable logic."

If you need an FPGA then check out the Spartan-6 LX9 MicroBoard [xilinx.com]. It is sold today for $89. You can synthesize MicroBlaze there, and you will have enough fabric left over to implement quite a few hardware blocks. It may be cheaper than stacking R-Pi or BBB and the add-on board. The kit comes with everything that you need to code for this thing (Xilinx ISE and EDK.)

MicroBlaze doesn't provide anywhere near the CPU processing power that a Raspberry Pi provides. This project looks like a fine way to get some hardware acceleration on the standard open hacker computer platforms. You know, with Linux!

You can get a Lattice MachXO Breakout Board for $20, with ~7000 gates that can run up into the 100s of MHz. Other boards might have more power, but if you want just an FPGA board to mess around with things, including open source CPU designs, that gives a lot cheaper starting point.

I would have considered it with an LX45 or better LX75. I'll probably go with a ZTEX http://www.ztex.de/ [www.ztex.de] 1.15b then instead. Is there anything comparable out there that I have missed so far?

The Xilinx Spartan-6 LX9 is a pretty small FPGA. People interested in ARM, Linux and programmable logic should take a look at two other development boards: the Avnet/Digilent ZedBoard (USD395, USD319 academic, has a Xilinx Zynq-7000 XC7Z020 FPGA which includes two ARM Cortex-A9 CPU cores @ 667 MHz on the same die), and the Arrow/Terasic SoCKIT (USD299, has an Altera Cyclone V FPGA with two ARM Cortex-A9 CPU cores @ 800 MHz).

The SoCKit is definitely the beefier of the two, as the Altera Cyclone V SX series FPGAs are far more powerful than their Zynq-7000 series counterparts.

However, the SoCKit has the most obnoxiously bad documentation that I've ever seen. The reference material from Arrow is extremely thin yet somehow still manages to have spelling mistakes in it that would prevent it from functioning if certain functions were enabled. Terasic's material "works" but Terasic does not include any documentation on the HPS whatsoever, just a prebuilt image and some C code to go with it.

I've spent the better part of the past 3 weeks just figuring everything out on my own. Altera's documentation is rock solid, but that only covers the FPGA itself, not the peripherals. Today was spent figuring out how the various clock sources are connected to the FPGA. Despite offering the exact same board in the exact same configuration, Arrow and Terasic provide conflicting and equally useless documentation. Sometime in the next couple of days I'm going to go probing at it with my scope.

The silver lining though is that I've been documenting that I've done, so I should be able to compile a very comprehensive and updated getting started guide in the near future. The ones on the RocketBoards wiki just don't cut it.

The Zedboard is accompanied by much superior documentation. The board design isn't as nice, but it's not as irritating to work with.

I too have one of those SoC Boards. I would love to see your compiled errata & additional notes about how you were able to get it running. Is there / will there be a link somewhere we might have access to ?
-Joe

I haven't found any hardware errata yet, just a truckload of missing, poorly written, or conflicting documentation. I'll provide you with a rough workflow that I've followed to get started. Feel free to ask me any questions.

Step1: Grab the Arrow lab material from the following link and work through them on Quartus 13.1. They're written for Quartus 13.0sp1 but they can be followed on Quartus 13.1 without issue. The only additional step is upgrading the IP cores from those packaged with 13.0sp1 to those packaged with 13.1; this will be done automatically when the sopc is opened in Qsys

Working through the hardware side will get you a usable sof file to program the FPGA. Working through the software side will get you a usable preloader. Although the SoCKit is heavily based off of Altera's reference development kit (GHRD) the preloader is different in large part due to slightly different SDRAM specifications. Attempting to use the preloader included in Altera's SoCEDS will not work.

The programming stage of the documentation is a bit flawed. The reference configuration assumes a single JTAG device, but there can be more. At a minimum there will be one for the HPS, but a bank of two dipswitches on the board can enable JTAG for the HPS itself and any devices connected via HSMC. Just use autodetect to pick up all JTAG devices and program the SOF file to the FPGA device, it's very clear as to which is which.

Next, grab the github repositories for the linux-socfpga (kernel), poky-socfpga (base filesystem), and u-boot-socfpga (bootloader). Grab the latest version tagged with '-rel'. I used the following:

kernel: socfpga-3.9-rel

u-boot: socfpga_v2013.01.01-rel

poky: danny-altera-rel

The wiki on rocketboards can be followed to install the dependencies and begin compilation. I can verify that everything builds nicely on CentOS 6.5 without much fuss, Ubuntu is extremely problematic so I would avoid it.

If you look at the SD Card image that ships with the SoCKit you'll notice that it has a FAT filesystem with two files on it, socfpga.dtb and uImage. These are the device-tree-blob, and linux-kernel-image respectively. The kernel is in a u-boot image format, which is simply a zImage with an additional header. The bootloader that ships with Terasic's SD card image uses an early 2012 version of u-boot and does not support booting directly from a zImage. Support for this (bootz command) is present in the 2013.01.01 release of u-boot so it is no longer necessary to attach the additional header to the kernel image. Just configure and compile the kernel as a zImage as they do in the wiki.

An additional step is missing in the wiki (at least it was last time I looked). The dtb is tightly coupled to the kernel version. Using a dtb from the terasic reference SD image will work for kernel version 3.7, but it will not work for kernel 3.9 or above. The reference one created by Altera's sopc2dts tool is crap and won't work either. However, a working dtb has been included in the linux-socfpga tree under arch/arm/boot/dts/socfpga_cyclone5.dts. This can be compiled to a dtb either through the dtc tool itself, or in-situ by running 'make ARCH=arm dtbs'. This is good enough to get started with, but if you add additional memory mapped devices to your system you will have to modify it by hand and recompile it.

NOTE: the socfpga_cyclone5.dts file exists in the 3.9-rel tree, but has been replaced and expanded in master by one specifically tailored towards the SoCKit. I haven't looked at this yet, it's on my todo list. You may wish to check it out.

OTHER NOTE:The bootloader will look for socfpga.dtb by default. You can change the name of the file that it looks for by tweaking the bootloader environment settings (this is good practice) or you can change the name of the file when you copy it to the filesystem.

Yeah that's where I found many answers to my questions. There's no easy way to look through it and few if any solutions are catalogued or included in the wiki. Sometime over the Christmas holidays I will write a more comprehensive guide.

I'm curious as to what aspect of Altera's offering you find more powerful than Xilinx? The SocKIT is $1600, although they're practically giving them away if you attend the training ($100 I think for the training and the kit). The MicroZed is $200, the Zed $400. Sure, it's a smaller logic density device, but it works for proof-of-concept. I also like the inclusion of the many PMod adapters on the Zed board as opposed to the SoCKIT.

In general I find the devices are roughly equivalent. I would probably give th

Altera's reference Cyclone V SX Series development kit is $1600. This includes the subscription edition of Altera's SoCEDS suite which allows for bare metal debugging over JTAG.

The SoCKit is only $300. The hardware is (nearly) identical and it is designed to be compatible with Altera's reference design at both the harware and software level. It does not come with the subscription edition of Altera's SoCEDS so users are limited to either the 30 day trial or a free licence which supports only gdb over IP for

If you already have a ARM processor, the FPGA will likely be used for real-time interfacing with the outside world - for example, many robotic applications. If this is the situation you are in then it might be worth looking at the Lattice iCE40 line of FPGA. They're small, cheap, use almost no power, and are programmed via SPI. The high-end versions have around 7500 LUTs so they are reasonably powerful.

There are some very inexpensive iCE40 developer boards on the Lattice website - between $25 and $40 (I believe). Makes for an inexpensive introduction to programmable logic. Just do not expect them to be as large and powerful as other FPGAs on the market. They were designed to compliment a CPU by interfacing and filtering sensor data thereby allowing the CPU to remain asleep for as long as possible. Most other FPGAs were designed to implement CPUs...

Lattice MachXO family can run the MICO32 cpu right inside the FPGA. You can get a PICO board [latticesemi.com] for about $40, so it's on the same line of price. There are others [artekit.eu] with more features under 100 EUR, but may not worth it if you are running your firsts FPGA experiments.

The MachX03 looks very promising, but there are not boards to play with...

That part will interface to external RAM, but they don't include any or connectors for it, so all you get is 576K. The Litecoin miners will be disappointed.

The Raspberry Pi has a connector layout problem, with connectors on three edges. Then these guys stack another board on top, with connectors on three different edges. They have header connectors hanging over the edge on one side, preventing a panel connection to the USB port. Then, I think, you can stack Arduno shields on top. The result is the elect

Assuming the $69 reward level is the price they intend shipping them at, I'd much rather spend the extra $10 to get a DE0-nano: twice the number of logic elements in the FPGA, and much more importantly *more LEDs*!:)

They've invented (or rather promised to invent) a solution to a problem that doesn't exist. You can already grab any number of FPGA dev boards today and interface them with your RPi or BBB for less than $100. Making another one from scratch isn't going to 1) Teach coders to be logic designers 2) Make it easier to learn the FPGA toolchain 3) Enable anybody to do something they couldn't just as easily and affordably do before. Yay crowd-funding.

Short version: I write FPGA code for a living: don't buy this kit. Get a Xilinx MicroZed, Zed, or Altera SoCKIT. It is a revolutionary improvement over what is offered in this kickstarter at a similar price point.

Long version: If you're interested in HDL and coming from the processor world (ARM), consider the Xilinx Zed, MicroZed, or Altera SoCKIT. The Zed is $400 (slightly less with an academic discount), the MicroZed $200, and I believe you can get an Altera SoCKIT board for $100 if you attend the training (if not, it's expensive at $1600). For a hobbyist, I would probably choose the MicroZed since it's the cheapest to buy straight-out at $200, or Zed if you wanted some of the PMod peripherals.

Any of the above boards offer significant advantages over the LOGi FPGA. The Spartan 6 LX9 is disappointing as a choice, as it's a very small, last-generation device. The current SoC offerings from both Altera and Xilinx pair a processor subsystem (PS) (dual Cortex A9) with a programmable logic (PL) subsystem via an array of standard ARM interfaces (AXI). I believe all of the Xilinx/Altera offerings have between 2,000 and 3,000 built-in connections between the PS and PL. This is a tremendous advantage and offers ridiculous amounts of bandwidth between the PS and PL. It allows unprecedented cooperation between the PL and PS that leads to significantly better performance than is possible with a discrete processor and FPGA combination.

Hi,
i think that you don't see the point of our product. The LOGI don't pretend to be the most powerful most versatile product on earth. We just propose a board to learn co-design with simple starting point. If you give a zedboard or a sockit to a beginner its just like throwing him a brick in the face. What the beaglebone and raspberry-pi propose is a system of capes/extension boards that you can had as you progress or to match your needs. With these two platform you benefit from a much wider community su

I'm going to have to disagree with you. If somebody already has a RPi or BB, then this board makes a whole lot of sense: it just stacks on top of your existing unit, both physically and logically. In Zynqland it'd take quite some effort to construct the abstraction layers that they seem to be building into this project; you have to do things like rebuild the FSBL and binfile and it gets to be a pain. There's a community of sorts but it's small peanuts compared to the RPi juggernaut.

If you want a smaller form factor than the ZED board, there is MicroZED [zedboard.org].

Be advised that working with Xilinx tools, be it ISE/Planahead or Vivado, redefines frustration to a whole new level. While the actual Zynq hardware is decent, the development tools are a bl*ed s*g p*e of s*t full of bugs and undocumented 'gotchas' that chews for hours before throwing up a diarrhea of incomprehensible error messages and/or generate an unworkable result.

If you want a smaller form factor than the ZED board, there is MicroZED [zedboard.org].

Be advised that working with Xilinx tools, be it ISE/Planahead or Vivado, redefines frustration to a whole new level. While the actual Zynq hardware is decent, the development tools are a bl*ed s*g p*e of s*t full of bugs and undocumented 'gotchas' that chews for hours before throwing up a diarrhea of incomprehensible error messages and/or generate an unworkable result.

Xilinx support is laughable, you will at best find very cryptic hinglish that may or may not be related to your problem but certainly does not do the needful.

Make sure to charge by the hour when contracting, or when you're in the other seat, take out a big liability insurance against workers going postal or suing you for mental abuse.

i'am one of the co-founder of the project and i just want to address some of your questions/remarks:

Why buying a LOGI-board when you can get a zedboard/sockit ?

The zeboard/sockit are much more powerful than what the LOGI boards can propose and they will run much higher performance applications... but they lack support from the software community, and are definitely a no go for a beginner. The Beaglebone and Raspberry-pi benefits of a great support from the software community and kernel development community, with our board we try to bridge a gap between the hardware and software community using the beaglebone/raspberry-pi + LOGI as a collaborative platform for the two. Give a kid a zedboard and raspberry-pi and guess which one he will throw to the bin in the end. The idea of stacking boards is to follow the progress of the user and had complexity when its time to.

Why getting a LOGI-board when you can get a DE0/MicroBoard for the same price ?

The computng power of the raspberry/beaglebone processor is far better than what you can get with a NIOS/Blaze and the linux support is great. Moreover you can program the logic from the processor (i did not say design the logic) while a Blaze can't. With the Linux of these boards, you also have access to a ton of software repositories. The LOGI-boards are designed with co-design in mind, when you use Blaze/NIOS you targets both ends of the co-design problem at the same time. With the LOGI-boards you can separate the concerns.The price problem is also difficult, DE0 and MicroBoards are subsidized by the chip vendors (Altera/Xilinx) so they can be sold for cheap. We are not subsidized so the price you pay is closer to the price you would pay to build your own product.

Thanks for all your comments, and don't hesitate to ask for more information.

Why getting a LOGI-board when you can get a DE0/MicroBoard for the same price ?

The computng power of the raspberry/beaglebone processor is far better than what you can get with a NIOS/Blaze and the linux support is great. Moreover you can program the logic from the processor (i did not say design the logic) while a Blaze can't. With the Linux of these boards, you also have access to a ton of software repositories. The LOGI-boards are designed with co-design in mind, when you use Blaze/NIOS you targets both ends of the co-design problem at the same time. With the LOGI-boards you can separate the concerns.

But hooking the DE0 up to a RPi (or any other SBC) is trivial with a bit of ribbon cable, and if I use a USB cable as well I can also program the FPGA from it like with your system. It provides a more powerful solution at (I think, if I understand your pricing correctly) a lower price than your solution. So why wouldn't anyone want to do it that way?

Yes, your system provides a neater packaging option, but this is unlikely to be an issue for the kind of hobbyist applications hardware like this targets. Al

in the past i've had to deal with license servers, multi-thousand dollar licenses, being locked into windows,having to reverse engineer internal formats because the tools wouldn't work for me, having day-longsynthesis/test cycles because their routing was so abysmal, etc

admittedly I'm an old fuck, so thing may have changed

i scanned the page, but they dont seem to say a single thing about tools.

Hi,
the Xilinx Web edition toolchain (free of charge) supports the spartan6 LX9. Synthesis time is a bit longer than when you own an "expensive" license but the LX9 is a small FPGA so you'll never wait too long to get the synthesis done.
Regards,
Jonathan Piat
LOGI-team

in the past i've had to deal with license servers, multi-thousand dollar licenses, being locked into windows,having to reverse engineer internal formats because the tools wouldn't work for me, having day-longsynthesis/test cycles because their routing was so abysmal, etc

admittedly I'm an old fuck, so thing may have changed

i scanned the page, but they dont seem to say a single thing about tools.

what the situation?

No that much has changed. The good is that there are free Webpack editions for certain chips. The overwhelming bad is that the long cycles and the unexplainable bugs are still there. It's easy to lose 50K$ on needlessly wasted engineering time over the course of a single project.

Not sure its a good idea when you want to get into the game of co-design : dula core CPU + ManyCore + FPGA... lets learn things one step at a time if you don't want to end up with nice piece of equipment taking dust in your drawer.

I would just like to quickly address a couple of these points that have come up in the previous posts:
I would first acknowledge and concede that the current LOGi-Board offerings are not the latest, fastest, sexiest, FPGA boards on the market. There are a great deal of offerings and all having their respective strong points. The LOGi-Boards do not attest to competing with the latest SOC offerings with quad-core ARM A9 processors on-chip. The LOGi-Boards reveal themselves to the world in a humble Sparatan

My pi has been sitting around, doing its business on the home network for over a year.Any chance of getting a Sata port for my Pi would be a worthwhile investment. Add to that a FPGA chip which would allow me to "play" with mining bit/lite coins, is good enough for me.

Great idea for Pi owners who are new to FPGA (eg: me), and, want to try it out on a platform which they are comfortable with.

Hi,
don't be misleaded by the SATA port on the LOGI-pi, its just a connector for LVDS signals, but we don't have an IP (in the FPGA) that is capable of handling a SATA disk. Someone may work on this at some point, but the SPI bandwidth with the FPGA is limited to 3.8MB/s (rather slow for a SATA disk...).
Regards,
Jonathan Piat
LOGI-team