当前位置:   article > 正文

Vivado时钟IP核_vivado中clkip核

vivado中clkip核

时钟资源介绍

本文以Xilinx ZYNQ为例对FPGA的时钟资源进行介绍。

时钟资源主要有以下几方面:

全局时钟(Global clocks)为整个设备提供时钟;

区域时钟(Regional clocks)为一个区域(和相邻区域)的时钟提供时钟;

IO 时钟(IO clocks)为 IO 结构提供时钟;

时钟管理模块(Clock management tiles)提升时钟质量,如 MMCM(可动态调整)和 PLL。

 全局时钟Clock Backbone是全局贯穿的主干道,借助HROW的道路可以为所有的同步原件提供时钟,也将整片FPGA分为左右两部分,局部时钟Clock Region又分为不同的区域,每个区域被HROW分为上下两部分。将上图中阴影部分单独拿出来,如下图:

 BUFG:全局时钟缓冲器;BUFH:水平时钟缓冲器;BUFIO:IO时钟缓冲器;BUFR:区域时钟缓冲器;BUFMR(一般用不到);MMCMPLL都是为了提高时钟质量,但MMCM可以动态调整。

创建时钟IP核

先创建一个工程,并在设计文件中对端口做定义:

  1. module ip_clk_wiz(
  2. input sys_clk,
  3. input sys_rst_n
  4. );
  5. endmodule

1) IP Catalog; 

2)搜索栏clock,并选择Clocking Wizard双击打开;

 3)时钟命名;选择MMCM/PLL;选择平衡性能;选择输入频率(与外部晶振对应)

 4)选择输出时钟个数与频率/相位;

 5)根据芯片高/低电平复位有效,选择对应的复位类型。

 创建成功:

 从.veo文件复制IP模板,粘到设计文件中并将端口连接:

  1. `timescale 1ns / 1ps
  2. module ip_clk_wiz(
  3. input sys_clk,
  4. input sys_rst_n,
  5. output clk_out1,
  6. output clk_out2,
  7. output clk_out3,
  8. output clk_out4,
  9. output locked
  10. );
  11. clk_wiz_0 instance_name
  12. (
  13. // Clock out ports
  14. .clk_out1(clk_out1), // output clk_out1
  15. .clk_out2(clk_out2), // output clk_out2
  16. .clk_out3(clk_out3), // output clk_out3
  17. .clk_out4(clk_out4), // output clk_out4
  18. // Status and control signals
  19. .resetn(sys_rst_n), // input resetn
  20. .locked(locked), // output locked
  21. // Clock in ports
  22. .clk_in1(sys_clk)); // input clk_in1
  23. endmodule

TB:

  1. `timescale 1ns / 1ps
  2. module tb_ip_clk_wiz( );
  3. reg sys_clk;
  4. reg sys_rst_n;
  5. wire clk_100M;
  6. wire clk_100M_180de;
  7. wire clk_50M;
  8. wire clk_25M;
  9. wire locked;
  10. initial begin
  11. sys_clk =1'b0;
  12. sys_rst_n = 1'b0;
  13. #200
  14. sys_rst_n = 1'b1;
  15. end
  16. always #10 sys_clk <= ~sys_clk;
  17. ip_clk_wiz ip_clk_wiz_u(
  18. .sys_clk(sys_clk),
  19. .sys_rst_n(sys_rst_n),
  20. .clk_out1(clk_100M),
  21. .clk_out2(clk_100M_180de),
  22. .clk_out3(clk_50M),
  23. .clk_out4(clk_25M),
  24. .locked(locked)
  25. );
  26. endmodule

跑仿真,得到波形图如下图:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/972349
推荐阅读
  

闽ICP备14008679号