element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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
Path to Programmable
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable
  • More
  • Cancel
Path to Programmable
Blog Module 1 - Lesson 1
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: dotmish
  • Date Created: 8 Oct 2018 8:09 PM Date Created
  • Views 917 views
  • Likes 8 likes
  • Comments 9 comments
Related
Recommended

Module 1 - Lesson 1

dotmish
dotmish
8 Oct 2018

P2P – Module 1 – Lesson 1 Notes

 

Introduction

 

This is an introductory video that is about 9 minutes in length.  The training is branded as AVNET “Speedway”, and is taught by Josh Foster.  The module 1 objectives are:

 

  • Understand how to use Vivado's tools with the Zynq-7000.
  • Learn about the integrated ARM Cortex A9 processor core.
  • Use the Xilinx embedded tools to design and build a system - including both the integration of pre-built IP modules and also developing our own modules.  And then some training on how to run and debug everything.

 

The course objectives are pretty comprehensive, as the course includes both hardware and software development.

 

Agenda

 

image

There are a total of 9 labs. And they’re using Tcl, which is an OLD scripting language developed in the 1980s by John Ousterhout.  A little history here: https://www.tcl.tk/about/history.html.  I last used Tcl on an embedded project using Wind River’s Workbench in the early 2000s.

 

Why Develop a FPGA Design?

 

There are a lot of good reasons to off-load stuff from a CPU into a FPGA.  Some of the reasons include:

  • High CPU utilization.  They mention 90% as a threshold, but in my experience I would be terrified if a design was loading the CPU at that level.  At that level of utilization, interrupt timings are likely not being met.  My personal experience is to not exceed 60-70%.  But maybe that is just me.
  • If your software is doing CPU intensive, recurring tasks.
  • Interrupt handling is delayed.  Real easy to screw up communications protocol when that happens.

 

Software is Inherently Sequential in the Embedded World

 

The lecture makes the case that software engineers always doing things with sequential logic – which is not really true.  For example, we use .NET and C# at work and there is a lot of support for asynchronous (parallel) threads.  Also, statistical languages such as R and Python support parallelism.  Of course, this code usually runs on powerful multi-core Intel or Amd processors, which generally aren’t found in embedded applications.  But in a sense, any time you have a task scheduler that supports multiple priority levels in your embedded OS, or if you can offload some work to a lot of the "peripheral manager" units found on many embedded CPUs, you do get some amount of parallelism.

 

A Hardware Solution Can Better Support Parallelism

 

Typically, using hardware such as a FPGA will enable parallel processing.  And it’s also true that implementing parallel processing in hardware will be generally more more efficient than in software.  But in hardware, a memory management system is required to resolve concurrent memory read/write.

 

Marketing Slide For the Zynq Product Line

image

This is pretty neat, didn’t realize that what we’re going to use was the first all programmable SOC family. That is a lot of design wins.  And a lot of ecosystem partners.  The product was introduced in March 2011, so it's been around for a while.

 

System Overview

 

There's a lot of horsepower on-board:

  • Programmable logic
  • Built in processors - up to 1GHz clock speed.
  • "Massive" DSP capability: up to 1000 GMACs!
  • High throughput to direct connections
  • High performance I/O.
  • Gigabit transceivers (up to 12.5Gbps)

 

The board design makes it possible to move previously software-only (“C” blocks) into hardware (“HDL” blocks)..  There is mention of co-processor implementation but don't understand where or what product models incorporate co-processors.

 

The hardware logic can be updated in realtime.  Intensive algorithms (such as  SDR – software defined radio, encryption, and data processing) can be implemented in hardware - and then controlled and coordinated by the software.

 

A software designed radio  what I want to do for my project. Don’t know (yet) if there is sufficient A/D and D/A resolution and sample/conversion speed to support 2m (about 145MHz) and 70cm (about 440MHz) for both direct down and up conversion – creating a transceiver.  Will be fun to find out.

 

The board supports reduced power modes:

  • Lower static and I/O power needs.
  • Ability to adjust clock and timing frequencies.
  • The ARM processor has built in low-power states.

 

The claim is a 50% reduction in power consumption compared to traditional multi-chip solutions.  I've had the misfortune to have been in the "need too much power" battleground before, in one case with a battery powered processor that burned way too much energy – and we had to implement a complex “sleep mode” using both hardware and software.  Not fun.

 

Reduced EMI is another benefit. EMI is always an issue with embedded medical designs.

 

The tools support software and hardware co-development.

 

Eco-System and Security

 

Wish high security wasn’t necessary but these days … it’s nice to see it.  Zync boots from a single secure hardware source.  They made a reference to a separate detailed security presentation – maybe that will be later in the course.  Having two or more boot methods makes it possible for a hacker to create a hidden back door into your system.

 

They have Hypervisor and trusted zone solutions as well.  And there are a lot of supported solutions from partners:

 

Middleware:

  • Timesys (a real-time Linux implementation)
  • MathWorks (MathCAD)
  • Wind River
  • Enea

 

Operating Systems:

  • Nucleus from Accelerated Technologies - now Mentor.
  • QNX
  • ENEA
  • VxWorks

 

Hypervisors:

  • Open kernel labs
  • Green Hills
  • Wind River
  • Open virtualization

 

Marketing Slide - Device Portfolio

 

image

This is a really nice slide that shows the relative capabilities of the product line.  All parts in the family share the same A9 core.  Ahh, looks like A/D only 12 bit.  Don’t see D/A.  Maybe there is something available in the DSP or on the A9.  Guess I'll learn that at some point.  My backup SDR plan was to support the recently opened very low (600m and 2200m) bands.  Much lower processing needs at hundreds of Kilohertz compared to hundreds of Megahertz.…

 

Not too surprising that a product that has a “mini” prefix is the entry level product.

 

Lots of prototype and products!  Including:

  • ZedBoard
  • MicroZed
  • PicoZed
  • UltraZed
  • Zynq MMP
  • Zynq Mini-ITX

 

And this lecture indicates at the end that we should complete a “developing zync software” online speedway.  Will have to dig up the link for that.  Will post what I find.

 

Lecture Summary

 

This was a very informative lecture that gave me a basic understanding of the Zync software/hardware world, and also about the many partners that provide support middleware and real-time operating systems.

  • Sign in to reply

Top Comments

  • dotmish
    dotmish over 7 years ago in reply to dotmish +2
    Hi Rod, I heard from Randall Scasny. He is ok with posting the lecture list, and then he wants me to tone things down so there are only one or two screenshots per blog post. So will be making some edits…
  • 14rhb
    14rhb over 7 years ago in reply to dotmish +2
    Dave, Great stuff. Please keep up with your useful and interesting blogs. ...and good luck :-) Rod
  • genebren
    genebren over 7 years ago +1
    Interesting materials. Did you learn anything about programming? Gene
  • Fred27
    Fred27 over 7 years ago

    Whilst looking around the web for further Zynq info, I seem to have stumbled over the Avnet Speedway workshops. I assume this is a  tweaked or updated version of that.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 7 years ago

    Hi David,

     

    Great blog post! Very informative about what the ZYNQ does and the software solutions for it.

    Good luck with the rest of the modules!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Fred27
    Fred27 over 7 years ago

    Very informative. Thanks.

     

    I understand that the training is just for you guys, but I wonder what the end goal is? if it was just to train a few of you in secret there would be no need to blog. It would be nice to see what the intention is to share with the wider audience. Perhaps I'll ask this on the main page.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • 14rhb
    14rhb over 7 years ago in reply to dotmish

    Dave,

     

    Great stuff. Please keep up with your useful and interesting blogs.

     

    ...and good luck :-)

     

    Rod

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dotmish
    dotmish over 7 years ago in reply to dotmish

    Hi Rod,

     

    I heard from Randall Scasny.  He is ok with posting the lecture list, and then he wants me to tone things down so there are only one or two screenshots per blog post.  So will be making some edits shortly. 

     

    Thanks for raising the issue and heading off trouble!

     

    Dave Mishler

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
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