cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
397 Views
Registered: ‎06-23-2020

Advice on what FPGA to buy

Jump to solution

Hello,

I am student and I'm currently looking to buy an FPGA board with the following capabilities:

  • HDMI output
  • Ethernet port or Wi-Fi 
  • Optional bluetooth
  • ADC/DAC
  • Expansion slots (such as Arduino connectivity) and other peripherals
  • SD card

My main applications are image processing, signal processing, cryptography and bitsliced-algorithms-on-board.

Since there is a big range of products, I do not know what to buy. Is anyone willing to share any opinions?

My buget is 160$. I am also new on the forums, and my apologies if I chose the wrong thread location. Thanks!

1 Solution

Accepted Solutions
Highlighted
Advisor
Advisor
275 Views
Registered: ‎04-26-2015

There's nothing special about the Pynq hardware that forces it to run Python; you can definitely treat it like any other development board and it'll work fine (ie with C/C++ for the processor and Verilog/VHDL for the FPGA).

 

The Zybo is a fine alternative, but the Pynq gives you more FPGA per dollar (the base Zybo has the Zynq 7010; the base Pynq has the Zynq 7020 with more than double the logic resources).

View solution in original post

0 Kudos
6 Replies
Highlighted
Advisor
Advisor
370 Views
Registered: ‎04-26-2015

The big question is whether you want a pure FPGA board, or a Zynq board. The Zynq has an ARM processor as well as the FPGA, which includes a lot of "free" peripherals (eg. Ethernet, RAM controller, USB, etc). Because it can run Linux, using the more advanced interfaces (Ethernet and USB) is pretty easy. Because the peripherals are included in the fixed-function hardware, they don't occupy valuable space in the FPGA.

 

The disadvantage is that these peripherals are not directly available to the PL (programmable logic, aka FPGA). You can only access them from the PS (processor).

If you want a Zynq, the Digilent Pynq-Z1 meets your requirements and will cost $149.25 (there's a 25% discount for students). If not, I'm not sure. Not many options that I can see.

0 Kudos
Highlighted
Visitor
Visitor
301 Views
Registered: ‎06-23-2020

Thanks for the reply.

 

I think a mixed board (FPGA+processor) would be better, because of the added peripherals, and ease of use. However, from the Pynq-Z1 board's description, this board is "designed to run on the PynQ framework, and the APSoC is programmed using Python". I am not sure if the board can be re-programmed to run C code, for example.

 

I've also seen the Zybo-Z7 board  (https://store.digilentinc.com/zybo-z7-zynq-7000-arm-fpga-soc-development-board/), which looks OK to me and it's also affordable. Isn't the Zybo-Z7 board a good alternative?

0 Kudos
Highlighted
Advisor
Advisor
276 Views
Registered: ‎04-26-2015

There's nothing special about the Pynq hardware that forces it to run Python; you can definitely treat it like any other development board and it'll work fine (ie with C/C++ for the processor and Verilog/VHDL for the FPGA).

 

The Zybo is a fine alternative, but the Pynq gives you more FPGA per dollar (the base Zybo has the Zynq 7010; the base Pynq has the Zynq 7020 with more than double the logic resources).

View solution in original post

0 Kudos
Highlighted
Visitor
Visitor
207 Views
Registered: ‎06-23-2020

>There's nothing special about the Pynq hardware that forces it to run Python; you can definitely treat it like any other development board and it'll work fine (ie with C/C++ for the processor and Verilog/VHDL for the FPGA).

From the product's description: "The PYNQ-Z1 board is designed to be used with PYNQ, a new open-source framework that enables embedded programmers to exploit the capabilities of Xilinx Zynq All Programmable SoCs (APSoCs) without having to design programmable logic circuits. Instead, the APSoC is programmed using Python and the code is developed and tested directly on the PYNQ-Z1. The programmable logic circuits are imported as hardware libraries and programmed through their APIs in essentially the same way that the software libraries are imported and programmed. "

I guess you are right; the board may come with pre-installed libraries that are required in order to run Python code. I am not familiar with the PYNQ framework though and I guess you can access the framework's core functionality by using APIs and by importing some libraries.

"To use the PYNQ framework - it's required to have the PYNQ-Z1 boot image, which is available from the PYNQ-Z1 Resource Center. You can download the PYNQ-Z1 image and copy it to a microSD card, or purchase a card preloaded with the image. "

I guess that in order to run Python code, you have to boot that PYNQ-Z1 image (which I guess it is a modified Linux), and also install the IPython kernel expansion. And all of this is done using the processor that's included in the chip (alongside with the FPGA part). I think you can also program the FPGA from that image (i.e. programming the FPGA from the Linux image that was booted, through an interface or an API that can access the FPGA.)

The only thing that was bugging me was that I thought it can only (or it is forced to) run Python code (i.e. a proprietary IP which cannot be re-programmed which was configured only to be compatible with Python). Anyway, this board seems very good! 

 

TL;DR

It looks like a very good board! Thank you for your advice! This helped me tremendously and I think I will order the PYNQ-Z1 board soon.

>The Zybo is a fine alternative, but the Pynq gives you more FPGA per dollar (the base Zybo has the Zynq 7010; the base Pynq has the Zynq 7020 with more than double the logic resources).

Yes, the Pynq-Z1's chip is XC7Z020-1CLG400C, which is the Artix-7 FPGA chip with 85k logic cells and 53,200 LUTs, alongside the Arm Cortex-A9 processor. The Zybo has the XC7Z010-1CLG400C Artix-7 with 28k logic cells and 17,600 LUTs. I've got some questions here though as I'm not an expert in FPGA industry; How can one benchmark an FPGA board ? (for example, the lifespan of the FPGA board including how many times the FPGA cirucit can be written, and for how long the FPGA circuit can run) How can one measure the quality and processing power of the FPGA board ? Is there any kind of metrics that can be looked-for when one decides to buy an FPGA board ? (for example, a good FPGA chip must have over X number of logic cells, or Y number of LUTs)

I also know that the technology that's being fabricated within the FPGA chip plays a very important role; for example, I think the Kintex and Virtex chips are the most powerful and efficient in terms of computational power and energy consumption.

I've searched the internet but I found little answers regarding the questions above, so I would be grateful for any suggestions. 

0 Kudos
Highlighted
Adventurer
Adventurer
172 Views
Registered: ‎09-17-2018
What about ultra96? Imho its better than any other board. Also you could buy cheap zynq for like 75$ from china, but you won't receive tech support.
0 Kudos
Highlighted
Advisor
Advisor
144 Views
Registered: ‎04-26-2015

@bartokon I considered the Ultra96, but his budget is $160 and the Ultra96 is $250. I also considered the MYIR Z-Turn (which is what I have, and I think is probably the cheapest "good" Zynq 7020 around) - but the HDMI chip used on these is not publicly documented and is therefore going to be difficult to get working.

@stefan__ With regards to whether there's a definition of a "good" FPGA - not really. I started development on an XC2S50, and even that seemed like it had plenty of resources (it's far smaller than any current Xilinx device except for the CoolRunner II). For general interfacing (eg. converting the LVDS interface from a camera into something you can feed to a processor) even an XC7S6 (the smallest Spartan 7) would be fine. For doing autonomous driving, you'll probably want to start with a Virtex UltraScale+ and then evaluate whether you need more than one of them...

I'd start with the Zynq 7020 and see how you go. I suspect you'll find that the algorithms you want to implement fall into two categories:

(1) Algorithms that work easily in the Zynq 7020

(2) Algorithms that will require at least a $30K FPGA and are therefore not practical.