使用IP core, altera里面是PLL,设置输出频率,输入频率,Quartus工具会自动设置倍频和分频因子。
如果超出范围会报错
这个IP core, altera里面是PLL的确可以设置。但是这个不是根据FPGA类型的。举个例子,你用EP2S15F484C5用IP core的PLL生成选择20MHz输入,1G输出软件也不会报错的,但是对这个FPGA而言200MHz的系统时钟就是极限了。它PLL生成的没当作是系统时钟可能只分布在固定线路上比如并串转换端口。所以最大范围要依照芯片型号而定。
你问的第二个问题超出了倍频是无法实现的。分频可以达成。如50M的输入得到2.5M可以使用计数器的办法。简单的说就是以50M为时钟计数。每个周期即1个,即为20时输出。这样得到2.5M的输出。但是请注意这样的占空比不是50%。如果要占空比为50%计数为10时拉高输出。记为20时拉低。