Clocking Wizard Standalone driver

This page gives an overview of clk_wiz BareMetal driver.

Table of Contents

Introduction

This page gives an overview of clk_wiz driver which is available as part of the Xilinx Vivado and SDK distribution.

For more information, please refer   TRM which includes links to the official documentation and resource utilization. 

Driver Sources

The source code for the driver is included with the Vitis Unified Software Platform installation, as well as being available in the Xilinx Github repository. 

Driver Name

Path in Vitis

Path in Github

clk_wiz

<Vitis Install Directory>/data/embedded/XilinxProcessorIPLib/drivers/clk_wiz

https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/clk_wiz

Note: To view the sources for a particular release, use the rel-version tag in github.  For example, for the 2020.1 release, the proper version of the code is: https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/clk_wiz


The driver source code is organized into different folders.  The table below shows the clk_wiz driver source organization. 

DirectoryDescription

doc

Provides the API and data structure details

data

Driver .tcl , .mdd and .yaml files

examples

Example applications that show how to use the driver features

src

Driver source files, make and cmakelists file

Note: AMD Xilinx embeddedsw build flow has been changed from 2023.2 release to adapt to the new system device tree based flow. For further information, refer to the wiki link Porting embeddedsw components to system device tree (SDT) based flow

The .yaml(in data folder) and CMakeLists.txt(in src folder) files are needed for the System Device Tree based flow. The Driver .tcl and .mdd files are for the older build flow which will be deprecated in future.


Driver Implementation

For a full list of features supported by this IP, please refer  TRM

Features

  1. Accepts up to two input clocks and up to
    seven output clocks per clock network.
  2.  Provides an AXI4-Lite interface for
    dynamically reconfiguring the clocking
    primitives for Multiply, Divide, Phase Shift/
    Offset, or Duty Cycle.

Known Issues and Limitations

  • None

Example Applications

Refer to the driver examples directory for various example applications that exercise the different features of the driver. Each application is linked in the table below. The following sections describe the usage and expected output of the various applications.  These example applications can be imported into the Vitis IDE from the Board Support Package  settings tab. 

Links to Examples

Examples Path:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/clk_wiz/examples

Test Name

Example Source

Description
Clocking wizard versal example

xclk_wiz_versal_example

Example to set the output frequency to a specific rate for versal platform.
Clocking wizard zynqmp examplexclk_wiz_set_rate_exampleExample to set the output frequency to a specific rate for zynqmp platform.
Clocking wizard  Interrupt mode example

xclk_wiz_intr_example

 This example tests the clock monitoring example

Example Application Usage

Clock Wizard versal example

This examples does basic rate setting  of clocking wizard.

Expected Output 

------------------------------------------
CLK_WIZARD example
------------------------------------------
Successfully ran CLK_WIZARD example

Clock Wizard Interrupt mode example

 This example tests the clock monitoring example

Expected Output

------------------------------------------
CLK_WIZARD example
------------------------------------------
Successfully ran CLK_WIZ Monitor interrupt example


Example Design Architecture

NA

Performance

NA


Change Log

2024.2

https://github.com/Xilinx/embeddedsw/blob/xilinx_v2024.2/doc/ChangeLog#L55

2024.1

https://github.com/Xilinx/embeddedsw/blob/xilinx_v2024.1/doc/ChangeLog#L201

2023.2

embeddedsw/doc/ChangeLog at xilinx_v2023.2 · Xilinx/embeddedsw · GitHub

2023.1

None

2022.2

https://github.com/Xilinx/embeddedsw/blob/xilinx_v2022.2/doc/ChangeLog#L90

2022.1

None

2021.1

None

2020.2

https://github.com/Xilinx/embeddedsw/blob/xilinx_v2021.1/doc/ChangeLog#L1170

2020.1

https://github.com/Xilinx/embeddedsw/blob/xilinx_v2021.1/doc/ChangeLog#L2100


Related Links

© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy