有时候我们需要不同频率的时钟信号,而fpga本身是不能产生这些信号的,这时候就需要使用到fpga的IP核来生成,下面使用fpga与modelsim的联合仿真来展示。
如:
原信号为100MHz,现在想利用IP核生成50MHz和150MHz的信号
主程序
module ip_filetest(
input clk,
input areset,
output clk50,
output clk150,
output locked
);
pll pll_inst (
.areset ( areset ),
.inclk0 ( clk ),
.c0 ( clk50 ),
.c1 ( clk150 ),
.locked ( locked )
);
endmodule
测试程序
`timescale 1 ns/ 1 ps
module ip_filetest_vlg_tst();
reg areset;
reg clk;
// wires
wire clk50;
wire clk150;
wire locked;
ip_filetest i1 (
.areset(areset),
.clk(clk),
.clk50(clk50),
.clk150(clk150),
.locked(locked)
);
initial
begin
areset <= 1'b1;
clk <= 1'b0;
#100
areset <= 1'b0;
#1000 $stop;
end
always #5 clk <= ~clk;
endmodule