完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有两个时钟来自绝对不同的域,C0和C2。
每个时钟都来自自己的BUFG和DCM,所以它们都是很好的时钟,设计可以正常使用。 我有一个BRAM,其中portA用C0时钟计时,portB用C2时钟计时。 这一切都很好。 现在我必须执行以下操作:根据某些控制逻辑,BRAM的portA和portB必须仅由C2提供时钟。 所以我所做的就是把BUFGMUX放在portA前面输入到BRAM的前面。 当控制逻辑为0时,BUFGMUX选择C0,当控制逻辑为1时,则选择C2馈送到BRAM时钟输入的端口A. 我遇到的问题是一个巨大的时钟偏差,因此设置时间违规。 (同时具有BUFGMUX的SYNC和ASYNC设置) 这是一个计时错误的打印输出: Slack(设置路径): - 1.317ns(要求 - (数据路径 - 时钟路径偏差+不确定性))来源:number1_memory / U0 / xst_blk_mem_generator / gnativebmg.native_blk_mem_gen / valid.cstr / ramloop [10] .ram.r / s6_init。 ram / TRUE_DP.PRIM18.ram(RAM)目标:test_unit_1 / data0_out_reg0 / q_10(FF)要求:5.000ns数据路径延迟:2.942ns(逻辑电平= 0)(仅限组件延迟超出约束)时钟路径偏差:-2.638 ns(0.963 - 3.601)源时钟:number1mem_clka在0.000ns上升目标时钟:C2在5.000ns时上升时钟不确定度:0.737ns number1mem_clka是BUFGMUX的时钟输出,进入BRAM的portA时钟输入。 基本上在完成切换之后,number1mem_clka应该与C2在同一时钟域中。 有任何想法吗? 以上来自于谷歌翻译 以下为原文 I have two clocks coming from absolutely different domains, C0 and C2. Each of those clocks comes from its own BUFGs and DCMs, so they are good clocks, and design works fine with them. i have a BRAM where portA clocked with C0 clock, portB is clocked with C2 clock. it all works good. now i have to do the following: depending on some control logic, both portA and portB of BRAM must be clocked only by C2. so what i did is, just put BUFGMUX in front of portA clock input to BRAM. When control logic is say 0, then C0 is selected by BUFGMUX, when control logic is 1, then C2 is selected to be fed to portA of BRAM clock input. the problem i have is a huge clock skew, and as a result setup time violation. (with both SYNC and ASYNC settings of BUFGMUX) Here is a printout of timing error: Slack (setup path): -1.317ns (requirement - (data path - clock path skew + uncertainty)) Source: number1_memory/U0/xst_blk_mem_generator/gnativebmg.native_blk_mem_gen/valid.cstr/ramloop[10].ram.r/s6_init.ram/TRUE_DP.PRIM18.ram (RAM) Destination: test_unit_1/data0_out_reg0/q_10 (FF) Requirement: 5.000ns Data Path Delay: 2.942ns (Levels of Logic = 0)(Component delays alone exceeds constraint) Clock Path Skew: -2.638ns (0.963 - 3.601) Source Clock: number1mem_clka rising at 0.000ns Destination Clock: C2 rising at 5.000ns Clock Uncertainty: 0.737ns number1mem_clka is clock output from BUFGMUX which goes into portA clock input of BRAM. basically after a switch is done, number1mem_clka should be in a same clock domain as C2. any ideas? |
|
相关推荐
7个回答
|
|
了解相应的时钟频率可能会有所帮助。
- 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 It might be helpful to know the respective clock frequencies. -- 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. |
|
|
|
两者都是200MHz,但彼此没有任何关系。
再次,设计与他们合作良好,现在我有这个特定的要求来实现。 更多细节: BUFGMUX的控制信号由C2上的逻辑产生。 我尝试通过用C0计时的触发器传递它,它也没有帮助(为了延迟它)。 以上来自于谷歌翻译 以下为原文 both are 200MHz, but have no any relationship to each other. and again, the design works fine with them, its just right now i have this specific requirement to implement. more details: control signal of BUFGMUX is generated by the logic working on C2. i tried passing it through the flip-flop clocked with C0, it didnt help either (in order to kind of delay it). |
|
|
|
从它的外观来看,你在你的时钟多路复用器中增加了另一个缓冲延迟。
虽然歪斜了 BUFGMUX输出为低电平,延迟很大,在您的情况下约为2.6 ns。 你是什么 需要做的是尝试将相同的网络路由到BUFG的输入和输入 BUFGMUX而不是在现有BUFG的输出端添加BUFGMUX。 您可能需要为缓冲区组件找到合适的位置,以便 输入侧路由也具有低偏差(使用两个具有短路径的BUFGMUX组件 可从时钟源获得)。 - Gabor - Gabor 以上来自于谷歌翻译 以下为原文 From the looks of it, you're adding another buffer delay in your clock mux. While the skew on the BUFGMUX output is low, its delay is significant, about 2.6 ns in your case. What you need to do is try to route the same nets to the input of the BUFG and the input of the BUFGMUX instead of adding the BUFGMUX at the output side of the existing BUFG. You may need to find an appropriate placement for the buffer components so the input side routing has low skew as well (use two BUFGMUX components with short routes available from the clock source). -- Gabor -- Gabor |
|
|
|
这是一些想法。
也许他们会有所帮助,取决于你的申请: 1.使用FPGA的部分或完全重新配置。 完全重新配置需要时间,但如果您能够承担重新配置时间并且在Flash中有足够的空间用于额外的FPGA映像,那么这是一个简单的解决方案。 2.也许您可以使用两个BUFGMUX,每个DCM前面一个 - 然后您可以选择C0,C2或C2,C2作为您的时钟,并在C2,C2情况下具有合理匹配的相位。 - Stephen EcobSilicon On InspirationSydney Australiawww.sioi.com.au $ 49 Spartan 6主板配32MB DDR DRAM?http://www.sioi.com.au/shop/product_info.php/products_id/47 以上来自于谷歌翻译 以下为原文 Here's a couple of ideas. Perhaps they would help, depends on your application: 1. Use partial or full reconfiguration of the FPGA. Full reconfig takes time, but is a simple solution if you can afford that reconfig time and have enough space in Flash for the extra FPGA image. 2. Perhaps you could use two BUFGMUXs, one in front of each DCM - then you can select C0,C2 or C2,C2 as your clocks and have reasonably matched phases in the C2,C2 case. -- Stephen Ecob Silicon On Inspiration Sydney Australia www.sioi.com.au $49 Spartan 6 board with 32MB DDR DRAM ? http://www.sioi.com.au/shop/product_info.php/products_id/47 |
|
|
|
除了Gabor的建议外,还有另一种可能性:
从C0到C2域添加FIFO,将READ和WRITE事务从C0传递到C2域。 DPRAM现在仅在C2域上运行 您还需要一个从C2域到C0域的FIFO,用于返回READ数据。 不需要BUFGMUX - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 In addition to Gabor's suggestion, here's another possibility:
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. |
|
|
|
经过一番思考。
我基本上会重新设计我的系统,它会像你描述的那样。 只是另一个BRAM。 事实上,我的算法没有罚款。 此外,设计也将更加便携。 以上来自于谷歌翻译 以下为原文 after some thinking. I'll basically redesign my system, it will be something like what you described. just another BRAM. in fact my algorithm is ok with that with no penalty. also the design will be more portable too. |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2429 浏览 7 评论
2831 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2298 浏览 9 评论
3378 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2468 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1312浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
595浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
456浏览 1评论
2011浏览 0评论
737浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 20:13 , Processed in 1.727588 second(s), Total 90, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号