
Xilinx FPGA Board for Arduino - achuwilson
https://www.seeedstudio.com/Spartan-Edge-Accelerator-Board-p-4261.html
======
Crosseye_Jack
Meh it’s a Xilinx part. They are too lawyer heavy for my liking, issuing
takedowns on educational vids [0] and file DMCA takedowns of reverse
engineering [1]

[0]
[https://youtube.com/watch?v=swVuqG9-H0E](https://youtube.com/watch?v=swVuqG9-H0E)

[1]
[https://github.com/github/dmca/search?utf8=&q=Xilinx&type=](https://github.com/github/dmca/search?utf8=&q=Xilinx&type=)

~~~
bb88
Doesn't seem to have stopped Symbiflow from supporting Xilinx-7 parts.

[https://symbiflow.github.io/](https://symbiflow.github.io/)

~~~
Crosseye_Jack
Who Xilinx choose to set their lawyers on is up to Xilinx.

They promised to clam down and update their policies after the education video
takedown blew up in their face back in January, but they have yet to do update
their policies so as far as I can see from their legal page (which is where
they said they would post the updated policy).

As the saying goes. Once bitten, twice shy.

~~~
bb88
I think you have an excellent point. Why bother with a company if they sick
their lawyers on hobbyists and experimenters?

With CPU's the modern software engineer expects a new GCC/LLVM target, so we
can have a consistent experience with one code base.

I get that.

I believe the market is shifting under the FPGA's faster than they realize.
Sure they're going to have large corporate customers for a while using the
xilinx proprietary IP cores, etc. But someone at some company is going to get
a bonus for saving the company tons of money by modifying an open source core,
so they can drop the cost of using the xilinx proprietary cores.

------
seabird
I don't understand why people believe that the "year of the maker FPGA" is
ever going to happen. An FPGA is by its very nature a technology that many
embedded engineers (let alone hobbyist maker types) will never take advantage
of in earnest. I'd imagine that if you're developing hardware that requires an
FPGA, odds are high that you don't need or want an Arduino bolt-on.

~~~
bb88
Right now, the homebrew electronics industry is buzzing like linux and open
source was in 1996. PCB design and manufacturing has been opened up to
millions by cost reductions and open source software in the past few years.
FPGA development is following suit as well.

One of the big drawbacks of using an Arduino is that it is so limited in the
number of modern devices it can access (USB 3, SATA, HDMI In or Out, etc).

To that end I think LiteX maybe the most intriguing thing I've seen this year
if it catches on popularity. It's an SoC builder, which would allow for DIY
SoC's (including using a RISC V core).

[https://github.com/enjoy-digital/litex](https://github.com/enjoy-
digital/litex)

I'm not saying it's guaranteed, but it's looking more and more possible that
FPGA's using LiteX or similar technology could disrupt the embedded micro
controller market particularly for the homebrew market. You can choose the CPU
you want to code for with the interfaces you're using.

Also check out the current supported litex FPGA platforms:

[https://docs.google.com/spreadsheets/d/1XTHfdYXuvwoYdPXm4M6q...](https://docs.google.com/spreadsheets/d/1XTHfdYXuvwoYdPXm4M6qDA0D2fZCPy220-9q6qZpTw4/edit#gid=0)

~~~
lnsru
You are ignoring price point. Small FPGA board from Digilent costs as much as
Raspberry Pi 4 4 GB. Development on Raspberry Pi is much more convenient, it
is powerful and it already has decent CSI-2, 4K HDMI, Ethernet. Comparable
FPGA board goes for hundreds $/€. Because decent CSI-2 with high frame rate
and resolution as well as 4K HDMI need decent FPGA with transceivers. Add long
hardware development cycles and this gets really boring really fast for most
hobbyists.

~~~
skybrian
I'm just getting started on electronics for an audio project, but the Arduino
setup of compiling code on my regular computer and uploading it over USB to
firmware seems pretty nice? Since I'm never going to connect it to the
Internet or even a monitor, why does Ethernet or HDMI matter? Let alone 4K
HDMI.

It seems like that's more about having a cheap desktop computer than doing
electronics? But I already have a desktop computer.

~~~
seabird
If you're going to do serious audio signals processing, you're probably going
to very quickly find out that an 8bit Arduino and the Arduino environment are
nowhere near powerful enough for your needs. If you really stick with it,
you'll upgrade to something significantly more powerful (both hardware and
tooling wise). If you start to push the limits of a 32bit microcontroller or
DSP, but are still sensitive to price/power consumption/footprint/etc, then
you will truly understand what the need for an FPGA is. That's my point; you
as an embedded beginner (which is what most of the "maker" market is) are
multiple revelations away from even beginning to understand why you would want
to use an FPGA, let alone know how to work with one.

~~~
claudiawerner
I've done three years of an electronic engineering degree with a digital
design on FPGAs course and I'm still not entirely sure why one would want to
use an FPGA for anything - am I right in guessing that what you write in HDL
for an FPGA will be faster than what you write in C? Or do you use the FPGA
for testing then export designs into hardware?

~~~
seabird
>faster than what you write in C

It's hard to compare working with an HDL to working with a programming
language like C; they are fundamentally different. The short answer to that
question is that using an FPGA can lead to massive _but situational_
performance increases. You can't use an FPGA for everything, but when you need
it, you need it.

>testing then export designs into hardware

This is another common use case. Some designs can be tested on an FPGA before
committing that design for production as an ASIC. There's also the case where
you may need to reconfigure the hardware, so you can never truly commit to an
ASIC, and continue using the FPGA.

------
duskwuff
A little weird to design this board as an Arduino shield when both of the
parts on the board (the FPGA and the ESP32) are dramatically more powerful
than the microcontroller on the host Arduino board.

~~~
jackyinger
I suppose you could use the aurdino as a management controller for the others,
but yeah you’ve got a point.

~~~
fargle
I think the point is that the FPGA can handle very high speed IO in hardware,
the ESP32 can host the application software and handle the communications.

The Arduino provides power supply and maybe low-speed peripherals like GPIO...
(sarc)

Still awesome feature set and price point. I'm seriously thinking about using
this standalone.

~~~
duskwuff
Well... medium speed I/O. "High speed" in an FPGA context would imply a 5+
Gbit SERDES, which the Spartan-7 doesn't have and the connectors on this board
wouldn't support anyway.

------
eyegor
Can someone explain the appeal of this to me? I love playing with fpgas but if
you're not working in an hdl then what is the value? Typically you'd use an
fpga as a dev tool to design an asic or maybe even use the fpga outright if
it's fast enough at your task to make it worthwhile. By issuing commands via
arduino scratch code, you toss all practical value out the window as far as I
can tell.

Looking at their example code it just seems so far removed from hardware that
I am stuck scratching my head: [https://github.com/sea-s7/spartan-edge-
ioex/blob/master/exam...](https://github.com/sea-s7/spartan-edge-
ioex/blob/master/examples/03ADC_AND_DAC/03ADC_AND_DAC.ino)

~~~
MisterTea
The project isn't finished yet.

> Typically you'd use an fpga as a dev tool to design an asic or maybe even
> use the fpga outright if it's fast enough at your task to make it
> worthwhile.

No way. FPGA's are extremely useful for low volume alternative to asics or
tasks where the logic may have to change according to end use cases. They are
found everywhere you need a quick bit of complex logic and don't want an asic
or need some extreme form of flexibility.

------
panpanna
I wish they had used something like the lattice ice40.

It's better to have a slitghly worse hardware that you can actually program
and use than something that requites the poster child of horrible proprietary
software.

------
oytis
In the spirit of Arduino it should come with some simple visual HDL language
for FPGA dataflow. Like icestudio.io, maybe with more high-level blocks.

~~~
DoingIsLearning
As someone who has had to walk through broken glass with Xilinx toolchain I
can garantee that you do not want any tool/utility created or 'maintained' by
this company.

~~~
oytis
icestudio or Xilinx?

I'm playing with Zynq right now, and the tooling (Vivado + Xilinx SDK) is,
yes, quite unstable and not always intuitive, but I can't imagine using
anything else with such a device, just because of the amount of domain
knowledge buried in this bunch of TCL scripts.

------
bArray
I've been hearing about FPGAs for the last few years or so, what would be the
benefit to using one over something like a Raspberry Pi? What's the killer
application?

~~~
alexhutcheson
FPGAs have high-end and low-end uses:

\- Low-end: I'm designing a board, and I have one place where I need a little
bit of digital logic, but putting a sufficiently capable microcontroller would
be too expensive (in money or power budget), and there's no easily available
cheap ASIC that does what I need. I put a small low-end FPGA in, and write a
little bit of HDL to implement the logic I need.

\- High end: I have a very specific computation that I want to perform with
very low latency or high throughput, and I've determined that I can design
digital logic that will perform better than a general purpose processor (often
via massive parallelism that wouldn't work well on a GPU for some reason
and/or extremely deep pipelining beyond what a CPU would do). Because
performance is so important to me, I'm willing to pay a massive up-front
development cost for the digital logic that lives on the FPGA and the software
that integrates with it. However, my expected volume is still low enough that
getting an ASIC made would be too expensive for my budget. Examples here
include packet filtering, bioinformatics, various forms of signal processing,
etc. I'll choose a high-end FPGA that meets the specific needs of my
application.

\- Extremely high end: Same as the above, but I expect to continue to make
improvements and incremental changes to the digital logic after it's been
deployed. Alternatively, I'm selling my board to customers who will employ
their own hardware engineers to add their own digital logic to my high-level
design. I'll probably choose a very high-end FPGA that exceeds my current
needs to allow space for future changes.

None of the above are likely to apply to hobbyists, so most hobbyists who are
developing for FPGAs are likely doing so just because they find it very
interesting. The development process is _much_ slower than it is if you're
writing code for an ARM chip, and the tools are much more cumbersome, but the
process of designing digital logic systems and then having a way to actually
implement them can be interesting.

~~~
bArray
Thank you for your explanation. I guess your last point is why I thought I was
missing something:

> None of the above are likely to apply to hobbyists, so most

> hobbyists who are developing for FPGAs are likely doing so

> just because they find it very interesting.

I see posts on HackerDay about FPGAs and think: "What am I missing?". I build
robots as part of a hobby and was wondering where on earth they fit into that
pipeline. Most of the things I build are either already solved within a single
chip, or are easily solved with the addition of a small micro. Developing
something using a HDL would be too extreme, even for me.

One thing that I think might be of interest in the future is when the cell
count is such that we can process large neural networks, although I suspect
they might always lag behind GPUs and/or TPUs.

