FPGA如果没有外部复位信号,如何产生复位信号,初始化所有寄存器? |
您所在的位置:网站首页 › pll公式里没有合适的怎么办 › FPGA如果没有外部复位信号,如何产生复位信号,初始化所有寄存器? |
对于FPGA,没有专用的复位引脚。它的任意一个I/O口都可以用作复位引脚。但是,作为if复位,最希望该引脚由全局时钟驱动,到达每个寄存器的时间时间是一样的。 如果没有外部复位信号,该如何对所有寄存器初始化?有两种方法,第一种使用PLL的locked信号;第二种是写一个自复位信号。 一、可以使用PLL的locked信号。使用PLL锁相环倍频时钟时,PLL锁相环的locked信号上电为低;当PLL输出信号稳定的时候,locked信号会被拉高。也可以设置多少个时钟之后,locked被拉高。此时,PLL锁相环的输入时钟为全局时钟。即完成上电复位操作。 PLL实例化如下: wire sys_rst_n; PLL_Control PLL_Control_inst( .CLK_IN1(sys_clk_i), .CLK_OUT1(clk_100M), .LOCKED(sys_rst_n) );其中sys_rst_n作为全局复位信号。 PLL锁相环的设置参考博客:《锁相环PLL》https://blog.csdn.net/weixin_38621214/article/details/83757242 二、自复位信号 module RST_INER( clk_100M, Rst_n ); input clk_100M; output Rst_n; //============================================================== wire clk_100M; reg Rst_n; //============================================================== parameter INNER_CNT_END=9'd128; reg [8:0] rst_inner_cnt; always @(posedge clk_100M) if(rst_inner_cnt |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |