完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨Spartan-6时钟专家,
我遇到了一个稍微令人烦恼的问题,我认为我可以在设计中使用任何GCLK引脚作为反馈引脚,利用DCM将时钟偏移到外部反馈焊盘。 但是,我太天真了,BUFIO2FB位置(右?)仅限于用于输入时钟(BUFIO2)的成对GCLK输入的另一半。 更准确地说,这是设计(剥离与此问题无关的所有内容): 库IEEE;使用IEEE.std_logic_1164.all;库unisim;使用unisim.vcomponents.all;实体a是端口(clk_in:在std_logic中; - 一个GCLK引脚,当然clk_out:out std_logic; clk_fb:在std_logic中); - 这是哪个引脚? 甚至在同一个银行上也没有任何GCLK引脚...结束实体a; a的架构a_0是信号clk_in_1,clk_in_2,clk_fb_1,clk_fb_2,clk_x,clk:std_logic;开始x1:IBUF端口映射(I => clk_in,O => clk_in_1); x2:BUFIO2通用映射(DIVIDE_BYPASS => true,I_INVERT => false,USE_DOUBLER => false)端口映射(I => clk_in_1,DIVCLK => clk_in_2,IOCLK => open,SERDESSTROBE => open); x3:IBUF端口映射(I => clk_fb,O => clk_fb_1); x4:BUFIO2FB通用映射(DIVIDE_BYPASS => true)端口映射(I => clk_fb_1,O => clk_fb_2); x5:DCM_SP通用映射(CLK_FEEDBACK =>“1X”,CLKOUT_PHASE_SHIFT =>“FIXED”,PHASE_SHIFT => 0)端口映射(CLKIN => clk_in_2,CLKFB => clk_fb_2,CLK0 => clk_x,DSSEN =>'0', RST =>'0',PSINCDEC =>'0',PSEN =>'0',PSCLK =>'0'); x6:BUFG端口映射(I => clk_x,O => clk); - 驱动clk_out w /内部clk x7的最小偏斜:ODDR2端口映射(Q => clk_out,C0 => clk,C1 =>不clk,CE =>'1',D0 =>'1',D1 => '0',R =>'0',S =>'0'); - 在更完整的实际设计中,clk也有其他负载,当然......结束a_0; 更清楚地提出我的问题: 1.鉴于将clk_in分配给其中一个GCLK引脚,哪些引脚可以用于clk_fb? 特别是,对于单端时钟,只有一种可能性,或两种或更多? 对于差分时钟(不是上面的例子)是不可能的,还是有一个可能的分配? 2.这是否在Xilinx文档的某处清楚地记录了? 我认为事后看来它在UG382中有点暗示,例如第113页(版本1.7),“为了获得最佳放置,反馈时钟的输入焊盘必须放在差分对上。” 但我没有看到任何地方,它解释这是一个真正的限制,其他放置不可能路由。 甚至这个设备也不适用于DCM以及PLL。 我应该解释一下,如果anwer是运行输入时钟并通过另外两个BUFG反馈给DCM而不是BUFIO2 / BUFIO2FB(我不知道这是否可能),我希望避免这样,因为我会 完全脱离BUFG的设计。 如果某人有答案我应该在文档中阅读这个,那将不胜感激。 或者如果它不在文档中并且Xilinx人员正在阅读此内容,您是否可以将其添加到下一个doc发布的更改请求中? 谢谢! - 杰拉德 以上来自于谷歌翻译 以下为原文 hi Spartan-6 clocking experts, I have encountered a mildly vexing problem, I thought that I could use any GCLK pin for the feedback pin in a design utilizing DCM to deskew a clock to external feedback pad. But, I was too naive, the BUFIO2FB placement is (right?) restricted to the other half of the paired GCLK input used for the input clock (BUFIO2). More precisely, here is the design (stripped of everything not relevant to this issue): library IEEE; use IEEE.std_logic_1164.all; library unisim; use unisim.vcomponents.all; entity a is port ( clk_in: in std_logic; -- a GCLK pin, of course clk_out: out std_logic; clk_fb: in std_logic ); -- which pins can this be? not any GCLK pin even on same bank... end entity a; architecture a_0 of a is signal clk_in_1, clk_in_2, clk_fb_1, clk_fb_2, clk_x, clk: std_logic; begin x1: IBUF port map(I => clk_in, O => clk_in_1); x2: BUFIO2 generic map(DIVIDE_BYPASS => true, I_INVERT => false, USE_DOUBLER => false) port map(I => clk_in_1, DIVCLK => clk_in_2, IOCLK => open, SERDESSTROBE => open); x3: IBUF port map(I => clk_fb, O => clk_fb_1); x4: BUFIO2FB generic map(DIVIDE_BYPASS => true) port map(I => clk_fb_1, O => clk_fb_2); x5: DCM_SP generic map(CLK_FEEDBACK => "1X", CLKOUT_PHASE_SHIFT => "FIXED", PHASE_SHIFT => 0) port map(CLKIN => clk_in_2, CLKFB => clk_fb_2, CLK0 => clk_x, DSSEN => '0', RST => '0', PSINCDEC => '0', PSEN => '0', PSCLK => '0'); x6: BUFG port map(I => clk_x, O => clk); -- drive clk_out w/ minimal skew from internal clk x7: ODDR2 port map(Q => clk_out, C0 => clk, C1 => not clk, CE => '1', D0 => '1', D1 => '0', R => '0', S => '0'); -- in more complete real design clk has other loads too, of course... end a_0; Putting my questions more crisply: 1. Given an assignment of clk_in to one of the GCLK pins, which pins exactly may be used for clk_fb? In particular, for single-ended clocks is there only one possibility or two, or more? For differential clocks (not the example above) is is impossible, or is there one possible assignment? 2. Is this clearly documented somewhere in the Xilinx docs? I think that with hindsight it is sort of hinted at in UG382, for instance page 113 (ver. 1.7), "For optimal placement, the input pad for the feedback clock must be placed on the differential pair." But I don't see anyplace where it explains this is a real restriction that other placements are not possible to route. Nor even that thisadvice applies to DCM as well as PLL. I should explain if the anwer is to run the input clock and feedback to the DCM through two more BUFG's rather than uing BUFIO2 / BUFIO2FB (I don't know if that is even possible), I would wish to avoid that because I'll run out of BUFG's in the full design. If someone has an answer where I should have read this in the documentation, that would be appreciated. Or if it's not in the documentation and Xilinx people are reading this, could you add it to change request for next doc release? Thank you! - Gerard |
|
相关推荐
3个回答
|
|
杰拉德,
我并非100%确定它是正确的,但我相信您在第2号问题中提到的UG382的建议适用于DCM和PLL,特别是CMT。 请参考UG382 v1.7的第94页图3-1 希望有所帮助, 亚当 以上来自于谷歌翻译 以下为原文 Hi Gerard, I am not 100% sure that it is correct, but I believe the advice from UG382 you are referring to in your question no.2 applies to both DCM and PLL in particular CMT. Please refer to figure 3-1 on page 94 of UG382 v1.7 Hope that helps, Adam |
|
|
|
嗨,亚当,
感谢您指出这一点,我同意这清楚地说明DCM和PLL的使用应该预期对BUFIO2FB相对于BUFIO2的放置具有相同的限制。 这比我昨天理解的还要多...... 我认为我仍然不清楚地了解放置限制是什么或者记录在哪里。 我希望Xilinx能够更多地改进UG382。 此致 杰拉德 以上来自于谷歌翻译 以下为原文 Hi Adam, Thank you for pointing that out, I agree this makes it clear that the DCM and PLL usage should both be expected to have the same restrictions on BUFIO2FB placement relative to BUFIO2. It's more than I understood yesterday... I think I still don't understand crisply what the placement restrictions are or where it's documented though. I wish Xilinx might improve UG382 with a little more about the matter. Sincerely, Gerard |
|
|
|
我感觉到你的痛苦。
我从未使用过BUFIO2FB功能,但也许在下面的主题中的讨论(错误,我的抱怨)会有所帮助。 http://forums.xilinx.com/t5/Spartan-Family-FPGAs/Insane-place-error-1115-in-S6/td-p/270200 ----------------------------是的,我这样做是为了谋生。 以上来自于谷歌翻译 以下为原文 I feel your pain.I've never used the BUFIO2FB feature, but perhaps the discussion (errr, my complaints) in the following thread will help.http://forums.xilinx.com/t5/Spartan-Family-FPGAs/Insane-place-error-1115-in-S6/td-p/270200----------------------------Yes, I do this for a living. |
|
|
|
只有小组成员才能发言,加入小组>>
2384 浏览 7 评论
2800 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2264 浏览 9 评论
3336 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2431 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
757浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
547浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
369浏览 1评论
1965浏览 0评论
684浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 08:03 , Processed in 1.522570 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号