日常看代码遇见的,IP_Core用于分频或者倍频的PLL的使用,嗯,具体的实现原理也不需要了解了,毕竟有现成的库可以调用,或者说是模块吧,只需要实例化一波就行,还是库方便!Modelsim的话,一款可以配合Quartus进行模拟仿真的软件,今天也试了一下!
如何使用IP_Core的PLL模块功能,有几篇好的教程可供参考,具体设置过程有点繁琐,不过代码却极简!
https://blog.csdn.net/taowei1314520/article/details/76944455
`timescale 1ns / 1ps
module PLL
(
input clk,
input rst,
output clk0,
output clk1,
output clk2,
output clk3
);
always@(posedge clk or negedge rst)
begin
end
wire locked;
PLLCORE ipcore
(
.inclk0(clk),
.areset(rst),
.c0(clk0),
.c1(clk1),
.c2(clk2),
.c3(clk3),
.locked(locked)
);
endmodule
库调用的方便这里也算是一个极好的体现,但是由于是分频和倍频的具体实现,显然结果需要具体测试,嗯,由于是对外部时钟源操作(此项程序里频率过高),因此需要一台高性能的示波器,直接测量已分配引脚的波形情况即可!
但是!没有示波器的情况下怎么办,这就需要通过仿真实现,Modelsim自然就能用得到了,由于正版需要付费,因此需要破解,额,连接附上,教你具体如何破解
https://www.cnblogs.com/lamblabs/p/8588550.html
使用的话,一开始也觉得挺复杂,毕竟我是很不喜欢仿真的,因为仿真仿真,实际用的时候不一定能用,毕竟在一个虚拟的平台上
我很倾向使用实际示波器测试,这里有个疑问,FPGA的引脚是随便用的吗?(不针对指定开发板的情况下),随便分配?还是像STM32那样,各个引脚存在一定的复用功能,选择使用呢?大概率貌似是后者,有时间通过具体例程我来测试一波
Modelsim仿真也是有教程的,这里也感谢一下相关博友,链接附上
https://blog.csdn.net/finded/article/details/20143881
仿真结果,未完待续……
Confuesd!!!