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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4149|回复: 14

[求助] Spartan 3AN DCM原语使用的问题

[复制链接]
发表于 2016-5-16 11:06:09 | 显示全部楼层 |阅读模式

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

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

x
问题描述:打算用DCM原语直接写一个4倍频的例子,这样写可以吗??输入是CLKIN,50M,打算输出一个200M的频率iCLK,clk0直接与CLKFB相连。DCM原语中我没有用到的部分都注释掉了。







  1.    DCM_SP #(
  2. //      .CLKDV_DIVIDE(2.0), // Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5
  3.                           //   7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0
  4.       .CLKFX_DIVIDE(1),   // Can be any integer from 1 to 32
  5.       .CLKFX_MULTIPLY(4), // Can be any integer from 2 to 32
  6.       .CLKIN_DIVIDE_BY_2("FALSE"), // TRUE/FALSE to enable CLKIN divide by two feature
  7.       .CLKIN_PERIOD(0.0),  // Specify period of input clock
  8.       .CLKOUT_PHASE_SHIFT("NONE"), // Specify phase shift of NONE, FIXED or VARIABLE
  9.       .CLK_FEEDBACK("1X"),  // Specify clock feedback of NONE, 1X or 2X
  10.       .DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"), // SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or
  11.                                             //   an integer from 0 to 15
  12.       .DLL_FREQUENCY_MODE("LOW"),  // HIGH or LOW frequency mode for DLL
  13.       .DUTY_CYCLE_CORRECTION("TRUE"), // Duty cycle correction, TRUE or FALSE
  14.       .PHASE_SHIFT(0),     // Amount of fixed phase shift from -255 to 255
  15.       .STARTUP_WAIT("FALSE")   // Delay configuration DONE until DCM LOCK, TRUE/FALSE
  16.    ) DCM_SP_inst (
  17.       .CLK0(CLK0),     // 0 degree DCM CLK output
  18. //      .CLK180(CLK180), // 180 degree DCM CLK output
  19. //      .CLK270(CLK270), // 270 degree DCM CLK output
  20. //      .CLK2X(CLK2X),   // 2X DCM CLK output
  21. //      .CLK2X180(CLK2X180), // 2X, 180 degree DCM CLK out
  22. //      .CLK90(CLK90),   // 90 degree DCM CLK output
  23. //      .CLKDV(CLKDV),   // Divided DCM CLK out (CLKDV_DIVIDE)
  24.         .CLKFX(iCLK),   // DCM CLK synthesis out (M/D)
  25. //      .CLKFX180(CLKFX180), // 180 degree CLK synthesis out
  26. //      .LOCKED(LOCKED), // DCM LOCK status output
  27. //      .PSDONE(PSDONE), // Dynamic phase adjust done output
  28. //      .STATUS(STATUS), // 8-bit DCM status bits output
  29.       .CLKFB(CLK0),   // DCM clock feedback
  30.       .CLKIN(CLKIN),   // Clock input (from IBUFG, BUFG or DCM)
  31. //      .PSCLK(PSCLK),   // Dynamic phase adjust clock input
  32. //      .PSEN(PSEN),     // Dynamic phase adjust enable input
  33. //      .PSINCDEC(PSINCDEC), // Dynamic phase adjust increment/decrement
  34.       .RST(iRSTn)        // DCM asynchronous reset input
  35.    );


复制代码
 楼主| 发表于 2016-5-16 14:16:07 | 显示全部楼层
产生的警告如图,求告知原因。
    1233333.png
发表于 2016-5-16 14:53:48 | 显示全部楼层
为什么不用图形配置界面?
 楼主| 发表于 2016-5-16 15:05:42 | 显示全部楼层
回复 3# atomdust

  请问一下,是高手们都喜欢用Schematic输入的方式吗?我很少用。。
发表于 2016-5-16 15:22:43 | 显示全部楼层
不是Schematic方式,是DCM的clocking wizard,也就是core generator,图形配置界面,生成.v文件后,直接调用。
1.jpg
发表于 2016-5-16 15:37:50 | 显示全部楼层
你这个.v应该也是core generator生成的,是因为.CLKIN_PERIOD(0.0),  // Specify period of input clock,你的输入时钟的周期没有指定。
如果使用core generator,这里会自动填入你指定的周期值的,比如.CLKIN_PERIOD(20.0),  // Specify period of input clock
另外,建议DCM的输入时钟要经过IBUFG,输出要经过BUFG,FB也要经过BUFG,这样才是DCM完整的应用。
 楼主| 发表于 2016-5-16 15:38:34 | 显示全部楼层
回复 5# atomdust


   感谢您的回复,这个我没用过……是跟IP核是一个东西吗??
 楼主| 发表于 2016-5-16 15:47:19 | 显示全部楼层
回复 6# atomdust

这句话超赞!我也是最近才知道的,所有时钟都要经过DCM。
   "建议DCM的输入时钟要经过IBUFG,输出要经过BUFG,FB也要经过BUFG,这样才是DCM完整的应用。"
 楼主| 发表于 2016-5-16 15:54:30 | 显示全部楼层
图片1.png 回复 6# atomdust
不能用……
发表于 2016-5-16 16:44:39 | 显示全部楼层
你用的FPGA的详细型号是什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-25 14:00 , Processed in 0.023213 second(s), 10 queries , Gzip On, Redis On.

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