当前位置:   article > 正文

PLLE2_ADV、MMCME2_ADV源语详解

plle2

上图红色部分为PLLE2_ADV源语功能,其余部件为人为添加的电路,包括输入缓冲输出缓冲反馈方式

  1. // CLKOUT0 = CLKIN1 / DIVCLK_DIVIDE * CLKFBOUT_MULT / CLKOUT0_DIVIDE
  2. // CLKFBOUT 由 CLKIN1锁定输出,经过缓冲区后进入 PLL CLKFBIN,PLL 对 CLKFBIN 经过 CLKFBOUT_MULT 倍频然后分频得到每个通道的时钟进行输出
  3. PLLE2_ADV #(
  4. .BANDWIDTH ("OPTIMIZED" ),
  5. .CLKFBOUT_MULT (7*MMCM_MODE ), // CLKFBOUT_MULT 为 CLKFBIN 时钟的倍频系数
  6. .CLKFBOUT_PHASE (0.0 ), // 反馈时钟相位偏移
  7. .CLKIN1_PERIOD (CLKIN_PERIOD ), // 输入时钟1约束(ns)
  8. .CLKIN2_PERIOD (CLKIN_PERIOD ), // 输入时钟2约束(ns)
  9. .CLKOUT0_DIVIDE (1*MMCM_MODE ), // 0通道分频、占空比、相位参数
  10. .CLKOUT0_DUTY_CYCLE (0.5 ),
  11. .CLKOUT0_PHASE (0.0 ),
  12. .CLKOUT1_DIVIDE (4*MMCM_MODE ), // 1通道分频、占空比、相位参数
  13. .CLKOUT1_DUTY_CYCLE (0.5 ),
  14. .CLKOUT1_PHASE (22.5 ),
  15. .CLKOUT2_DIVIDE (7*MMCM_MODE ), // 2通道分频、占空比、相位参数
  16. .CLKOUT2_DUTY_CYCLE (0.5 ),
  17. .CLKOUT2_PHASE (0.0 ),
  18. .CLKOUT3_DIVIDE (7 ), // 3通道分频、占空比、相位参数
  19. .CLKOUT3_DUTY_CYCLE (0.5 ),
  20. .CLKOUT3_PHASE (0.0 ),
  21. .CLKOUT4_DIVIDE (7 ), // 4通道分频、占空比、相位参数
  22. .CLKOUT4_DUTY_CYCLE (0.5 ),
  23. .CLKOUT4_PHASE (0.0 ),
  24. .CLKOUT5_DIVIDE (7 ), // 5通道分频、占空比、相位参数
  25. .CLKOUT5_DUTY_CYCLE (0.5 ),
  26. .CLKOUT5_PHASE (0.0 ),
  27. .COMPENSATION ("ZHOLD" ), // 时钟输入补偿
  28. .DIVCLK_DIVIDE (1 ), // 对输入时钟的分频系数
  29. .REF_JITTER1 (0.100 ) // 输入时钟抖动精度(0.000 to 0.999)
  30. )
  31. rx_plle2_adv_inst (
  32. .CLKFBOUT (rx_mmcmout_x1 ), // CLKFBOUT 由 CLKIN1锁定输出,经过缓冲区后进入 PLL CLKFBIN
  33. .CLKOUT0 (rx_mmcmout_xs ), // CLKOUT0 输出时钟
  34. .CLKOUT1 ( ), // CLKOUT1 输出时钟
  35. .CLKOUT2 ( ), // CLKOUT2 输出时钟
  36. .CLKOUT3 ( ), // CLKOUT3 输出时钟
  37. .CLKOUT4 ( ), // CLKOUT4 输出时钟
  38. .CLKOUT5 ( ), // CLKOUT5 输出时钟
  39. .DO ( ), // 动态调整用,输出
  40. .DRDY ( ), // 动态调整用,输出
  41. .PWRDWN (1'b0 ), // 1:PLL断电 0:PLL正常工作
  42. .LOCKED (mmcm_locked ), // PLL所有时钟相位对齐且频率匹配后,锁定标志被置位
  43. .CLKFBIN (rxclk_div ), // CLKFBOUT 由 CLKIN1锁定输出,经过缓冲区后进入 PLL CLKFBIN
  44. .CLKIN1 (rx_clkin_p_d ), // PLL 输出时钟1
  45. .CLKIN2 (1'b0 ), // PLL 输出时钟2
  46. .CLKINSEL (1'b1 ), // PLL 输出时钟选择,1:CLKIN1,0:CLKIN2
  47. .DADDR (7'h00 ), // 动态调整用,输入
  48. .DCLK (1'b0 ), // 动态调整用,输入
  49. .DEN (1'b0 ), // 动态调整用,输入
  50. .DI (16'h0000 ), // 动态调整用,输入
  51. .DWE (1'b0 ), // 动态调整用,输入
  52. .RST (reset ) // PLL复位
  53. ) ;

​​​​​​​


1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。

2.未经原作者允许不得转载本文内容,否则将视为侵权;

3.转载或者引用本文内容请注明来源及原作者;

4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。

关注【一个早起的程序员】精彩系列文章每天不断。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/925253
推荐阅读
相关标签
  

闽ICP备14008679号