Author Topic: Any Interesting Projects For Zynq  (Read 5771 times)

0 Members and 1 Guest are viewing this topic.

Offline rstoferTopic starter

  • Super Contributor
  • ***
  • Posts: 9935
  • Country: us
Re: Any Interesting Projects For Zynq
« Reply #25 on: November 02, 2019, 04:48:58 pm »
just 'blink an LED'.

Technically speaking, blinking a LED with an FPGA is not trivial.  My very first VHDL code was just a wire inside the FPGA, between an input and an output pin.  ;D

I still remember the thrill when I pushed the button connected at one pin, and the LED at the other pin light up.  It felt so WOW!  8)


By no means is it trivial, I remember the same experience, blinking an LED, about 15 years ago.  I've written a ton of VHDL since then.

So many things have to go right to blink an LED on an FPGA that it truly is an accomplishment.  The tools have to work, the code needs to work, the device programmer has to interface on both ends, the board has to work and the constraints file needs to be correct; all this stuff just to blink an LED.  Something that takes no effort and about 10 lines of code for an Arduino.

Right after that blinking LED project comes a Z80 core that simply must have a Compact Flash drive and run CP/M 2.2.  Here, the CPU core is available and known to work.  It's only the CF interface to the FPGA and writing BIOS code that is at issue.  That, and getting the boot code on the CF in the first place.  I don't remember how I did it but these days I would use the Linux 'dd' command.  Once the system boots there is the issue of getting Kermit on the CF and then it's off to the races copying files from a machine with dual 8" floppies.

Then take the same Z80 core and implement a functionally identical PacMan arcade game.  That was fun!

Next up:  Build a functionally identical emulation of a complete IBM 1130 minicomputer and all the peripherals.  Number 1 design rule:  The system must run all of the factory software, unchanged.

I have a handle on the VHDL stuff but I want to find something that utilizes the fabric along with the dual core ARMs and, probably, Linux.  I know exactly nothing about the internals of Linux.  Now would be a good time to learn.

I'm pretty sure I am interested in the digital side of the sandbox.

« Last Edit: November 02, 2019, 04:51:23 pm by rstofer »
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 6723
  • Country: ro
Re: Any Interesting Projects For Zynq
« Reply #26 on: November 02, 2019, 05:10:47 pm »
There simply must be an application for the Zynq that is interesting and requires both ARM code and VHDL.
IMO Zynq makes sense only for small embedded projects that also requires a Linux or some other OS, or where the device logic would be too complicated and cumbersome to maintain as a state machine, thus instead of a soft core CPU, a hard core ARM is the way to go, cheaper, well known architecture, plenty of free software tools, and can run almost any OS, or bare metal.

On short, for small and cheaper embedded Linux projects that requires some programmable glue logic, maybe a few DSP slices there, too, but nothing spectacular.

Otherwise, why build the chip?
Main factor was the price, a Xilinx Zynq instead of somebody else's CPU + a Xilinx Artix.
Also less space on the PCB, so smaller gadgets.
« Last Edit: November 02, 2019, 05:15:55 pm by RoGeorge »
 

Offline FlyingDutch

  • Regular Contributor
  • *
  • Posts: 147
  • Country: pl
Re: Any Interesting Projects For Zynq
« Reply #27 on: November 02, 2019, 05:48:51 pm »

I didn't find any good example how to connect camera (USB or MIPI interface) to my version of Zybo board. Maybe someone of you know example project about how to connect modern camera to my board. I think  I can handle with some CV algorithms just if I can handle to gather data from camera.


To be honest, if you really want to focus on the imaging algorithms, the Z*-Boards might turn out to be somewhat over-engineered for that purpose. You need to get many things under control to use the full package:

However with an included board supply package you should be able to get images from a normal USB camera supporting UVC (I didn't have troubles when I tried a few years back). But the tricky thing then is to route that data into the FPGA for preprocessing, otherwise you could as well just take any off the shelf ARM SoC. This can get more complex and quirky than implementing a Soft-processor for such purposes.

Hello,

I some time ago made project with gathering video with Linux.I was using kernel driver and USB camera , then I process video data with use of "FFMPEG" software.

Could you give link to any example how to tis with "Zybo" board?
I wouldf be very grateful for that.

Best regards
 

Offline BrianHG

  • Super Contributor
  • ***
  • Posts: 8091
  • Country: ca
Re: Any Interesting Projects For Zynq
« Reply #28 on: November 02, 2019, 10:10:57 pm »
Has anybody found something interesting to do with a Zynq board?  I'm not talking about building an oscilloscope but rather something in the hobby arena.  I guess I'm looking for an excuse to buy a board and learn something new but the project should be interesting.

The boards are too expensive to just 'blink an LED'.

My interests are all over the map so 'interesting' covers a lot of territory.
Which one?

I suppose an answer would be a function of cost.  Really, cost isn't much of an issue so I really don't care which board.  I'm looking for something with substance.  I already know how to build complex systems in VHDL.  By no means am I an expert but I have been playing with them for 15 years or so, back to the Spartan II.

I don't know what kind of project.  I have no interest in RF or radio or much in the way of signal processing (hated that class).  I do like computer systems (but not just another CPU), maybe something like computer vision but something where the ARM cores actually need the FPGA fabric for something.

I have been harassing Google for videos; something will come up.  There simply must be an application for the Zynq that is interesting and requires both ARM code and VHDL.  Otherwise, why build the chip?
Well, the projects I listed yesterday:
Quote
Or maybe, an automatic gamepad joystick controller which takes in the video output from your gaming system, and through the visual, sends controls to your hacked open gamepad to perform a simple auto aim and fire for an existing first person shooter game.

Or maybe, a real time camera gimbal controller for a net or security camera which will always target and center in on the face of the closest person in view based on the video received by the camera.

What about a realtime image enhancer.

Maybe a 3 dimensional FFT statistical based background noise & hiss removal for old analog audio recordings.
     All require 3D realtime fir image filters to interpret and simplify down the image and track it's motion which is way beyond the raw capabilities of the ARM core, when done properly.  The ARM core would be used to correlate that filtered simplified 2D object motion data to correctly orient the camera, or send targeting motion and fire controls to the game console's controller.  However, you do not have enough capability within the Zynq FPGA to achieve an equivilant neuronet interpretation, you would need something like 100 of them in parallel.

     This also includes the audio one, being an exercise in a huge 16k point floating point 3 way FFT per audio channel with a huge correlation reference transition tables on both the X and Z axis, each point of which is also filtered once again, making it just as process intensive as the video filters when done right.  If the ARM core has hardware has floating point matrix multiply-add in it's core, such a quality filter would eat up just over 100% of the CPU, so, making such a core FPGA processed would remove the load on the CPU and allow realtime filtering.  (An equivilant filter available in CoolEdit2K can just be achieved in realtime with a dual core 1Ghz cpu or faster.)
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Any Interesting Projects For Zynq
« Reply #29 on: November 03, 2019, 03:56:26 am »
The main point of a Zynq (for me) is being able to access a lot of ram and with high memory bandwidth. If you use it correctly the DDR memory interface has way more throughput than any PSRAM or even SRAM you can find (while keeping costs within reason), that rivals even PCI-e. On a Zynq it's possible to do large FFTs in DRAM at a performance per watt that is on par with recent GPUs (which is notable because the Zynq is 28nm while the GPU is <10nm). That said, I can't really think of any applications that aren't DSP related.

When I first started out with the socfpga (Cyclone V SoC) the first things I did were to implement an audio interface, framebuffer video out interface (got X running), and general DMA stuff (data acquisition for ADC).
Email: OwOwOwOwO123@outlook.com
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf