完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
嗨,
我附上了一个非常简单的ISE项目。 我有一个2位自由运行计数器(cnt)指望clk的上升沿。 cnt输出定向到两个ODDR2实例的D0输入。 ODDR2的D1输入设置为“0”,C0设置为clk,C1设置为“不clk”。 DDR_ALIGNMENT没有。 ODDR2输出是我设计的一些输出。 cnt输出是我设计的其他输出。 问题是(参见附件中的sim.jpg)ODDR2采样的D0值(即cnt)(在C0的上升沿即clk)是cnt的UPDATED值(它依赖于clk的上升沿) )而不是之前的值,好像我有正常的FFs采样。 该问题仅在行为模拟中显示。 PAR模拟中没问题。 你是否同意这是一个错误,还是我误解了? 谢谢 Pupillo oddr2test.zip 63 KB 以上来自于谷歌翻译 以下为原文 Hi, I attached a very simple ISE project. I have a 2 bit free running counter (cnt) counting on the rising edge of clk. cnt outputs are directed to the D0 inputs of two ODDR2 instances. D1 inputs of the ODDR2 are set to '0', C0 is set clk and C1 to "not clk". DDR_ALIGNMENT is NONE. ODDR2 outputs are some of the outputs of my design. cnt outputs are the other outputs of my design. The problem is (see sim.jpg in the attachment) that the D0 value (that is cnt) sampled by ODDR2 (on the rising edge of C0 that is clk) is the UPDATED value of cnt (which counts on that rising edge of clk ) and not the previous value as if I had normal FFs sampling. The problem is shown only in behavioral sim. In PAR simulation it's ok. Do you agree that it's a bug or am I misunderstanding? Thanks Pupillo oddr2test.zip 63 KB |
|
相关推荐
7个回答
|
|
该问题与模型的delta延迟有关,并且仅在行为模拟中发生。为了解决这个问题,可以运行Post Translate模拟或者可以将“wire”添加到ODDR2的Clock中,以下是一个示例
.Data_IN_Del ODDR_inst0:ODDR2generic map(DDR_ALIGNMENT =>“C0”,SRTYPE =>“ASYNC”)端口映射(Q => oddr2_out(0),C0 => CLK,C1 => CLK_N,CE => CE,D0 => Data_IN_Del,D1 =>'0',R =>复位,S =>'0');此附加网络添加的增量延迟不会影响硬件的时序或性能,因此可以在执行期间安全地保留 该设计。 -------------------------------------------------- -----------------------不要忘记回答,kudo,并接受为解决方案.------------- -------------------------------------------------- ---------- 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 The issue is related to the delta delays of the model and only occurs in the behavioural simulations. To work around it a Post Translate simulation can be run or a "wire" can be added to the Clock of the ODDR2, the following is an example. Data_IN_Del <= Data_IN -- Wire Added ODDR_inst0 : ODDR2 generic map( DDR_ALIGNMENT => "C0", SRTYPE => "ASYNC") port map ( Q => oddr2_out(0), C0 => CLK, C1 => CLK_N, CE => CE, D0 => Data_IN_Del, D1 => '0', R => Reset, S => '0' ); The delta delay added by this additional net will not affect the timing or performance in Hardware and so it can be safely left in during implementation of the design. ------------------------------------------------------------------------- Don’t forget to reply, kudo, and accept as solution. -------------------------------------------------------------------------View solution in original post |
|
|
|
移动的线程链接已断开。
这个帖子现在在哪里? 以上来自于谷歌翻译 以下为原文 The moved thread link is broken. Where is this thread now? |
|
|
|
我也遇到了ODDR2模型的奇怪行为。
而且链接仍然破裂...... 以上来自于谷歌翻译 以下为原文 I'm also experiencing wierd behavior of the ODDR2 model. And the link is still broken... |
|
|
|
我也有这个问题。
一模一样。 某处有解决方案吗? 我无法在论坛的任何地方找到移动的帖子。 以上来自于谷歌翻译 以下为原文 I also have this very problem. Exactly the same. Is there a solution somewhere? I cannot find the moved post anywhere in the forum. |
|
|
|
该问题与模型的delta延迟有关,并且仅在行为模拟中发生。为了解决这个问题,可以运行Post Translate模拟或者可以将“wire”添加到ODDR2的Clock中,以下是一个示例
.Data_IN_Del ODDR_inst0:ODDR2generic map(DDR_ALIGNMENT =>“C0”,SRTYPE =>“ASYNC”)端口映射(Q => oddr2_out(0),C0 => CLK,C1 => CLK_N,CE => CE,D0 => Data_IN_Del,D1 =>'0',R =>复位,S =>'0');此附加网络添加的增量延迟不会影响硬件的时序或性能,因此可以在执行期间安全地保留 该设计。 -------------------------------------------------- -----------------------不要忘记回答,kudo,并接受为解决方案.------------- -------------------------------------------------- ---------- 以上来自于谷歌翻译 以下为原文 The issue is related to the delta delays of the model and only occurs in the behavioural simulations. To work around it a Post Translate simulation can be run or a "wire" can be added to the Clock of the ODDR2, the following is an example. Data_IN_Del <= Data_IN -- Wire Added ODDR_inst0 : ODDR2 generic map( DDR_ALIGNMENT => "C0", SRTYPE => "ASYNC") port map ( Q => oddr2_out(0), C0 => CLK, C1 => CLK_N, CE => CE, D0 => Data_IN_Del, D1 => '0', R => Reset, S => '0' ); The delta delay added by this additional net will not affect the timing or performance in Hardware and so it can be safely left in during implementation of the design. ------------------------------------------------------------------------- Don’t forget to reply, kudo, and accept as solution. ------------------------------------------------------------------------- |
|
|
|
jheslip写道:这个问题与模型的delta延迟有关,并且只发生在行为模拟中。为了解决这个问题,可以运行Post Translate模拟,或者可以将“wire”添加到ODDR2的Clock中,以下
是一个例子.Data_IN_Del ODDR_inst0:ODDR2generic map(DDR_ALIGNMENT =>“C0”,SRTYPE =>“ASYNC”)端口映射(Q => oddr2_out(0),C0 => CLK,C1 => CLK_N,CE => CE, D0 => Data_IN_Del,D1 =>'0',R =>复位,S =>'0');此附加网络添加的增量延迟不会影响硬件的时序或性能,因此可以安全地保留 在设计实施期间。 如何而不是解决方法,修复fscking模型? 破碎的模型导致设计师的信心降低,我的意思是客户。 ----------------------------是的,我这样做是为了谋生。 以上来自于谷歌翻译 以下为原文 jheslip wrote:How about instead of the workaround, fix the fscking model? Broken models lead to a reduction in the confidence of designers, I mean, customers. ----------------------------Yes, I do this for a living. |
|
|
|
我的模拟失败时也找到了这个帖子。
如果你问我,这是一个非常糟糕的解决方法。 以上来自于谷歌翻译 以下为原文 I also found this thread when my simulation failed. This is a pretty crappy workaround if you ask me. |
|
|
|
只有小组成员才能发言,加入小组>>
2383 浏览 7 评论
2800 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2263 浏览 9 评论
3336 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2430 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
756浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
546浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
368浏览 1评论
1964浏览 0评论
683浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 20:51 , Processed in 1.167988 second(s), Total 61, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号