刚调试板子,FPGA芯片是A3P060VQ100,想用一个PLL来做SPI时钟。
调试程序如下,是用LED灯闪烁程序修改
//************************************************
//** 模块名称: test
//** 功能描述:使一个LED灯闪烁
//************************************************
module LED(
clk48M,
RSTn,
LED,test
);
input clk48M;
input RSTn;
output [3:0] LED;
output test;
wire clk18M;
wire VCC_sig;
wire GND_sig;
reg [3:0] LED;
reg [22:0] count;
assign VCC_sig = 1'b1;
assign GND_sig = 1'b0;
assign test =0; //
always@(posedge clk18M or negedge RSTn)
begin
if(!RSTn)
begin
LED<=4'h8;
count<=23'h0;
end
else
begin
count<=count+1;
if(count==23'hff_ff_ff)
begin
LED<=LED>>1;
count<=0;
if(LED==4'h0)
LED<=4'h8;
end
end
end
//调用锁相环宏进行时钟分频
pll18m pll18m(
.POWERDOWN(VCC_sig), //
.CLKA(clk48M),
.GLA(clk18M)
);
endmodule
PLL模块用“Internal Logic” 48MHz输入,18MHz输出,0 ns delay
预想的结果是边沿触发频率变低,LED灯闪烁变慢。
仿真结果输出CLK18M信号也正常
但是LED一直都是低电平输出。
问题:
1、PLL应用程序中是否正确?
2、输入引脚类型要设置为哪种?
3、有没有比较典型的用HDL输入的PLL应用例子?
感谢
|