完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
嗨,
我有这个设计: 模块顶部 (A_N,A_P,B_N,B_P); 输入A_N; 输入A_P; 输出B_N; 输出B_P; 分配B_N = A_N; 分配B_P = A_P; 系统 system_i( .CLK_P(A_P), .CLK_N(A_N) ); endmodule 我使用LVDS标准将A_N,A_P,B_N和B_P连接到XDC文件中的物理引脚。 在Vivado中,综合是成功的,但实现失败并出现以下错误: [Drc 23-20]规则违规(IOSTDTYPE-1)IOStandard类型 - I / O端口B_N是单端但具有LVDS的IOS标准,只能支持差分 [Drc 23-20]规则违规(IOSTDTYPE-1)IOStandard类型 - I / O端口B_P是单端但具有LVDS的IOS标准,只能支持差分 如果我没有将A_N和A_P连接到“system”模块(这是micrlaze),我也得到了与A_N和A_P相同的错误。 不知何故,Vivado不知道B_N和B_P是差分对。 我该如何判断它们是什么? 也可能是合成正在消除这两个信号,因为它们没有被“使用”。 在那种情况下,我该如何避免呢? 基本上,我想要做的就是将A_N和A_P连接到两组不同的物理引脚,但由于我不允许这样做,所以我基本上复制了A_N和A_P。 任何帮助深表感谢。 如果您有任何建议或更好的方法来实现我的目标,请告诉我。 谢谢, 以上来自于谷歌翻译 以下为原文 Hi, I have this design: module top ( A_N, A_P, B_N, B_P ); input A_N; input A_P; output B_N; output B_P; assign B_N = A_N; assign B_P = A_P; system system_i ( .CLK_P ( A_P ), .CLK_N ( A_N ) );endmodule I have hooked up A_N, A_P, B_N, and B_P to physical pins in the XDC file using the LVDS standard. In Vivado, synthesis is successul but implementation fails with these errors: [Drc 23-20] Rule violation (IOSTDTYPE-1) IOStandard Type - I/O port B_N is Single-Ended but has an IOStandard of LVDS which can only support Differential [Drc 23-20] Rule violation (IOSTDTYPE-1) IOStandard Type - I/O port B_P is Single-Ended but has an IOStandard of LVDS which can only support Differential If I don't hook up A_N and A_P to the "system" module (this is microblaze), I get the same erros for A_N and A_P, also. Somehow, Vivado doesn't know that B_N and B_P are differential pairs. How can I tell it that they are? It could also be that synthesis is removing these two signals because they're not "used". In that case how can I avoid that? Essentially, all I want to do is connect A_N and A_P to two different sets of physical pins, but since I'm not allowed to do that, I'm basically duplicating A_N and A_P. Any help is much appreciated. If you have any advice or a better way to accomplish my goal, pleae let me know. Thanks, |
|
相关推荐
7个回答
|
|
嗨,您是否在设计中实例化了差分缓冲区(ibufgds)?谢谢,Deepika
谢谢,迪皮卡.---------------------------------------------- ---------------------------------------------- Google之前的问题 张贴。 如果某人的帖子回答了您的问题,请将帖子标记为“接受为解决方案”。 如果你看到一个特别好的和信息丰富的帖子,考虑给它Kudos(左边的明星) 以上来自于谷歌翻译 以下为原文 Hi, Did you instantiate differential buffer (ibufgds) for these ports in the design? Thanks, Deepika Thanks, Deepika. -------------------------------------------------------------------------------------------- Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left) |
|
|
|
最安全的方法是在顶层实例化差分PAD(例如,IBUFDS或IBUFGDS用于时钟),然后添加tcl约束来设置类型:
例如。 在VHDL中用于LVDS时钟缓冲器: REFCLK_IBUFDS:IBUFGDS端口图( O => REFCLK, I => REFCLK_P, IB => REFCLK_N); 然后在tcl(xdc或tcl脚本)中 - 注意您可能需要也可能不需要根据您的电路板设计设置DIFF_TERM: set_property iostandard LVDS [get_ports [list REFCLK_P]] set_property DIFF_TERM {1} [get_ports REFCLK_P] EAI-Design.com - 数字设计黄金法则:如果没有经过测试 - 它破碎了。 以上来自于谷歌翻译 以下为原文 The safest way is to instantiate a differential PAD at your top level (E.g. IBUFDS or IBUFGDS for clocks) and then add a tcl constraint to set the type: E.g. in VHDL for a LVDS Clock buffer: REFCLK_IBUFDS : IBUFGDS port map ( O => REFCLK, I => REFCLK_P, IB => REFCLK_N); Then in tcl (xdc or tcl script) - Note you may or may not need the DIFF_TERM set depending on your board design: set_property iostandard LVDS [get_ports [list REFCLK_P]] set_property DIFF_TERM {1} [get_ports REFCLK_P] EAI-Design.com - Digital Design Golden Rule: If its not tested - its broken. |
|
|
|
你能删除xdc约束并检查吗?
当xdc文件中存在位置约束时,对于未连接到任何内容的顶级端口存在问题。 以上来自于谷歌翻译 以下为原文 Can you remove the xdc constraints and check? There was an issue when there is an location constraint in an xdc file for a top level port that not connected to anything. |
|
|
|
在Xiilnx FPGA系列的IO单元的核心端没有“差分”信号 - 你不能做你想要直接做的事情。
必须将输入差分信号连接到IBUFDS - 在FPGA内创建单端信号。 然后,单端信号可以连接到FPGA内的任何位置 - 包括连接到OBUFDS以驱动B输出。 问候, 标记 以上来自于谷歌翻译 以下为原文 There's no "differential" signals on the core side of the IO cells in the Xiilnx FPGA familiy - you can't do what it appears you're trying to do directly. You must connect the input differential signal to an IBUFDS - creating a single-ended signal within the FPGA. The single-ended signal may then be connected anywhere within the FPGA - including to an OBUFDS to drive your B outputs. Regards, Mark |
|
|
|
在Xiilnx FPGA系列的IO单元的核心端没有“差分”信号 - 你不能做你想要直接做的事情。
虽然我们不能在FPGA内部拥有“差分”信号,但有一个差分输入缓冲器可以向核心提供正负信号 - IBUFDS_DIFF_OUT。 所以,(我不知道你为什么要这么做)如果你想做你所描述的事情,在输入端使用IBUFDS_DIFF_OUT,连接到OBUFDS。 这会将差分信号路由到您的系统。 我想这可能会在保持差分信号通过FPGA时的占空比方面提供一些优势...... 但是,请注意内部信号是独立的单端信号,并将独立路由。 它们之间可能存在显着的偏差...... Avrum 以上来自于谷歌翻译 以下为原文 There's no "differential" signals on the core side of the IO cells in the Xiilnx FPGA familiy - you can't do what it appears you're trying to do directly. While its true that we can't have "differential" signals inside the FPGA, there is a differential input buffer that provides both the positive and negative signals into the core - the IBUFDS_DIFF_OUT. So, (and I have no idea why you would want to do this) if you wanted to do something like what you are describing, use an IBUFDS_DIFF_OUT on the input side, connected to an OBUFDS. This would route the differential signal through your system. I suppose this might provide some advantage in terms of preserving the duty cycle of your differential signal as it goes through the FPGA... But, be aware that the internal signals are independent single ended signals, and will be routed independently. There could be significant skew between them... Avrum |
|
|
|
我已经将IBUFDS实例化到我的设计中,但不是在层次结构的顶层。
IBUFDS位于自定义IP块中,它位于Verilog层次结构的最低级别。 IBUFDS处于较低层次结构的事实是否可能导致vivado工具难以将LVDS对识别为非差分信号? 以上来自于谷歌翻译 以下为原文 I have instantiated the IBUFDS into my design, but not on the top level of the hierarchy. The IBUFDS is in a custom IP block and it is on the lowest level of Verilog hierarchy. Could the fact that the IBUFDS is on a lower level of hierarchy be a poosible cause of the the vivado tool having hard time to recognizing the LVDS pairs as non-differential signals? |
|
|
|
Vivado在设计层次结构中的任何位置使用IO单元实例都没有问题。
据我所知,没有任何限制。 我们不时这样做 - 通常只是跟随Xilinx领先一些更高速的IO核心。 你看到了什么特别的问题? (考虑也开始一个新线程) 问候, 标记 以上来自于谷歌翻译 以下为原文 Vivado should have no issues with using IO cell instances anywhere in the design hierarchy. As far as I know there's no limitations. We do this from time to time - often just following Xilinx' lead with some of the higher speed IO cores. What particular issue are you seeing? (Consider starting a new thread also) Regards, Mark |
|
|
|
只有小组成员才能发言,加入小组>>
2414 浏览 7 评论
2821 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2292 浏览 9 评论
3371 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2458 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1076浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
579浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
438浏览 1评论
2000浏览 0评论
723浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 00:57 , Processed in 1.170694 second(s), Total 58, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号