发 帖  

modelsim仿真Altera的pll,希望得到9Mhz,但结果是1Mhz,不知道问题出在哪

2084
2019-12-7 12:09:56   评论 分享淘帖 邀请回答 举报
3个回答
2019-12-7 13:45:41 3 评论

举报

3 条评论
  • 2019-12-7 13:48

    参数写错了:
    parameter CLK_1M  = 32'd50   ;//1MHz ( 1000ns )

  • 2019-12-7 13:54

    *******************************************************
    //设置锁相环PLL输出90MHz
    //clk_in  = 90MHz  10分频就是9MHz
    //rst_n 低电平有效(常态为高电平)

    parameter CLK_9M  = 32'd5       ;//9MHz ( 10分频 )

    reg   clk_9m                    ;

    always@(posedge clk_in or negedge rst_n)
    begin
      if(!rst_n)
      begin
        clk_cnt <=  'h0             ;
        clk_9m  <=  'b0             ;
      end
      else  if(clk_cnt ==  CLK_9M - 1'b1)
      begin   
        clk_cnt <=  'h0             ;
        clk_9m  <=  ~clk_9m         ;
      end
      else
      begin
        clk_cnt <=  clk_cnt + 1'b1  ;
        clk_9m  <=   clk_9m         ;   
      end
    end
    *******************************************************

    hello_shang 回复 卿小小_9e6: 2019-12-7 14:50

    非常感谢,也是一种方法

2019-12-7 13:55:19 3 评论

举报

3 条评论
  • 2019-12-7 17:23

    原来的pll在开发板上能产生9M,pll本身应该没有问题。可能是仿真哪里出了问题,结果才是1Mhz的

    卿小小_9e6 回复 hello_shang: 2019-12-9 09:20

    我尝试在CycloneIV上设置PLL为9MHz,设置OK。
    (但是仍对PLL的参数持怀疑态度,因为我设置成1ns=1GHz竟然没有报错。我最快要明天才能拿到硬件做实际测试,测试后我会附图回复)
    你的仿真代码和PLL设置没有问题,建议有条件的话使用示波器实际观察PLL的输出。

    hello_shang 回复 卿小小_9e6: 2019-12-9 12:29

    问题找到了,是仿真的问题,时间精度不匹配,原来的是1ns/1ns,改成1ns/1ps就正常了。有点郁闷吧。。

2019-12-9 12:38:55 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

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

快速回复 返回顶部 返回列表