zoukankan      html  css  js  c++  java
  • 复位电路设计——利用PLL锁定信号(lock)产生复位信号

    利用PLL锁定信号(lock)产生复位信号

    在FPGA刚上电的时候,系统所需的时钟一般都要经过PLL倍频,在时钟锁定(即稳定输出)以前,整个系统应处于复位状态。因此,我们可以利用PLL的锁定信号来产生复位信号,具体代码实现和testbench如下。

    module sys_rst(
        input  sys_clk,
        input  clk_locked,

        output rst
    );

    parameter CNT_LEN = 16'hffff;

    reg  [15:0] cnt;
    reg         rst_out;

    always @(posedge sys_clk)
        if(cnt == CNT_LEN)
            rst_out <= 1'b0;
        else
            rst_out <= 1'b1;

    always @(posedge sys_clk)
        if(cnt == CNT_LEN)
            cnt <= cnt;
        else if(clk_locked)
            cnt <= cnt + 1'b1;
        else
            cnt <= 0;

    assign rst = rst_out;

    endmodule



    `timescale 1ns/1ns

    module tb_sys_rst();
       
    reg  clk;
    reg  clk_locked;
    wire rst;

    initial begin
        clk = 0;
        clk_locked = 1'b0;
        #500;
        clk_locked = 1'b1;

    end

    always #25 clk = ~clk;

    sys_rst u_sys_rst(
      .sys_clk    (clk ),
      .clk_locked (clk_locked),
      .rst        (rst )
    );

    endmodule

    问题:

    寄存器在上电后默认值是什么?在综合工具中如何设置?

  • 相关阅读:
    【题解】[USACO07OPEN]Dining G
    【学习笔记】拉格朗日插值
    【题解】简单的数学题
    docker-compose编排参数详解
    Harbor搭建企业级docker仓库
    centos7制作U盘启动盘
    c语言输入矩阵的对角线之和
    搭建rsync+inotify实现实时备份
    CentOS7添加自定义脚本服务
    Linux搭建NFS服务
  • 原文地址:https://www.cnblogs.com/dpc525/p/4562433.html
Copyright © 2011-2022 走看看