在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7990|回复: 11

[求助] 求助,altera fpga对内部信号直接用内部PLL倍频,该怎么做

[复制链接]
发表于 2014-3-25 15:50:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 yngfng 于 2014-3-25 15:58 编辑

代码如下,quartus综合报错说,第19行的pll ip的输入,只能是片外管脚,或者另一个pll的输出管脚,而不能直接连一个寄存器clk_recover;

请问这种情况有没有什么办法解决,请各位大侠支招?

要求:
1)不能把clk_recover接出去,再接回来,因为片外管脚连接不方便动;
2)valid信号只能由内部时序逻辑生成,因为是一个复杂的算法;





  1. module fpga_top (
  2.     input wire clki,
  3.     output wire clko
  4. );

  5. // 时序逻辑生成valid
  6. reg valid;
  7. ...........

  8. // 由valid生成含抖动的恢复时钟clk_recover
  9. reg clk_recover;
  10. always @(posedge clki)
  11.     if (valid)
  12.         clk_recover <= ~clk_recover;
  13.     else
  14.         clk_recover <= clk_recover;

  15. // 用pll IP对clk_recover进行锁定和倍频,并输出
  16. pll pll_inst (
  17.     .inclk0 (clk_recover),
  18.     .c0      (clko)
  19. );
  20. endmodule


复制代码
发表于 2014-3-25 16:40:48 | 显示全部楼层
altera的PLL的输入时钟,需要从全局时钟管脚接入,否则会报错
 楼主| 发表于 2014-3-25 18:16:55 | 显示全部楼层
有没有办法把内部寄存器,连到全局时钟上
发表于 2014-3-26 00:36:00 | 显示全部楼层
让这个信号通过一个clkctrl再接pll试下
 楼主| 发表于 2014-4-2 08:39:59 | 显示全部楼层
试了一下,通过一个clkctrl再接pll,还是报同样的错误;
发表于 2014-4-2 15:44:50 | 显示全部楼层
clk_recover不要定义为reg型试试
另外,先把clk_recover给一个中间变量,再输入到PLL中
而且,似乎clk_recover要由外部时钟输入给他才行
发表于 2014-4-2 15:53:47 | 显示全部楼层
你这个程序有问题哈。。。
发表于 2014-4-16 10:37:49 | 显示全部楼层
你是做 两个clk切换   
  你可以用pll先产生着两个clk ,相位设置好 一个是0相位,一个180度相位   然后在输出应用时 再切换
发表于 2014-4-22 08:03:42 | 显示全部楼层
What is u FPGA Device?
发表于 2014-4-22 08:54:38 | 显示全部楼层
你这个程序,pll是quartus自动生成的IP,在设定的时候,需要定义输入时钟的频率吧,FPGA板子都有自己的内定原始时钟频率的,然后再分频,你这个输入的时钟是变化的,肯定不行的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-28 15:34 , Processed in 0.027250 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表