CrazyBingo

Chapter 15:国产FPGA之让没有晶振的生活成为可能

0
阅读(14862)

第十五章

国产FPGA之让没有晶振的生活成为可能

 

当年我在CPLD的UFM使用中,讲过让没有晶振的生活成为可能,感兴趣的朋友可以看看"让没有晶振的生活成为可能——UFM"

http://www.cnblogs.com/crazybingo/archive/2010/05/14/1735338.html

其实国产FPGA也未尝不可。但这不能完全说不用晶振,而是真对于FPGA而言,不用那个死贵死贵的有源晶振罢了。

国产FPGA除了外部有源晶振,无源晶振,内部还有内部振荡器,这我在前面章节讲过(典型值15MHz,会随着温度在9~20M波形)。一般不推介使用这个内部振荡器,这个振荡器主要是给AS用的。。面对死贵死贵的有源晶振,我们可以用无源晶振来替换那个5*7的晶振。这就是特某人没有把这个5RMB的晶振焊接上去的原因吧。只为了入门简单,Bingo先焊接上了那玩样,从这一刻起,我们遵循特某人的旨意,开使用无源晶振来配置吧。

在前面第一课:外部时钟驱动流水灯;第二课外部时钟+PLL驱动流水灯的基础上,我们开始不用外部晶振,用11.0592MHz的无源晶振配置电路。

预知过程如何,切听Bingo一一道来!

(1)新建工程,你懂的

wps_clip_image-17290

(2)Wizard Manager→ Oscillator

wps_clip_image-24610

wps_clip_image-16895

(3)选择外部晶体11.0592MHz(内部16M不准确。)

wps_clip_image-20782

(4)Finish

wps_clip_image-12861

(5)查看状态

wps_clip_image-7273wps_clip_image-19015

(6)例化myOscillator

wps_clip_image-32316

(7)修改或者重新配置myPLL(不用还不行,全局时钟的原因),如下

a) 输入11.06MHz

wps_clip_image-24995

b) 输出4倍频:44.24MHz

wps_clip_image-20933

c) 将全局时钟CLK[1]设置为external crystal(如果你要使用CLK1的话,其实不设置也没关心,因为我们仅仅使用了pllout0--clkout0)

wps_clip_image-10698

d) Finish

wps_clip_image-555

(8)例化myPLL(如果你在原工程上修改,仅需修改输入即可)

wps_clip_image-2728

(9)如果你新建工程,则配置引脚;反之,run project

(10)Download,那水灯,有流起来了。。。。

最后

稍作美化,规范了一下设计风格(好的代码是写给人看的):

(1)封装water_led.v

wps_clip_image-25473

(2)顶层例化water_led,并加入工程

wps_clip_image-19576

wps_clip_image-6080

(3)Run project,download,告一段落,如下RTL图

wps_clip_image-16718

wps_clip_image-2215

注意:不例化PLL,直接使用myOscillator,还真不能直接用。。。,如下,得到的结果就是没反应!!!原因就是因为没有配置好全局时钟吧,因为跟external crystal 有关的是CLK[1],而默认却是clk1,------------PLL必须得用啊,设置全局时钟

wps_clip_image-29695

注意:

这好像跟直接有源晶振时钟倍频有点点不一样,有源晶振倍频能跑到75M,但有源晶振倍频能跑到80多点M,再高就挂了。。

wps_clip_image-1408

哎。。。。还是50MHz吧。。。。。