[Altera]PLL仿真
EDA Tools:
1、Quartus II 13.1(64-bit)
2、Modelsim SE-64 10.1c
Time:
2016.05.05
-----------------------------------------------------------------------------------
经常看到有人在纠结PLL仿真事项,由于自己也从未试过。特作试验。
一、PLL设置:
----------------------------------------
input signals
----------------------------------------
inclk0:输入时钟,设置27M
areset:异步输入,高有效复位
----------------------------------------
----------------------------------------
output signals
-------------------------------------------------
c0:输出时钟,设置74.25M,且与输入时钟同相
locked:输出锁定,高电平表示输出时钟已经锁住
-------------------------------------------------
二、测试代码如下:
1 `timescale 1ns/1ps 2 3 module tb; 4 5 reg inclk0 = 0; 6 reg areset = 1; 7 8 always #18.519 inclk0 = ~inclk0; 9 10 initial begin 11 #10; 12 repeat(20) @(posedge inclk0); 13 areset <= 0; 14 end 15 16 wire c0; 17 wire locked; 18 19 20 pll_74p25m pll_74p25m_inst 21 ( 22 .areset ( areset ), 23 .inclk0 ( inclk0 ), 24 .c0 ( c0 ), 25 .locked ( locked ) 26 ); 27 28 29 initial begin 30 #10; 31 repeat(200) @(posedge inclk0); 32 $stop; 33 end 34 35 36 endmodule
三、仿真波形
简要分析波形:
1、从复位撤销到时钟锁住输出,仅仅经历4个clock(当然,这只是个参考值,不一定所有都是这个数吧);
2、只有在输出时钟出来,locked信号才拉高。所以,可以使用它作为系统的复位信号(或源);
3、同相的参考点是输入时钟的上升沿。
-----------------------------------------------------------------------------------------------
over!