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
Path to Programmable
  • Challenges & Projects
  • Design Challenges
  • Path to Programmable
  • More
  • Cancel
Path to Programmable
Blog Week 5 Lab 9 The Power of Scripting using Tcl
  • 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: snidhi
  • Date Created: 29 Nov 2018 1:11 PM Date Created
  • Views 1163 views
  • Likes 4 likes
  • Comments 2 comments
  • vivado ip
  • path to programmable
  • vivado
  • vivado tcl
  • vivado design suite
Related
Recommended

Week 5 Lab 9 The Power of Scripting using Tcl

snidhi
snidhi
29 Nov 2018

All my previous blogs can be read in detail here Path to Programmable This blog is further continued from Week 5: Done!! Lab 8 A good read of the previous blog 8 is necessary to understand this Lab 9 as they are related in the project context.

 

  • Aim of the Lab 9 Blog
  • Finish Hardware Build using Tcl
  • Look into the .xdc file
  • Power Utilization of the project
  • Final Device and Schematics
  • Conclusion

 

Aim of the Lab 9 Blog

 

In lab 9 we explore the benefits of scripting as we prepare to finalize our hardware project to be used in the Developing Zynq Software Speedway. We then explore and discuss the various changes that were made and interfaces added.

 

When you have completed Lab 9, you will know how to do the following

• Source a Tcl script

• Understand the power of scripting

• Understanding of the hardware platform that will be used in the Developing Zynq Software Speedway

 

Finish Hardware Build using Tcl

 

The advantages of using tcl are many. This being the hardware programmer can work independently from the GUI. There is no more dependance on the changing versions of the Vivado GUI but the learning curve for the tcl scripting is quite high and steep. I have seen experts struggling for quite some years to get a full hang of the tcl way of programming. Here the plan is to add an ip core from Avnet using the tcl window and also spending some time to look into the tcl code and analysing the tcl script. The tcl script was also sent to us by the training program and is not self written

 

 

image

Continuing from the previous project lab 8

 

image

Adding the Avnet IP which is a wireless manager block. The block deals with all the wireless radio interfaces that are available via the Murata module located on the MiniZed.

 

image

The full design after the Avnet IP wireless manager block is added to the current design.

 

image

Deep look into the Avnet IP wireless manager block.

image

 

image

 

image

Many other ip block such as the GPIO blocks, AXI IIC Block and xlconcat are added to the design which are related to the wireless manager and the bluetooth ip cores. This makes the design very complex. I did spend a significant amount of time to understand what was going on in the design after the whole thing exploded in my face image

 

Many such downloadable Vivado IP core are available at the Avnet website


Look into the .xdc file

The timing constraints for the wireless manager ip core was also delivered with the project sample. As one can see each used hardware port in the fpga needs to be constrained by setting the correct LVDS IO standard and the pin package. writing your own .xdc files is a tricky job hence I am happy we were not asked to write our own files. The various constraints will route the interface signals through the Programmable Logic out to the various interfaces on the MiniZed.

 

Some links to understand xdc file

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2012_2/ug945-vivado-using-constraints-tutorial.pdf

https://www.cl.cam.ac.uk/research/srg/netos/projects/netfpga/workshop/technion-august-2015/material/slides/2015_Summer_C…

 

image

A detailed look into the .xdc files for the Lab 9

 

image

 

image

Playing around with the RTL reports of the generated project

 

image

Finally generating the bit-stream ready to send/export the hardware to the software SDK.

 

imageThe below parts were not a part of the original training but I spent some time to go a bit deeper into the generated project and how it was added to the fpga on the device level.

 

Power Utilization of the project

 

There is a lot to play around and I dedicated some time to see the power consumption graphs generated in the final project. There are also more detailed txt files of power consumption which one can play with share around.

 

image

The final power utilization of the chip with the final project

 

Final Device and Schematics

 

As a self exploration I also went and looked into the generated schematics for each block. One can really zoom in and go as deep as to see the RTL blocks that are generated on the fpga chip.

 

image

How the final project system on chip looks like above

 

image

New schematics of the hardware in the project

 

image

Looking into the device blocks generated in RTL level on the fpga

 

image

How the full device connectivity to different blocks look like. BY hovering over the lines one can see detailed descriptions of each of the connections.

 

image

Reading the timing reports after the power analysis

 

image

Power analysis Summary

 

Conclusion

This brought me to an end of the first part of the training series which was very interesting to learn. But as one can see from the previous projects there are a lot of things from hardware to software to constraints going into the design. There are also many hidden routes which can be made use of to see some unconventional but interesting results such as reading the generated logs and reports on power analysis.

 

I found the training to be fun with many levels of learning involved. Clearly I can see the the current fpgas are very time and labor intensive in terms of design point of view.

  • Sign in to reply

Top Comments

  • snidhi
    snidhi over 6 years ago in reply to mconners +1
    Thank you Michael. Vivado has many hidden gems in the tool itself. Kudos to you too for keeping up the pace Cheers
  • snidhi
    snidhi over 6 years ago in reply to mconners

    Thank you Michael. Vivado has many hidden gems in the tool itself.

    Kudos to you too for keeping up the pace image

     

    Cheers

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mconners
    mconners over 6 years ago

    You are doing a great job on these modules. Very interesting to read what you are observing.

     

     

    Mike

    • Cancel
    • Vote Up 0 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