modelsim时序仿真ALTERA PLL输出高阻
时间:10-02
整理:3721RD
点击:
这两天在玩STA和时序仿真,在CYCLONE II 上调用PLL,输入200M。
c0输出200M,有相移;c1不输出;c2输出200M,也有相移;Timequest
上分析没问题,但是在modelsim时序仿真的时候,发现当输入为200M时,
PLL一直没有锁定,输出全为高阻:
run -all
# Note : CycloneII PLL is enabled
# Time: 0 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
# Warning : Invalid transition to 'X' detected on CycloneII PLL input clk. This edge will be ignored.
# Time: 0 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll .n1
# Note : CycloneII PLL was reset
# Time: 7342 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
于是我将输入改为100M,输出就正常了
run -all
# Note : CycloneII PLL is enabled
# Time: 0 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
# Warning : Invalid transition to 'X' detected on CycloneII PLL input clk. This edge will be ignored.
# Time: 0 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll .n1
# Note : CycloneII PLL was reset
# Time: 7342 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
# Note : CycloneII PLL locked to incoming clock
# Time: 10068822 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
另外要说明的是,我的时间精度设得很高了,`timescale 1ps/1ps,应该不是精度引起的问题,
两次仿真,添加的库都是一样的。难道CYCLONE II的PLL跑不到200M?
c0输出200M,有相移;c1不输出;c2输出200M,也有相移;Timequest
上分析没问题,但是在modelsim时序仿真的时候,发现当输入为200M时,
PLL一直没有锁定,输出全为高阻:
run -all
# Note : CycloneII PLL is enabled
# Time: 0 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
# Warning : Invalid transition to 'X' detected on CycloneII PLL input clk. This edge will be ignored.
# Time: 0 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll .n1
# Note : CycloneII PLL was reset
# Time: 7342 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
于是我将输入改为100M,输出就正常了
run -all
# Note : CycloneII PLL is enabled
# Time: 0 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
# Warning : Invalid transition to 'X' detected on CycloneII PLL input clk. This edge will be ignored.
# Time: 0 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll .n1
# Note : CycloneII PLL was reset
# Time: 7342 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
# Note : CycloneII PLL locked to incoming clock
# Time: 10068822 Instance: TESTBENCH.DUT.\PLL0|altpll_component|pll
另外要说明的是,我的时间精度设得很高了,`timescale 1ps/1ps,应该不是精度引起的问题,
两次仿真,添加的库都是一样的。难道CYCLONE II的PLL跑不到200M?
200M的时候多复位一会试试。
200M时钟频率太高了,接口有问题吧
我之前选择的器件速度等是-8,后来改成-7后就正常输出了,看来接口上是不能那么高
200M时钟频率太高了,接口有问题吧
