首页 > 其他分享 >笔记5-vivado IP 时钟 -单端时钟输入

笔记5-vivado IP 时钟 -单端时钟输入

时间:2023-09-05 23:34:32浏览次数:50  
标签:100m wire led clk IP vivado rst 时钟 out

 这里选MMCM 进行配置

 

 

 

 用例化来调用IP,先找到生成IP后,接口例化的地方,软件已经自动例化好,只需将下面这段拷贝到工程文件中进行调用

 拷贝到led_prj.v文件中

  1 `timescale 1ns / 1ps
  2 //////////////////////////////////////////////////////////////////////////////////
  3 // Company: 
  4 // Engineer: 
  5 // 
  6 // Create Date: 2023/09/03 13:42:40
  7 // Design Name: 
  8 // Module Name: led_prj
  9 // Project Name: 
 10 // Target Devices: 
 11 // Tool Versions: 
 12 // Description: 
 13 // 
 14 // Dependencies: 
 15 // 
 16 // Revision:
 17 // Revision 0.01 - File Created
 18 // Additional Comments:
 19 // 
 20 //////////////////////////////////////////////////////////////////////////////////
 21 
 22 
 23 module led_prj(         clk                     ,           //50M--20ns
 24                         rst_n                   ,
 25                         led_out                 ,
 26                         clk_out_200m            ,
 27                         clk_out_100m            ,
 28                         clk_out_100m_180        ,
 29                         clk_out_50m             ,
 30                         clk_out_25m
 31     );
 32 
 33 parameter               T40_ms = 24'd10_000_000  ;
 34 
 35 input                   clk                     ;
 36 input                   rst_n                   ;
 37         
 38 output  [3-1 :0]        led_out                 ;
 39 output                  clk_out_200m            ;
 40 output                  clk_out_100m            ;
 41 output                  clk_out_100m_180        ;
 42 output                  clk_out_50m             ;
 43 output                  clk_out_25m             ;
 44     
 45 reg     [24-1:0]        cnt0                    ;
 46 reg     [3-1 :0]        led_out                 ;
 47 wire                    add_cnt0                ;
 48 wire                    end_cnt0                ;
 49 
 50 wire                    locked                  ;
 51 
 52 always@(posedge clk or negedge rst_n)begin
 53     if(!rst_n)begin
 54         cnt0 <= 0;
 55     end
 56     else if(add_cnt0)begin
 57         if(end_cnt0)begin
 58             cnt0 <= 0;
 59         end
 60         else begin
 61             cnt0 <= cnt0 + 1'b1;
 62         end
 63     end
 64 end
 65 
 66 assign add_cnt0 = 1;
 67 assign end_cnt0 = add_cnt0 && cnt0 == T40_ms -1;
 68 
 69 always@(posedge clk or negedge rst_n)begin
 70     if(!rst_n)begin
 71         led_out <= 3'b001;
 72     end
 73     else if(end_cnt0)begin
 74         led_out <= {led_out[1:0],led_out[2]};
 75     end
 76 end
 77 
 78 clk_wiz_0 instance_name
 79    (
 80     // Clock out ports
 81     .clk_out1_200m      (clk_out_200m           ),     // output clk_out1_200m
 82     .clk_out2_100m      (clk_out_100m           ),     // output clk_out2_100m
 83     .clk_out3_100m_180  (clk_out_100m_180       ),     // output clk_out3_100m_180
 84     .clk_out4_50m       (clk_out_50m            ),     // output clk_out4_50m
 85     .clk_out5_25m       (clk_out_25m            ),     // output clk_out5_25m
 86     // Status and control signals
 87     .reset              (~rst_n                 ),      // input reset
 88     .locked             (locked                 ),      // output locked
 89    // Clock in ports
 90     .clk_in1            (clk                    )       // input clk_in1                   
 91     );      
 92 
 93 //调用IP中的ILA,在线调试逻辑分析仪,先在工程中例化接口
 94 //时钟必须有
 95 //需要看什么信号,就添加几个probex,比如 需看cnt0 和 led_out
 96 `ifdef ILA_LED_PRJ
 97     ila_led_prj u_ila_led_prj(
 98                 .clk    (clk        ),
 99                 .probe0 (cnt0       ),
100                 .probe1 (end_cnt0   ),
101                 .probe2 (led_out    )
102     );
103 `endif
104 
105 
106 
107 endmodule
View Code

仿真测试文件led_sim.v也需稍微改动下

 1 `timescale 1ns / 1ps
 2 //////////////////////////////////////////////////////////////////////////////////
 3 // Company: 
 4 // Engineer: 
 5 // 
 6 // Create Date: 2023/09/03 21:33:34
 7 // Design Name: 
 8 // Module Name: led_sim
 9 // Project Name: 
10 // Target Devices: 
11 // Tool Versions: 
12 // Description: 
13 // 
14 // Dependencies: 
15 // 
16 // Revision:
17 // Revision 0.01 - File Created
18 // Additional Comments:
19 // 
20 //////////////////////////////////////////////////////////////////////////////////
21 
22 
23 module led_sim();     
24  
25 reg                 clk                 ;
26 reg                 rst_n               ;
27 
28 wire [3-1:0]        led_out             ;
29 
30 wire                clk_out_200m        ;
31 wire                clk_out_100m        ;
32 wire                clk_out_100m_180    ;
33 wire                clk_out_50m         ;
34 wire                clk_out_25m         ;
35 
36 parameter           CLK_CYCLE = 20  ;   //  20ns 
37 
38 initial begin
39     clk = 0;
40     forever begin
41         #(CLK_CYCLE/2);
42         clk = ~clk;
43     end
44 end
45 
46 initial begin
47    #1;
48    rst_n = 0;
49    #(CLK_CYCLE*5);
50    rst_n = 1;
51 end
52 
53 //渚嬪寲
54 led_prj     u_led_prj(         
55                         .clk                (clk                ),           //50M--20ns
56                         .rst_n              (rst_n              ),
57                         .led_out            (led_out            ),
58                         .clk_out_200m       (clk_out_200m       ),
59                         .clk_out_100m       (clk_out_100m       ),
60                         .clk_out_100m_180   (clk_out_100m_180   ),
61                         .clk_out_50m        (clk_out_50m        ),
62                         .clk_out_25m        (clk_out_25m        )
63 );
64 
65 endmodule
View Code

 综合分析

 

 添加信号,观察波形

用ILA 在线调试工具抓取波形 ,先把IO分配好

 

 修改ILA 的IP 设置

 

 

 

确认后,直接点生成bit, 进行编译 - 综合 -布局 布线- 生成bit - 下载烧录 ,软件自动调出ILA 波形窗口

 

标签:100m,wire,led,clk,IP,vivado,rst,时钟,out
From: https://www.cnblogs.com/wen2376/p/17681166.html

相关文章

  • 【原创】基于QT编写的支持IPv4/IPv6双协议栈,TCP/UDP双模式,DLL内存加载的模块化远控木
    本人已经本科毕业一年有余,在平常实习过程中,发现大佬都对我的本科毕设--双协议栈远控木马感兴趣。据我所知,目前流行的C2远控软件中,MSF支持IPv4和IPv6,但是MSF生成的单个木马只是支持其中的一种协议,而不是双协议栈。CobaltStrike目前尚无IPv6的使用案例。其他支持双协议栈的C2软件......
  • [Javascript] Write Observable
    functionObservable(forEach){this._forEach=forEach;}Observable.prototype={forEach:function(onNext,onError,onCompleted){if(typeofonNext==="function"){returnthis._forEach({onNext,onError:onEr......
  • Python开发之pip3
    简介pip是Python包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。命令使用查看pip3版本pip--version下载安装包使用以下命令pipinstallsome-package-name例如我们安装numpy包pipinstallnumpy我们也可以轻易地通过以下的命令来移除软件......
  • 无涯教程-JavaScript - DAYS360函数
    描述DAYS360函数返回基于360天的年份(十二个月为30天)的两个日期之间的天数,该天数用于会计计算。语法DAYS360(start_date,end_date,[method])争论Argument描述Required/OptionalStart_dateThetwodatesbetweenwhichyouwanttoknowthenumberofdays.Requir......
  • 让API开发更高效——Apipost
    作为一款专为API开发设计的工具,Apipost凭借其强大的功能和高效的特点,正逐渐受到越来越多开发者的欢迎。本文将向您详细介绍Apipost的独特优势以及如何让您的API开发更加高效。Apipost适用于所有与API开发相关的从业者,包括但不限于前端工程师、后端工程师、测试工程师和产品经理。无......
  • 让API开发更高效——Apipost
    作为一款专为API开发设计的工具,Apipost凭借其强大的功能和高效的特点,正逐渐受到越来越多开发者的欢迎。本文将向您详细介绍Apipost的独特优势以及如何让您的API开发更加高效。Apipost适用于所有与API开发相关的从业者,包括但不限于前端工程师、后端工程师、测试工程师和产品经理。......
  • ipv4+ipv6+端口号正则表达式,最极限的各种搭配组合
    Ipv4^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$Ipv6^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^::([\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25......
  • python pip安装源使用(记录需要放置的文件位置)
     win系统下:资源管理器地址栏(或任意文件夹地址栏)中输入%appdata%回车进入该目录。 在此文件夹下新建pip文件夹,然后在文件夹中添加pip.ini文件  文件写入:[global]trusted-host=nexus.XXXXXXX.cnindex-url=http://nexus.XXXXXXX.cn/repositor......
  • 【Python爬虫笔记】爬虫代理IP与访问控制
    一、前言在进行网络爬虫的开发过程中,有许多限制因素阻碍着爬虫程序的正常运行,其中最主要的一点就是反爬虫机制。为了防止爬虫程序在短时间内大量地请求同一个网站,网站管理者会使用一些方式进行限制。这时候,代理IP就是解决方案之一。本文主要介绍如何在爬虫程序中使用代理IP以应对反......
  • 笔记 | element table show-overflow-tooltip 位置偏移的问题
    一、问题因为我目前的项目是微前端的工程,最外层有一个50px的通用头部,所以页面要减去50px。所有页面看似都很完美,但是使用el-table-column的show-overflow-tooltip属性时,tooltip会向下偏移50px。想到的解决办法:按照el-tooltip的属性更改placement="right"能解决。但......