Bryan

ODDR使用与仿真

0
阅读(5977)

1、使用方法

在DDR接口中ODDR用于发送时钟和数据;

在SDR接口中仅用ODDR转发时钟(仍在时钟树内),输出端要直连到输出port,不可加逻辑;

使用时钟专用输入管脚输出时钟=使用GPIO输出时钟,必须使用ODDR。

发送多位数据时需要用generate语句例化多个ODDR原语,参见如下链接(ODDR的使用错误):

http://blog.csdn.net/christne1225i/article/details/24492221

blob.png


2、数据输入捕获模式

OPPOSITE_EDGE模式、SAME_EDGE模式区别在于前者先后使用上升下降沿捕获数据到ODDR内部,后者同时在上升沿捕获两个端口的数据到ODDR内部。两者的输出相同,都是在不同的沿输出各自数据。

blob.png不同沿捕获数据blob.png都在上升沿捕获数据

3、仿真

输出端口在CE=1后并不是立即工作,大约有105ns多的等待期

oddr仿真文件.rar

blob.png

Q端输出比端的延时大约为0.1ns

blob.png

IDDR也存在等待周期:见下图

blob.png

在以下文章中也提到了在IDDR使用时也存在等待周期

http://blog.sina.com.cn/s/blog_6cb8cdbd0102vb0s.html

***需要注意的几点(摘自上文)

1. IDDR模块在CE信号变高之后会有一些设定时间,所以在CE信号变高的同时给出data不是一个很好的选择。我在data输出代码里加入了10个cycle的延迟。