CrazyBingo

FPGA使用多个晶振的问题

0
阅读(7535)

FPGA使用多个晶振的问题

1. 多时钟电路设计

当系统庞大了,当时序复杂了,当时钟多了,当一个PLL不够用的时候,我们只用用2个或者或者PLL了。这个时候,就需要多个CLK,来实现多个PLL工作。因为一个CLK只能驱动一个CLK,而且BANK1(CLK0-CLK3)对应PLL1 ,BANK3(CLK4-CLK7)对应PLL2(TQFP的Cyclone II是这样的,两个PLL)。

wps_clip_image-31451

因此,在PCB设计的时候,就要在不同Bank的CLK输入不同的时钟。根据经验,个人觉得,有两种方法:

(1)用一个晶振,同时练到不同BANK的CLK上

如下,这是参照当年的艾米EP2C5设计的电路,两个PLL,屡试不爽

wps_clip_image-31586

当年设计完后,用的屡试不爽,但是,这在PCB走线的时候有问题,不得不考虑到,也许是致命的!

① 除非你晶振放在CLK0和CLK4中间,否则无法保证等长;

② 同时过长的时钟线要跨越FPGA片子,没有干扰才怪呢!!

③ 一个晶振驱动多个时钟,他电流足够否?

也许这就是当年实验室那个NIOS的板子。跑步了fast的原因吧!!!,电路图如下,你们觉得有没有问题,反正我觉得有问题!

wps_clip_image-27848

(2)用2个不同的晶振,分别练到不同的BANK的CLK上

当然,个人觉得这样比较好,每一个CLK给一个晶振,走线,电流等,都不用考虑到,DE2是这样设计的,如下,共三个时钟源,50M,27M,以及一个外部输入的时钟源,同时连接到各自Bnak的CLK上:

wps_clip_image-6863

wps_clip_image-14465

参照DE2,以及自己的总结,Bingo是这样设计的,如下,两个50M的晶振分别连接到了不同BANK的CLK上,以实现不同PLL的驱动。

wps_clip_image-7371

wps_clip_image-22974

2. 多时钟逻辑设计

时钟设计师非常关键的问题,比如我们要尽量避免门控时钟,避免始终满天飞,某公司设计的代码,那真的是一点也不注意这些问题,哎。。。

目前,项目中用到了多个时钟,包括如下:

1) 系统时钟125MHz

2) SDRAM IC时钟125MHz,偏移-3ns

3) VGA像素时钟25MHz,或者其他分辨率像素时钟等

4) 摄像头时钟输出50MHz

5) 摄像头像素时钟输入50MHz

初期在DE2-35设计电路,发现由于CMOS_PCLK在普通IO上,而不是全局时钟输入IO,总会丢失数据,而且时序上很难过去,看来开发板不是万能的。

后来重新设计摄像头电路,将时钟输出口直接连到FPGA全局时钟上面,如下图所示,顺间,电路变得很稳定,图像变得很清晰,不在偏移,perfect!

wps_clip_image-16289

最后,跟很多人探讨过一个问题,FPGA有专用时钟输出IO,但是当频率不是很高的时候,勉强用普通IO,也没事,FPGA吃得消,如下SDRAM_CLK与CMOS_XCLK时钟设计电路:

wps_clip_image-26927

wps_clip_image-1681

wps_clip_image-7485

不过在FPGA中综合的时候会有警告,这个在无双0大叔的博客中说过,忽略;俺们峰哥说了,没事的。

wps_clip_image-5623

3. 多晶振的问题

Bingo在驱动MT9M111的时候,因为SDRAM需要时钟,VGA需要一个时钟,MT9M111需要一个时钟,系统需要一个时钟,这是少四个时钟,逼得我不得不设计多个时钟的电路,为了后续的方便。电路如上。

但是,奇怪的问题是,让我无比困惑不解

1) 晶振1即28IO的CLK,屡试不爽

无论怎么跑,在承受范围内,不管电路多复杂,都跑的好好的,当然这是必须的。。。

2) 晶振2即132IO的CLK,很不爽!!!!!

很奇怪的是用上这个CLK之后,电路变得很不听话,他驱动不了身边的SDRAM,但是可以驱动远点的SDRAM,他不能跑25M的VGA,但是能跑65M的VESA,原本用28IO设计完美的工程,用了132IO就挂掉,就算勉强可以,也是效果不好。。

如果,斗胆同时使用了这两个晶振,两个PLL同时工作,那不用说了,稍微修改下代码,改变电路就会挂掉。好像时序 非常非常非常非常非常重要的养子。。实在是无解。。。。

猜想如果晶振2没工作,那他有时候是可以的,不是时间问题,是FPGA片内电路的问题,稍微改变一下逻辑就会over,肯定不是虚焊的问题,当然我都补锡好几次了。。。误解。。。

我能猜想到的,除了晶振2很不正常外,就是两个晶振不同步导致的?还是难道EP2C8是假的片子???

实在是无奈,探讨的过程中,也发现了问题,无奈……

wps_clip_image-6653

因为这个问题,板子有一种莫名的痛……%>_<%