完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
实现顶层设计是不可能的,因为我想生成一个时钟来驱动FPGA逻辑和使用DCM的OPAD。
以下是ERROR消息。 错误:位置:1206 - 此设计包含一个全局缓冲区实例,驱动网络,驱动以下(前30个)非时钟源引脚片外。 在Spartan-6中,这种设计实践可能由于全局布线的限制而导致不可预测的情况。 如果设计确实存在路线,则该网络可能存在过度延迟或倾斜。 建议使用时钟转发技术来创建可靠且可重复的低偏斜解决方案:实例化ODDR2组件; 将.D0引脚连接到Logic1; 将.D1引脚连接到Logic0; 将时钟网连接到.C0; 将倒置时钟连接到.C1。 如果您希望覆盖此建议,可以使用.ucf文件中的CLOCK_DEDICATED_ROUTE约束(如下所示)将此消息降级为警告并允许您的设计继续。 虽然网络可能仍未路由,但您将能够分析FPGA_Editor.ERROR中的故障:放置:1136 - 此设计包含一个全局缓冲区实例,驱动网络,驱动以下(前30个)非 时钟源引脚。 这不是Spartan-6中推荐的设计实践,因为全局布线的限制可能导致过度延迟,歪斜或不可路由的情况。 建议仅使用BUFG资源来驱动时钟负载。 如果您希望覆盖此建议,可以使用.ucf文件中的CLOCK_DEDICATED_ROUTE约束(如下所示)将此消息降级为警告并允许您的设计继续。 错误:包装:1654 - 时序驱动的放置阶段遇到错误。 谁能告诉我该怎么办? 非常感谢。 以上来自于谷歌翻译 以下为原文 It's impossible to implement the top design because I want to generate a clock to drive both FPGA logic and OPAD using DCM. the ERROR message following. ERROR:Place:1206 - This design contains a global buffer instance, following (first 30) non-clock source pins off chip. < PIN: clk_98m.O; > This design practice, in Spartan-6, can lead to an unroutable situation due to limitations in the global routing. If the design does route there may be excessive delay or skew on this net. It is recommended to use a Clock Forwarding technique to create a reliable and repeatable low skew solution: instantiate an ODDR2 component; tie the .D0 pin to Logic1; tie the .D1 pin to Logic0; tie the clock net to be forwarded to .C0; tie the inverted clock to .C1. If you wish to override this recommendation, you may use the CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote this message to a WARNING and allow your design to continue. Although the net may still not route, you will be able to analyze the failure in FPGA_Editor. ERROR:Place:1136 - This design contains a global buffer instance, following (first 30) non-clock source pins. < PIN: clk_98m.O; > This is not a recommended design practice in Spartan-6 due to limitations in the global routing that may cause excessive delay, skew or unroutable situations. It is recommended to only use a BUFG resource to drive clock loads. If you wish to override this recommendation, you may use the CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote this message to a WARNING and allow your design to continue. < PIN "cw_0/clkout1_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; > ERROR:Pack:1654 - The timing-driven placement phase encountered an error. Who can tell what should I do? Thanks a lot. |
|
相关推荐
29个回答
|
|
仔细阅读错误消息。
它提供了非常好的解决方案。 阅读开头的部分,“建议......” ----------------------------是的,我这样做是为了谋生。 以上来自于谷歌翻译 以下为原文 Carefully read the error message. It gives a very good solution. Read the part that starts, "It is recommended to ..."----------------------------Yes, I do this for a living. |
|
|
|
假设您正在使用Verilog,您应该这样做:ODDR2#(//以下参数指定组件的行为.DDR_ALIGNMENT(“NONE”),//将输出对齐设置为//“NONE”,“C0”
“或”C1“.INIT(1'b0),//将Q //输出的初始状态设置为1'b0或1'b1 .SRTYPE(”SYNC“)//指定”SYNC“或”ASYNC“/ / set / reset)ODDR2_inst(.Q(clk_98m),// 1位DDR输出数据.C0(clkout1),// 1位时钟输入.C1(clkout1_n),// 1位时钟输入.CE( CE),// 1位时钟使能输入.D0(1'b1),// 1位数据输入(与C0相关).D1(1'b0),// 1位数据输入(与C1相关) ).R(1'b0),// 1位复位输入.S(1'b0)// 1位置位输入);其中clkout1是你要输出的时钟,而clkout1_n是clkout1的倒数 (您需要使用DCM生成此时钟 - 它基本上是clkout1,具有180°相移) 以上来自于谷歌翻译 以下为原文 Assuming you are using Verilog, you should do this: ODDR2 #( // The following parameters specify the behavior // of the component. .DDR_ALIGNMENT("NONE"), // Sets output alignment // to "NONE", "C0" or "C1" .INIT(1'b0), // Sets initial state of the Q // output to 1'b0 or 1'b1 .SRTYPE("SYNC") // Specifies "SYNC" or "ASYNC" // set/reset ) ODDR2_inst ( .Q(clk_98m), // 1-bit DDR output data .C0(clkout1), // 1-bit clock input .C1(clkout1_n), // 1-bit clock input .CE(CE), // 1-bit clock enable input .D0(1'b1), // 1-bit data input (associated with C0) .D1(1'b0), // 1-bit data input (associated with C1) .R(1'b0), // 1-bit reset input .S(1'b0) // 1-bit set input ); where clkout1 is the clock that you are dring out and clkout1_n is the inverse of the clkout1 (you would need to generate this clock with the DCM - it is basically clkout1 with a 180° phase shift) |
|
|
|
请注意,ODDR和IDDR C0和C1输入的时钟源有多种选择,具体取决于您的应用(参见下面的快照)。
使用DCM CLK0和CLK180只是其中一个选项。 干杯,吉姆 以上来自于谷歌翻译 以下为原文 Please note that there are several options on clock sources for ODDR and IDDR C0 and C1 inputs depending on your application (see the snapshot below). Using DCM CLK0 and CLK180 is just one of the options. Cheers, Jim |
|
|
|
我对Xilinx FPGA完全不熟悉(但不是FPGA世界),我遇到了同样的问题。
我尝试了Jimwu和ISE建议的解决方案,并且它有效。 但我不敢相信你需要使用这种“技巧”从PLL输出时钟。 这是因为我使用的输出引脚不是“时钟源引脚”吗? GCLK引脚是不合适的引脚输出时钟吗? 我是否必须以某种方式告诉工具我正在尝试输出的信号确实是时钟信号,而不仅仅是普通信号? 我在这里有点困惑。 以上来自于谷歌翻译 以下为原文 I'm totally new to Xilinx FPGAs (not to the FPGA world, though), and I ran into the same problem. I tried the solution suggested by both Jimwu and ISE, and it works. But I cannot believe you need to use such a "trick" to output a clock from a PLL. Does this occur because the output pin I use is not a "clock source pin"? Are GCLK pins unappropriate pins to output a clock? Do I have to tell the tool somehow that the signal I'm trying to output is indeed a clock signal, not just an ordinary signal? I'm a little confused here. |
|
|
|
jankzov.x写道:
我对Xilinx FPGA完全不熟悉(但不是FPGA世界),我遇到了同样的问题。 我尝试了Jimwu和ISE建议的解决方案,并且它有效。 但我不敢相信你需要使用这种“技巧”从PLL输出时钟。 输出时钟源不必来自DLL或PLL。 它也可以来自任何全球时钟网。 这是因为我使用的输出引脚不是“时钟源引脚”吗? GCLK引脚是不合适的引脚输出时钟吗? 不,时钟源引脚(GCLK,本地/区域时钟等)用于时钟INPUT。 如其他地方所述,时钟输出可以位于支持系统所需的IOSTANDARD的任何引脚上。 (因此你可以使用GCLK引脚作为输出,但这样做时,它不是GCLK引脚,它只是一个常规I / O引脚.GCLK引脚是特殊的,因为它们直接连接到全局时钟缓冲器,如果信号实际上是 时钟。) 我是否必须以某种方式告诉工具我正在尝试输出的信号确实是时钟信号,而不仅仅是普通信号? 不,这只是一个普通的信号。 无论如何 - 使用ODDR进行时钟输出的原因很简单。 全局时钟网络不(轻松)连接到两个时钟输入(触发器,BRAM,无论如何)和常规逻辑资源(LUT输入,OBUF等)。 他们抱怨这一点,它会降低时间,并有各种其他问题。 因此,使用ODDR时钟可以极大地简化问题:您可以获得与FPGA内部时钟同步的时钟输出,FPGA内部的时钟路由只能看到时钟负载,工具很高兴。 ----------------------------是的,我这样做是为了谋生。 以上来自于谷歌翻译 以下为原文 jankzov.x wrote:No, clock source pins (GCLK, local/region clock, etc) are for clock INPUTs. As noted elsewhere, clock OUTPUTs may be on any pin that supports the IOSTANDARD required by the system. (So you could use a GCLK pin as an output, but when doing so, it's not a GCLK pin, it's just a regular I/O pin. GCLK pins are special because they connect directly to global clock buffers if the signal is actually a clock.)
No, it's just an ordinary signal. Anyways -- the reason for using the ODDR for clock output is simple. The global clock networks do not (easily) connect to both clock inputs (flip-flop, BRAM, whatever) and regular logic resources (LUT inputs, OBUFs, whatever). They complain about this, and it degrades timing and has all sorts of other issues. So using the ODDR clock simplifies matters greatly: you get a clock output synchronous with the FPGA's internal clock, the clock routing inside the FPGA sees only clock loads and the tools are happy. ----------------------------Yes, I do this for a living. |
|
|
|
建议的ODDR2解决方案仅适用于单端输出时钟,但不适用于输出为差分(ODDR2无法驱动OBUFDS),而Spartan3解决方案(驱动OBUFDS的FDDCE)则需要生成2倍时钟。
任何建议(除了专用DCM)? 我使用DCM输出直接(没有BUFG)驱动OBUFDS映射并放置正常,但我不知道这与使用建议的ORDR2相比如何,并限制了您可以在小型设备中转发的时钟数。 谢谢! 以上来自于谷歌翻译 以下为原文 The suggested ODDR2 solution only works for single ended output clock, but doesn't when the output is differential (ODDR2 can't drive an OBUFDS), and the Spartan3 solution (a FDDCE driving an OBUFDS) would require generating a 2x clock. Any suggestions (other than dedicating a DCM)? I used a DCM output to directly (no BUFG) drive the OBUFDS maps and places fine, but I don't know how this performs compared to using an ODDR2 as suggested, and limits the number of clocks you can forward in a small device. Thanks! |
|
|
|
>建议的ODDR2
解决方案仅适用于单端输出时钟,但不适用于 > 输出是差分的(ODDR2不能驱动aOBUFDS) 那是不对的。 ODDR2可以驱动它一直以这种方式使用的OBUFDS。 你在哪里读到这是不可能的? ------您是否尝试在Google中输入问题? 如果没有,你应该在发布之前。太多结果? 尝试添加网站:www.xilinx.com 以上来自于谷歌翻译 以下为原文 > The suggested ODDR2 solution only works for single ended output clock, but doesn't when > the output is differential (ODDR2 can't drive an OBUFDS) That isn't right. The ODDR2 can drive the OBUFDS it is used this way all of the time. Where did you read that this wasn't possible? ------Have you tried typing your question into Google? If not you should before posting. Too many results? Try adding site:www.xilinx.com |
|
|
|
我昨天收到了ISE 12.3的映射错误信息,但现在看起来很好,直接从PLL或通过BUFG驱动ODDR2,所以我撤回了我的评论......奇怪......可能与我有的其他问题有关
映射几个时钟。 以上来自于谷歌翻译 以下为原文 I was getting an mapping error message with ISE 12.3 yesterday, but now seems fine, driving the ODDR2 either directly from a PLL or through a BUFG, so I withdraw my comment.... odd.. could be related to other issues I had mapping a couple of clocks. |
|
|
|
如果您使用的IOSTANDARD恰好是LVDS,则Spartan6对差分输出的放置位置有限制:bank 1和3可以*不*用于Sparatan6器件上的LVDS输出。
这可能是你看到的错误。 julio_avr写道: 我昨天收到了ISE 12.3的映射错误信息,但现在看起来很好,直接从PLL或通过BUFG驱动ODDR2,所以我撤回了我的评论......奇怪......可能与我有的其他问题有关 映射几个时钟。 干杯,吉姆 以上来自于谷歌翻译 以下为原文 If the IOSTANDARD you used happens to be LVDS, Spartan6 does have a restriction on where the differential outputs can be placed: bank 1 and 3 can *NOT* be used for LVDS outputs on a Sparatan6 device. That might be the error you were seeing. julio_avr wrote: Cheers, Jim |
|
|
|
吉姆,嗨,
出于使用ODDR2进行时钟转发的目的,似乎局部反转我要转发的GCLK的限制是一些占空比失真(UG382,2011年5月12日,第34页),这是正确的吗? 同一文档建议使用本地反转进行时钟转发(图3-13,3-14,使用PLL的零延迟缓冲器),但没有关于何时可以使用的指导。 在哪种情况下(即频率,输出抖动,允许的占空比失真容差......),你会说可以在本地反转ODDR2的其中一个时钟吗? 我需要在基于Spartan6的设计中转发5个时钟(61到250MHz范围),我可能无法承受额外的5个BUFG和相关的PLL / DCM输出,因此能够判断何时使用更简单的解决方案将是 便利。 谢谢! 胡里奥 以上来自于谷歌翻译 以下为原文 Hi Jim, For the purposes of clock forwarding using an ODDR2, it seems the limitation of locally inverting the GCLK that I want to forward is some duty cycle distortion (UG382, May 12/2011 page 34), is this correct? The same document suggests using local inversion for clock forwarding (figures 3-13,3-14, zero delay buffer using a PLL), but there are no guidelines as to when this is OK. Under which conditions (i.e. frequency, output jitter, allowable duty cycle distorsion tolerance ...) would you say it's OK to just locally invert one of the clocks for the ODDR2? I need to forward 5 clocks (61 to 250MHz range) in a Spartan6 based design, and I might not be able to afford the extra 5 BUFGs and related PLL/DCM outputs, so being able to judge when to use the simpler solution would be handy. Thanks! Julio |
|
|
|
出于使用ODDR2进行时钟转发的目的,似乎局部反转我要转发的GCLK的限制是一些占空比失真(UG382,2011年5月12日,第34页),这是正确的吗?
第34页没有任何内容涉及这个问题。 相反,请参见UG382图3-14,了解使用ODDR2将时钟作为差分对转发到外部引脚的示例(使用OBUFDS作为输出缓冲器,不能少!)。 请注意,全局时钟在ODDR2时钟输入处反转。 ODDR2模块具有内置的逆变器。 在UG381中,查找表2-5。 注意,ODDR2模块的C0和C1时钟输入(单独)可选地是可逆的。 这回答了你的问题了吗? - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 For the purposes of clock forwarding using an ODDR2, it seems the limitation of locally inverting the GCLK that I want to forward is some duty cycle distortion (UG382, May 12/2011 page 34), is this correct? There is nothing on page 34 which bears on this question. Instead, see UG382 Figure 3-14 for an example of using ODDR2 to forward a clock to external pins as a diff pair (using OBUFDS as output buffer, no less!). Notice that the global clock is inverted at the ODDR2 clock input. The ODDR2 block has the inverter 'built in'. In UG381, look up Table 2-5. Note that both C0 and C1 clock inputs to the ODDR2 block are (individually) optionally invertible. Does this answer your question? -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing. |
|
|
|
嗨鲍勃......
冒险有点诡异,我最感兴趣的是标准(即时钟频率,时序余量,占空比失真容差,时钟转发与IDDR2 / ODDR2的数据处理),以确定提供反相时钟的可接受选项: - 局部反演(UG381,图2-2) - 更简单,更少的资源 - 反转全局时钟(使用额外的DCM / PLL输出和BUFG) 从UG381(May12)第31页(为IDDR2 / ODDR2计时): “以下选项可用于为IDDR2和ODDR2原语提供时钟。 •当性能不重要时,使用单个DCM输出使用本地反转来驱动时钟(C0)和反相时钟(C1)。 可以使用或不使用IODELAY2。 •为获得最高性能,请使用两个DCM输出和单独的BUFG,相位差为180°。 可以使用或不使用IODELAY2。 见图1-18。“ 从第34页和图1-18(请注意,它是在“高速I / O网络时钟的示例”中): “要使用DCM保持最佳占空比性能,请使用单独的DCM时钟输出来驱动C0和C1。每个DCM输出驱动一个单独的全局缓冲区。尽管可以使用BUFG在I / O磁贴内本地反转一个相位, 不推荐将其中一个时钟作为局部反相插入占空比失真。“ 谢谢! :d 以上来自于谷歌翻译 以下为原文 Hi Bob ... Risking being a bit peeky, I'm mostly interested in the criteria (i.e. clock frequency, timing margins, duty cycle distorsion tolerance, clock forwarding vs data handling with IDDR2/ODDR2) to determine which option is acceptable to provide the inverted clock: -local inversion (UG381, fig 2-2) - simpler, less resources -inverted global clock (uses extra DCM/PLL output and a BUFG) From UG381(May12) page 31 (clocking for IDDR2/ODDR2): "The following options can be used for clocking IDDR2 and ODDR2 primitives. • When performance is not critical, use a single DCM output to drive both clock (C0)and the inverted clock (C1) using local inversion. Works with or without IODELAY2. • For the highest performance, use two DCM outputs with separate BUFGs with 180°phase difference. Works with or without IODELAY2. See Figure 1-18." From page 34, and fig 1-18 (mind you, it's in the "examples of high speed I/O network clocking"): "To maintain the best duty-cycle performance using the DCM, use separate DCM clock outputs to drive C0 and C1. Each DCM output drives a separate global buffer. While possible using the BUFG to invert one phase locally within the I/O tile, it is not recommended as locally inverting one of the clocks inserts duty-cycle distortion." Thank you! :D |
|
|
|
我没有更多内容可以添加到你已经读过的内容中。
- 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 There is nothing more that I could add to what you've already read. -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing. |
|
|
|
我想要推出一个内部125 Mhz全局时钟的副本,而不使用第二个GCLK树,没有PLL或DCM ..具有宽松占空比的ODDR2输出对我来说很好..
到目前为止我无法配置它。 似乎UG381已经更新。 您引用的部分不再出现在UG381(12月版)中,这让我觉得这实际上并不是Spartan 6系列的特色。 我在ODDR2 C0和C1(可逆)上看到了注释,但似乎没有任何方法可以在VHDL实例化中设置反转。 同样,ODDR2部分没有提及它或在框图中显示它。 困惑... 以上来自于谷歌翻译 以下为原文 I'm looking to push out a copy of an internal 125 Mhz global clock without using up a second GCLK tree, and without a PLL or DCM.. An ODDR2 output with a lax duty cycle would do me fine.. So far I can't get it configured. It seems UG381 has been updated. The sections you quote are no longer in the UG381, (December edition) making me think this isn't actually a feature of the Spartan 6 family.. I see the comments on the ODDR2 C0 and C1 (invertible) but there doesn't seem to be any way to set the inversion in a VHDL instantiation. As well the ODDR2 section does not mention it or show it in the block diagram. Confused... |
|
|
|
我想推出一个内部125 Mhz全局时钟的副本而不用掉第二个GCLK树,没有PLL或DCM ..具有宽松占空比的ODDR2输出对我没问题。
您不需要第二个BUFG树。 一个人会做得很好。 在一个非常相似的主题上看到这个主题,其中一个BUFG驱动的时钟驱动ODDR2原语的.C0和.C1时钟输入。 虽然代码片段在Verilog中,但VHDL转换应该是微不足道的。 我在ODDR2 C0和C1(可逆)上看到了注释,但似乎没有任何方法可以在VHDL实例化中设置反转。 非倒置时钟:“my_clock” 倒置时钟:“!my_clock”或“~my_clock”或“NOT my_clock”(这是我的猜测,我不是VHDL用户) 同样,ODDR2部分没有提及它或在框图中显示它。 参见UG381,表2-5,C0和C1时钟输入的描述:“可选择可逆”。 另见UG382,图3-14。 标记和摘录: 你确信吗? - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 I'm looking to push out a copy of an internal 125 Mhz global clock without using up a second GCLK tree, and without a PLL or DCM.. An ODDR2 output with a lax duty cycle would do me fine. You don't need a second BUFG tree. One will do just fine. See this thread on a very similar subject, where a single BUFG-driven clock drives both .C0 and .C1 clock inputs to ODDR2 primitive. While the code snippets are in Verilog, VHDL conversion should be trivial. I see the comments on the ODDR2 C0 and C1 (invertible) but there doesn't seem to be any way to set the inversion in a VHDL instantiation. noninverted clock: "my_clock" inverted clock: As well the ODDR2 section does not mention it or show it in the block diagram. See UG381, Table 2-5, descriptions for C0 and C1 clock inputs: "optionally invertible". Also see UG382, Figure 3-14. Marked up and excerpted: Are you convinced? -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing. |
|
|
|
invert_my_clock:my_inverted_clock ------------------------------------------“如果它不'
在模拟中工作,它不会在电路板上工作。“ 以上来自于谷歌翻译 以下为原文 invert_my_clock: my_inverted_clock <= not my_clock; ------------------------------------------ "If it don't work in simulation, it won't work on the board." |
|
|
|
谢谢,RC!
这看起来怎么样? - 从ISE HDL模板(点击灯泡!): ODDR2_inst:ODDR2通用映射(DDR_ALIGNMENT =>“NONE”,INIT =>'0',SRTYPE =>“SYNC”)端口映射(Q => clock_output, - 1位输出数据C0 => my_clock, - 1 位时钟输入C1 =>(非my_clock), - 1位时钟输入CE => 1, - 1位时钟使能输入D0 => 1,D1 => 0,R => 0, - 1 位复位输入S => 0 - 1位置位输入); 我怀疑这在Verilog中比VHDL更简单,特别是因为我或多或少*理解*并使用Verilog(而不是VHDL)。 这是Verilog的例子: ODDR2#(。DDR_ALIGNMENT(“NONE”),. INIT(1'b0),. SRTYPE(“SYNC”))ODDR2_inst(.Q(clock_output),// 1位DDR输出数据.C0(my_clock),/ / 1位时钟输入.C1(~my_clock),// 1位时钟输入.CE(1'b1),// 1位时钟使能输入.D0(1'b1),. D1(1'b0 ),。R(1'b0),// 1位复位输入.S(1'b0)// 1位置位输入); - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 Thanks, RC! How does this look? -- from the ISE HDL templates (click on the light bulb!): ODDR2_inst : ODDR2 generic map( DDR_ALIGNMENT => "NONE", INIT => '0', SRTYPE => "SYNC") port map ( Q => clock_output, -- 1-bit output data C0 => my_clock, -- 1-bit clock input C1 => (NOT my_clock), -- 1-bit clock input CE => 1, -- 1-bit clock enable input D0 => 1, D1 => 0, R => 0, -- 1-bit reset input S => 0 -- 1-bit set input ); I suspect this is simpler in Verilog than VHDL, especially since I more or less *understand* and use Verilog (and not VHDL). Here's the Verilog example: ODDR2 #( .DDR_ALIGNMENT("NONE"), .INIT(1'b0), .SRTYPE("SYNC") ) ODDR2_inst ( .Q (clock_output), // 1-bit DDR output data .C0 (my_clock), // 1-bit clock input .C1 (~my_clock), // 1-bit clock input .CE (1'b1), // 1-bit clock enable input .D0 (1'b1), .D1 (1'b0), .R (1'b0), // 1-bit reset input .S (1'b0) // 1-bit set input ); -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing. |
|
|
|
遗憾的是,不支持在端口映射中使用诸如“not my_clock”之类的构造。
内联函数调用用于输入端口,因此您可以定义一个功能'invert'来隐藏'not'功能,并使用它,但显然反转并使用'my_inverted_clock'可能在2年后更容易理解。 ------------------------------------------“如果它不起作用 模拟,它不会在板上工作。“ 以上来自于谷歌翻译 以下为原文 Unfortunately, use of constructs such as "not my_clock" in port maps is not supported. In-line function calls are for input ports, so you could define a function 'invert' that hides the 'not' functionalitly, and use that, but explictly inverting and using 'my_inverted_clock' is probably easier to understand in 2 years' time. ------------------------------------------ "If it don't work in simulation, it won't work on the board." |
|
|
|
遗憾的是,不支持在端口映射中使用诸如“not my_clock”之类的构造。
内联函数调用用于输入端口,因此您可以定义一个功能'invert'来隐藏'not'功能,并使用它,但显然反转并使用'my_inverted_clock'可能在2年后更容易理解。 好吧,它适用于Verilog :)即使它在VHDL中不起作用:(我在ISE中使用(等效的)Verilog代码进行旋转,以确认它(参见此主题)。 如果我精通VHDL,我会发布一个VHDL代码的示例证明......但是,唉,我不熟悉VHDL。 任何一个volounteers? - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 Unfortunately, use of constructs such as "not my_clock" in port maps is not supported. In-line function calls are for input ports, so you could define a function 'invert' that hides the 'not' functionalitly, and use that, but explictly inverting and using 'my_inverted_clock' is probably easier to understand in 2 years' time. Well, it works in Verilog :) even if it doesn't work in VHDL :( I took (equivalent) Verilog code for a spin in ISE, to confirm it (see this thread). If I was proficient in VHDL, I would post an example proof of the VHDL code... but, alas, I am not proficient in VHDL. Any volounteers? -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing. |
|
|
|
只有小组成员才能发言,加入小组>>
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-24 21:12 , Processed in 1.764769 second(s), Total 114, Slave 97 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号