国产FPGA助学进度7——晶体调试手记
0赞国产FPGA助学进度7——晶体调试手记
拿到ASOC,就迫不及待的开始了测试。没想就一个晶体的起振配置和LED闪烁就折腾了两周才最终以晶体本身的问题告终。
之前一直用着有源晶振给FPGA输入时钟,这回出于成本考虑,也尝试使用astro II自带的晶体输入接口产生时钟。调试的过程可谓一波三折,但也确实有不少收获和心得。
如图1所示,Astro II家族的XIN/XOUT接口连上了11.0592MHz的晶体。
图1
想想这只是一篇手记,就不把整个工程拖出来凑文字了(后面配套ASOC会有专门的傻瓜教程),抓重点的简单说一些注意事项和技巧:
1. 晶体在硬件上连接Astro II的XIN/XOUT,在内部时钟例化使用这个晶体作为时钟需要做两件事:首先,使用myOscillator例化时钟输出,时钟源选择external crystal;其次,需要对PLL做例化和相关配置。
2. PLL的Clock Control配置页面必须选择CLK1 source为External crystal。
3. PLL配置完成后,在简单的应用中,有可能被综合掉(言下之意就是和没配置一样)。但若想希望第2步的设置生效,必须防止这种事情发生。
4. 晶体质量一定要保证,特权同学纠结最久的就是这个晶体在前面都正确配置后,时而能够正常作为内部时钟工作时而哑火罢工(外部管脚测量都是正常的输出波形)。从软件版本到并联谐振电容值再到周边电路挨个怀疑一遍都没有找到问题。最后换掉它,新的晶体上来后一切正常。