赛灵思
直播中

李娜

7年用户 1587经验值
私信 关注
[问答]

DCM阶段溢出状态位问题谁来解答一下

我有2个与动态调整DCM相移有关的问题。
关于DCM的其他所有工作正常。
1.关于溢出状态位似乎存在一些相互矛盾的信息。
我在故障排除指南中看到,如果设置了溢出位,则应重置DCM。
我还在用户指南中看到溢出位保持设置,直到相位调整通过自身温度补偿调整或手动调整(至少我是如何读取它,pg72)降低到极限以下。
我在仿真中看到的是,一旦相位递增到溢出位置位的位置,递减相位不会导致该位被清零,并且一旦该位置位,实际相位也不会递减。
看起来溢出位锁定了相位变化,这一方面是有意义的。
但是在电路板上,一旦达到限制就会设置溢出位,并通过一次递减清除,我可以进一步将实际相位减少回0。
2.出于调试原因,我在DIRECT模式下使用DCM。
在我增加相位的时候,在溢出位限制递增代码之前,我只能达到128。
为什么我不能达到1023?
直接模式是否从相位控制电路中移除任何智能并允许0-1023范围,无论温度和其他变量如何?
但是,在设置溢出位之前,我只能达到638,但不确定是什么原因。
我需要一些关于正确使用相位溢出位的指导。
来自inst的泛型:
CLKDV_DIVIDE => 2.0, - 除以:1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5 - 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0
,15.0或16.0 CLKFX_DIVIDE => 1, - 可以是1到32之间的任何整数CLKFX_MULtiPLY => 2, - 可以是2到32之间的任何整数CLKIN_DIVIDE_BY_2 => FALSE, - TRUE / FALSE使CLKIN除以2
feature --CLKIN_PERIOD => 2.857143, - 以ns为单位指定输入时钟的周期,单位为1.25至1000.00。CLKOUT_PHASE_SHIFT =>“DIRECT”, - 指定NONE,FIXED, - VARIABLE_POSITIVE,VARIABLE_CENTER或DIRECT CLK_FEEDBACK =>“的相移模式
1X“, - 指定时钟反馈NONE或1X DCM_PERFORMANCE_MODE =>”MAX_SPEED“, - 可以是MAX_SPEED或MAX_RANGE DCM_AUTOCALIBRATION => TRUE, - DESKEW_ADJUST =>”SYSTEM_SYNCHRONOUS“, - SOURCE_SYNCHRONOUS,SYSTEM_SYNCHRONOUS或 - 整数
从0到15 DFS_FREQUENCY_MODE => HIGH, - HIGH或LOW频率模式,用于频率合成DLL_FREQUENCY_MODE => HIGH, - LOW,HIGH或HIGH_SER频率模式,用于DLL DUTY_CYCLE_CORRECTION => TRU
E, - 占空比校正,TRUE或FALSE FACTORY_JF => X“F0F0”, - FACTORY JF值建议设置为X“F0F0”PHASE_SHIFT => 0, - 从-255到1023的固定相移量
SIM_DEVICE =>“VIRTEX5”, - 设置目标设备,“VIRTEX4”或“VIRTEX5”STARTUP_WAIT => FALSE
相位控制代码片段:
当s_not_locked => - 等待DCM锁定if(dcm_locked ='1')然后状态else state end if;
当s_check_phase => - DCM现在被锁定,看看它是否需要相位调整if(dcm_phase(9 downto 0)= cpu_phase(9 downto 0))然后 - 不需要相位调整状态else else state end if;
当s_adjust_phase => if(dcm_phase(9 downto 0)> cpu_phase(9 downto 0))则 - 减少DCM阶段o_psincdec o_psen dcm_phase elsif phase_ovrflw ='0'然后 - 如果不是极限,则增加DCM阶段o_psincdec o_psen dcm_phase end if;
s_check_for_adjust_done =>时的状态 - 如果CPU有,则等待先前的相位调整完成
- 如果(psdone ='1'或cpu_phase_setting_change ='1')则改变相位设置(如果错过了完成脉冲则防止锁定)然后状态else状态结束if;
谢谢。
此致,Ray Haynes,Ostendo Technologies,Inc。Carl***ad,CA

回帖(5)

潘晶燕

2020-6-16 06:27:58
我们说什么,与它做什么....
我认为它的工作原理如上所述。
为什么?
因为所有设备系列上的所有DCM都不相同。
通过假设只有指定的内容有效,我们并不希望记录每个家庭的每个独立的DCM。
对于这种设计,使用这个部件,它将起到硅工作的作用,现在以及所有未来的部件。
除非有变更通知。
在这种情况下,它会改变。
除非绝对需要(然后我们通知用户),否则我们不会对生产产品进行更改。
鉴于这是一个较旧的产品,队列中没有任何变化,没有计划,也没有任何变化。
Austin Lesea主要工程师Xilinx San Jose
举报

李健

2020-6-16 06:35:52
值得一提的是这是Virtex 5的一部分。
此致,Ray Haynes,Ostendo Technologies,Inc。Carl***ad,CA
举报

李健

2020-6-16 06:51:44
我无法从你的回复中提取任何意义。
你是说Xilinx在那里洗了DCM问题,我是否试错了以确定操作?
此致,Ray Haynes,Ostendo Technologies,Inc。Carl***ad,CA
举报

潘晶燕

2020-6-16 06:58:20
射线,
我说文件是统治要素。
如果产品行为提供超出规定的功能,那么Xilinx无法(不会)保证这一点。
因此,该文档指出溢出或下溢在发生时设置。
至于之后会发生什么,它被指定为“粘性位”(保持设置)。
显然,在测试中,可以通过适当递增或递减来重置它。
恭喜。
在完全相同的条件下,您现在可以完全信任它。
如果您要依赖这种行为,Xilinx不保证 - 我们只保证它在文档中所说的内容。
因此,如果它没有清除旗帜,当你期望它时,不要向我们抱怨。
例如,如果设置了标志,并且您不知道是否应该递增或递减(因为该标志是溢出和下溢),您如何保证标志将被清除?
你不知道要采取哪种行动。
所以你试着增加,但不清楚。
答对了!
它没能达到你的预期。
它也完全按照规定执行。
不多也不少。
Austin Lesea主要工程师Xilinx San Jose
举报

更多回帖

发帖
×
20
完善资料,
赚取积分