在FPGA各个大小项目中,PLL是一个关键的部分。它可以进行分频和倍频,还可以产生一定的相位差。它比定时器计数分频的好处在于,它稳定,没有产生毛刺,噪声。
但是PLL启动到稳定需要一定的时间,PLL稳定后供给后面模块计数需要一定的时间。
常用的设计思路是:
子模块不断复位,直到PLL时钟稳定下来,复位停止。
使用的代码为:
assign zi_rst_n = sys_rst_n && locked_w;
代码分析:因为系统和子模块的复位都是低电平,PLL稳定下来后,locked_w变为1,否则为0.
那么在系统未稳定的时候,zi_rst_n 一直为零,直到稳定才为1.