• 0

Comparison between Pynq and Arty


Neuromod

Question

5 answers to this question

Recommended Posts

To answer your question, I'm new, and I want to get started but want to be able to "grow" with the board. In the long term I want to be able to do SDR, beamforming an sensor integration. 
Pynq-z1 costs 65 USD and the Arty Z7-20 costs 149 USD through the academic pricing. Both boards look very similar in terms of hardware but Pynq appears to be oriented to Python  Jupyter usage while Arty not, and their price tag is quite different for some reason (why?). I really would like to be able to get past Jupyter, and say try Petalinux (as in arty), or go bare metal, but nothing is mentioned in the Pynq webpage if its possible at all. Ideally I would like to go for a Zedboard, or Zybo, but they are completely out of my budget. Then there are some Artix and Spartan7, but I think an integrated ARM gives me more flexibility.
 
Thanks

 

Link to comment
Share on other sites

@Neuromod

Gee, you're making it tough on me. I understand small budgets and big dreams....

By SDR I assume that you're talking Software Defined Radio. I'm having a bit of trouble picturing a sensor and beamforming project with only a few very limited low speed, low pin count IO connectors. I really don't know of an FPGA board in your price range that is geared for what you want to do.

I guess first thing to decide is if you want to do your experimentation writing C code or using an HDL. An FPGA with an ARM core allows you to do both of course. If you want to do C then the development flow for a Zynq device is more complicated than it would be for other ARM platforms like a Raspberry Pi. If you want to use and HDL then you don't really need an ARM core. There's a premium for having that ARM core in your FPGA. I haven't checked academic prices but the ZYBO seems to be priced about the same as the Arty Z7-10. I suppose that the Pynq is heavily subsidized to be attractive to the academic setting if it is so much cheaper. If you are dead set on a Zynq device I'd steer you away from the Pynq as you are likely find the environment to be a restriction to pursuing your interests. Note that I haven't been paying attention to the Pynq since it first appeared so I can't offer an fair assessment.

A lot of people seem to want to learn/experiment with DSP and learn FPGA development at the same time. I'd steer anyone without a good foundation in digital design or HDL toward using a DSP based board. Texas Instruments offers some inexpensive DSP boards ( I'm thinking Piccolo ) and free development software with nice application libraries so that you can concentrate on the project at hand without a lot of peripheral complexities. Doing DSP in an FPGA is a lot more complicated than coding a processor or uC. There are more tools to learn and the flow is more complex. If you are already competent with Verilog or VHDL and have experience with the tool flow then, in my opinion, the FPGA route is more challenging and fun. But you don't need an ARM core to do this. I've been in this discussion a few times on the Digilent forum but I view FPGA development as digital design and not software design. You can get more FPGA for your buck without the ARM core ( unless a platform is heavily subsidized ) so look around.

If you want to go the HDL route then from an IO perspective perhaps you should look over the CMOD A7 boards. The form factor is easy to use and there are a lot of IO, some that can be clock inputs or outputs. The CMOD A7 boards do have an annoying USB issue that hasn't been resolved yet. There are other similar FPGA boards out there for under $100 USD from vendors other than Digilent.

All of this might not be as helpful as you want but I don't have a very specific and detailed project description to work with.

 

Link to comment
Share on other sites

I don't have any specific project, its more like interests in some fields where I would like to experiment, nothing commercial or for practical use, just for sake of learning. For instance in the case of beamforming I probably would play with sound waves, either with arrays of microphones, speakers or ultrasonic transducers. Its not like the usual engineering approach where you have a problem and look for the best tools to solve it. Its more like the other way around, I would like to learn some tools (FPGA, HDL), and I'm thinking on interesting projects that I could try to solve with the tools. Think of it as trying to find a good excuse to learn about FPGAs and specifically HDL

Having said that, I find interesting your perspective on the inclusion of an ARM. My rationale on thinking on using one that included one was that some tasks may be not worth to be done in the FPGA. I dunno if this makes sense but I was thinking complex logic could run in the ARM that would get acceleration and have hardware access through the FPGA. Ill go to a more concrete example, say I want to generate a low frequency ultrasonic (<100khz) beamform with specific characteristics, I would think I could use the ARM to compute how to generate any specific waveform for the task (which may involve many floating point equations, but still, cpu inexpensive for todays general purpose CPUs), and once I compute what I need to send, have the FPGA send the output according to properties such as frequency, phase difference between different transducers and what not computed by the ARM. Does this usage of CPU+FPGA make sense?

As alternative I see there is Microblaze, but its drawback is that is very slow and "steals" resources from the FPGA. A different alternative could be to have an exteranl uC to perform all the "high level operations", but I would think this may have some inconveniences such as latency. How would you approach this problem? Maybe stick with microblaze in such cases unless more computational power is needed?

Thanks for your help...  
 

Link to comment
Share on other sites

I have both a Pynq and a ZyboZ7.  The Pynq has been able to run Arty examples, and the XDC files are basically identical.  There might be one peripheral change (microphone?) but everything else that I can remember is 1:1.

I don't have any experience with PetaLinux, but I think if you want to go that direction you should try to find a group of users or examples for your board.  The most likely place will be on Arty or Zybo.  Pynq is more or less marketed to Jupyter users and research.

One last thing, if you are looking into video HDMI I would recommend the ZyboZ7 because it has 'cable hider' equalization devices on board to clean the signal. This helps the device lock to HDMI.  I have been much happier with my ZyboZ7 for video RX.  

Link to comment
Share on other sites

@Neuromod

There are a few ways to answer your question. The first step to supplying a useful answer(s) would be to ask a few questions.

  • What is your level of expertise in FPGA development?
  • What do you want to do with either of the boards that you are eyeing?

I don't have direct experience with the Pynq  ( nor the Arty for that matter ) and have no interest in either. I do have considerable experience with FPGA development. It's my impression ( and this is based on what I read when the board first appeared ) that the Pynq is more of a "ecosystem" meant to make FPGA development more accessible to non-technical users. I admit to a negative bias with respect to this class of products, some of which is based on experience. That is not to say that the Pynq hardware isn't a better fit for you... but likely if you are a sophisticated and knowledgeable FPGA developer you might have quite a bit of work to get around a lot of barriers to using the board independently of said ecosystem. If you are not a knowledgeable and sophisticated FPGA developer then it depends on how closely your intended use for the board is to what canned IP the ecosystem provides. Understand that my comments reflect biases based on general experience and not the particular boards under discussion. In general, attempts to make FPGA development easy for the casual hobbyist don't deliver on their (implied) promises from my experience. But if you provide more information you are likely to get a wider range of replies and more useful answers.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.