【安路FPGA】如何使用锁相环(PLL)IP核

#来自学渣的问候
#为什么我这么菜

因为还用不好这个文本编辑器,所以博文暂时没有段落空格,请原谅我这个菜鸡XD

因为参加FPGA创新设计大赛用的是国产的 安路FPGA 开发板,所以这几天一直在研究它的编译环境,大约是我太菜了,导致我和刁爷(队友)老是被自己产生的问题蠢哭了,所以解决完问题之后,来写个博文记录一下。
安路FPGA使用的编译环境是它自己研发的 Tang Dynasty 简称唐朝(TD),而我们今天要调用的IP核,就是它的锁相环(PLL)IP核。
关于PLL,它的大致介绍是这样的:

PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时钟信号,使高频器件正常工作,如内存的存取资料等。PLL用于振荡器中的反馈技术。 许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步。一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,由相应的器件VCO,实现转成高频,但并不稳定,故利用锁相环路就可以实现稳定且高频的时钟信号。
在这里插入图片描述

以上内容来自百度百科,锁相环(PLL)这个东西说起来很复杂,但其实也很简单,因为我们今天并不需要了解它的原理,我们只需要知道怎么调用它的IP核就可以了。

大部分情况下,我们使用PLL的IP核,用的就是它的一个功能,倍频 or 分频,在我们使用的外部模块需要给基准时钟信号的时候,我们利用PLL将FPGA的时钟信号 分频或倍频 成外设模块需要的时钟信号,来达到良好的控制作用。那么,我们怎么在 安路的TD软件中,调用这个IP核呢?
首先,我们打开安路的TD软件,创建一个工程。这里,我们专门写一个,输出PLL信号的程序。
选择Tools,点击 IP Generator
在这里插入图片描述

罗小黑乱入,叉出去(bushi)
然后会出现一个方框,选择 Create a New IP core ,这里我一开始以为是让我自己创一个IP核,我以为让我自己写代码,但这个就是创建一个IP核的选项。在这里插入图片描述

选择之后,会让你取一个名字,点击OK之后,出现的就是IP核的库,里面包含了安路提供的所有IP核。

在这里插入图片描述
在这里插入图片描述
我们找到PLL的IP核,其实就在页面上~
在这里插入图片描述

锁相环IP核的设置界面是这个样子的。配置界面比Quartus II 的简洁。在这里插入图片描述

这里我配置的巨大问题,就是关于锁相环倍频的倍数问题,当时是为了给VGA一个时钟频率,要25.2MHz,结果我们在设置的时候,发现只能设置12的倍数(因为安路的板载晶振是24M的),要么只能给24M,要么36M,没有办法设置出25M,我当时的内心是崩溃的,甚至打开Quartus来做参考,看我到底出了什么问题。

在这里插入图片描述在这里插入图片描述

我调了快一个小时,才突然想到,如果不是安路不能设置其它倍数的频率(这是不可能的),那就是我之前的参数设置错了,肯定第一个界面有一个地方,是可以让我选择任意频率的时钟信号。

第一个页面上,出现了四种模式,分别尝试过后,发现第四种模式可以实现任意的选择。

在这里插入图片描述

可以看到界面上的Actual Frequency 是24.9M,接近我们需要的时钟频率了。保留后续所有安路提供的设置。
在这里插入图片描述

点击最后的OK

在这里插入图片描述

下一个界面,点击OK,会问你是否添加到工程里,点击方框—点击Yes。
在这里插入图片描述
在这里插入图片描述
这时候一个IP核就设置好了。那么哪一个才是例化好的文件呢?在左上角有一个小盒子一样的图。
在这里插入图片描述
这个就是例化的IP核模块,点击图之后,会出现这个带 module的代码,我们把这里复制粘贴到顶层文件,例化一下,就可以使用锁相环PLL这个功能了。
在这里插入图片描述

在这里插入图片描述这个有点例化有点不是很好看,因为我中途设置的是这样子,就没再改动了,如果不需要,可以在设置界面中保留。这里就保留安路的设置了。

那么这个就是安路FPGA的编译环境 TD 的锁相环PLL设置方法的全过程了,希望能帮到大家。

小白初学,难免出错,如有问题请指出,也请见谅

发布了8 篇原创文章 · 获赞 6 · 访问量 1662

猜你喜欢

转载自blog.csdn.net/Ninquelote/article/details/102337257