Hello, my friends, i am new here and it is my first project.

This project will be my BSC.

I have to make next:  

1. Make USB CAM interfacing on System Level using systemC... My diagrams are shown in the post.  I need to capture the photo using a USB CAM. After that, the picture needs to be stored in some memory. After that the image processing logic (In my case, the logic needs to have the photo (stored in memory) as its input, the idea is just to decrease the photo size (pixels) and the output is the result (decreased size picture)), after that the  result of processing needs to be stored in memory too. After that i have to choose... in easier way i will use some photo viewer to see the result, in more difficult way i will use HDMI in order to see my result on the HDMI enabled monitor.

My plan is making it on System Level  using coding, HLS,IP integrator, SDK for some software. 

2.If SystemLevel work great i need to make it on RTL, IP level using pure HDL. I will use Vivado. I am not sure for now what i need to modify from SystemC to IP level (For now, i think just Image processing logic).

3.IP verification using QuestaSim.


I have a question:

1. Has someone done something similar? Can you help me, like as give me some good literature or example (For now i am focusing on USB interfacing, i have been searching about this about few days, but without results..., I have read a book (SystemC "From Ground up")).

2. All suggestions are welcome :)


Best regards! :)






Share this post

Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
3 hours ago, dpaul said:

@Aleksandar,Thank you for your reply, but i will not use SD card,  as i said , i have to make some systemC code, convert it into IPs using Vivado integrator, add some needed and existing IP cores from Vivado, connect it, make bit file and code some sofware in using SDK. Now i am stacked in the part of interfacing USB to FPGA.

I can't find one project where USB interfacing is used or some literature about this.


I found this out:



Share this post

Link to post
Share on other sites
  • 0

Hi @Aleksandar,

The USB host functionality on the Zybo runs between the multiplexed IO at the ARM processor to an IC at the USB OTG port. The communication between this PHY and the processor is not something that I would recommend trying to develop yourself. Unfortunately, that functionality has not been implemented.  The fastest way to getting USB peripherals interfaced with the board would be to run an embedded Linux image on it,, for which there already exists drivers that would handle communication with various USB peripheral devices (something through PetaLinux would be quick to implement). Here is the resource center for the zybo. Here is the Petalinux Support for Digilent Boards which has multiple versions of petalinux project.

thank you,





Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now