element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Embedded Forum Get Your Xilinx FPGA/Programmable SoC Questions Answered here
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 40 replies
  • Subscribers 472 subscribers
  • Views 4940 views
  • Users 0 members are here
  • soc
  • answer
  • xilinx
  • fpga
  • questions
Related

Get Your Xilinx FPGA/Programmable SoC Questions Answered here

rscasny
rscasny over 6 years ago

In the past year or so, the element14 community has been offering quite a few programs, contests, and initatives around Xilinx's FPGA and heterogeneous SoC, ZYNQ. We have hosted webinars, run roadtests, and offered a training program last year called Path to Programmable.

 

I see element14 member interest in Xilinx product knowledge on the rise. I plan on offering more Xilinx-related projects and roadtests in the coming months. (Stay tuned to Path to Programmable 2 with the Ultra96v2) Given all this activity, I thought it would be a great idea to bring in a Xilinx product expert for some well needed Q&A time. So let me introduce you to Adam Taylor ( adamtaylorcengfiet ).

 

I believe Adam has been an element14 member for several years. He is the Director of ADIUVO Engineering. He is a Chartered Engineer and Fellow of the Institute of Engineering and Technology. He is well known for his Microzed Chronicles. He writes the Exploring the Programmable World for element14. Adam has been instrumental in developing element14's FPGA/Programmable SoC Essentials.

 

Adam also is an expert in the PYNQ framework: Python for ZYNQ productivity. So, if you are asoftware developer who wants to explore the Programmable world, I'd encourage you to ask Adam your top questions.

 

So, if you have any questions revolving around FPGAs, programmable SoCs, a project in progress, perhaps even a question about Vivado, please click REPLY and asked them here.

 

Sincerely,

 

Randall Scasny

-element14 Team

  • Sign in to reply
  • Cancel

Top Replies

  • jomoenginer
    jomoenginer over 6 years ago +4
    Awesome! It's great that adamtaylorcengfiet is a resource on element14 for Programmable SoC questions. I'm sure I will have many as I finish my Digilent Zybo Z7 RoadTest. I do find Adam's Microzed Chronicles…
  • jomoenginer
    jomoenginer over 6 years ago +4
    For what it's worth, there is an Integrating Arm Cortex-M soft CPU IP into FPGAs virtual workshop that features Adam Taylor as an instructor and uses the Digilent Arty S7-50T to be held August 14th, 2019…
  • wolfgangfriedrich
    wolfgangfriedrich over 6 years ago +3
    I would appreciate any comments on a process on how to make the DDR3 SDRAM MIG work without using the AXI interface in VHDL. As a target platform I have the Digilent Arty S7 board. I tried this during…
Parents
  • beacon_dave
    beacon_dave over 6 years ago

    A couple of areas I'm interested in exploring with FPGA ( initially using the TUL PYNQ-Z2 board ) are:

     

    1) HDMI video capture and processing where the PYNQ-Z2 is used for low cost HDMI capture / pass through for basic object/pedestrian detection/tracking which is then further used for indexing video recordings or automated tracking such as remote camera control. 
    (It would also be interesting to look at accessing the HDMI I2C bus to extract/inject EDID information via the PYNQ framework to enable video signal diagnostic type applications.)

     

    Some interesting online resources I've found in this area so far are:

     

    • Adam Taylor - Use Python, Zynq and OpenCV to Implement Computer Vision
      https://www.hackster.io/adam-taylor/use-python-zynq-and-opencv-to-implement-computer-vision-361e1b
      which is based on the Arty Z7-20 so I am expecting similar performance on the PYNQ-Z2. THe 29.7fps reported looks good
      enough for experimentation purposes with an option to move up to the UltraScale+ boards.

     

    • Adrian Rosebrook - Pedestrian Detection OpenCV
      https://www.pyimagesearch.com/2015/11/09/pedestrian-detection-opencv/
      using OpenCV's histogram of gradients model for pedestrian detection.

     

    • Adam Geitgey - snagging parking spaces with mask r-cnn and python
      https://medium.com/@ageitgey/snagging-parking-spaces-with-mask-r-cnn-and-python-955f2231c400
      Computer vision with some machine learning applied.

     

    Some inital questions perhaps arise around what are the quick wins in terms of hardware acceleration vs productivity in this area. A lot of the processing appears to still be done in software on the ARM processor as oppossed to being accelerated on the FPGA. Are there perhaps more appropriate computer vision libraries that would make better use of the FPGA hardware ?

     

    2) Serial data capture and processing where the FPGA hardware or MicroBlaze subsystem are used to create a customizable UART to decode the incoming serial data and make it available via the PYNQ framework. Perhaps using the hardware to detect
    certain conditions to filter the data stream off-loading some of the processing.


    One application I had in mind was to be able to ingest a DMX512 lighting protocol on a RS-485 interface and have Python scripts react when certain data frames are sent out from a lighting console. Perhaps using the HDMI inputs and outputs to pass through live video and switch it with still images (or computer generated art / real time data from the web) controlled by the lighting console to create intelligent lighting displays using video projection or video walls.

     

    For experimentation purposes one perhaps could even use the MicroBlaze subsystem to set up a virtual DMX512 transmitter and and virtual DMX512 receiver and access  both via the PYNQ framework all on the one board without any worries of timing issues.

     

    However at a more general level, similar approaches perhaps could be used for more general serial data acquisition and status display on an attached HDMI screen as a protocol diagnostic tool.

     

    Unfortunately there doesn't yet appear to be PYNQ driver available for the existing PMOD 485 interface
    https://store.digilentinc.com/pmod-rs485-high-speed-isolated-communication/
    and I've not found much in the way of associated on-line FPGA tutorials in this particular area, especially not with using the PYNQ framework.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • adamtaylorcengfiet
    adamtaylorcengfiet over 6 years ago in reply to beacon_dave

    The Pynq Z2 should give a similar performance if you use the OpenCV overlay as outlined in the blog of mine you mention. If you want to look at the Ultra96 which is the best board available for many projects I think in my opinion then you can get significant speeds up including >100 frames per second for optical flow algorithm implementation https://blog.hackster.io/microzed-chronicles-ultra96-and-pynq-da3b22cc982

     

    Regarding the PYNQ driver for the Pmod485 it is possible to write C code for the micro-blaze in the Jupyter note book, so you could use this approach and leverage the Pmod485 driver from the Digilent PMod library. I covered it briefly in a blog here https://blog.hackster.io/pynq-edition-interfacing-with-pmods-arduino-and-raspberry-pi-61676f9f0fab

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • adamtaylorcengfiet
    adamtaylorcengfiet over 6 years ago in reply to beacon_dave

    The Pynq Z2 should give a similar performance if you use the OpenCV overlay as outlined in the blog of mine you mention. If you want to look at the Ultra96 which is the best board available for many projects I think in my opinion then you can get significant speeds up including >100 frames per second for optical flow algorithm implementation https://blog.hackster.io/microzed-chronicles-ultra96-and-pynq-da3b22cc982

     

    Regarding the PYNQ driver for the Pmod485 it is possible to write C code for the micro-blaze in the Jupyter note book, so you could use this approach and leverage the Pmod485 driver from the Digilent PMod library. I covered it briefly in a blog here https://blog.hackster.io/pynq-edition-interfacing-with-pmods-arduino-and-raspberry-pi-61676f9f0fab

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube