我是靠谱客的博主 唠叨鸡,最近开发中收集的这篇文章主要介绍FPGA结构分析——ODDR,网口储备点2,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言:关于IDDR时序说明可见本篇FPGA结构分析——IDDR,网口储备点1“”,本篇就ODDR进行说明

1.什么是 ODDR? ODDR的作用是什么?使用场景?
2. ODDR结构是什么样?都有哪些端口?端口属性都是什么?
3.ODDR原语结构,参数属性说明?
4. ODDR时序是什么样 ?

1.什么是 ODDR? ODDR的作用是什么?使用场景?

ODDR全称output double date rate,ODDR将FPGA fabric侧的同步数据传输到 IOB侧,在FPGA侧时钟的上升沿和下降沿都传输数据,通常使用在并转串数据设计中,如网口的GMII信号转换为RGMII信号。

2. ODDR结构是什么样?都有哪些端口?端口属性都是什么?

在这里插入图片描述

端口说明:
C:同步时钟输入端口
CE:时钟使能端口,高电平有效
D1、D2:并行数据输入端口
S/R:置位复位管脚
Q:串并转化后的数据输出端口,在时钟C端的上升沿输出D1数据,下降沿输出D2数据。如果两路输入信号一路固定为 1,另外一路固定为 0,那么输出的信号实际上是时钟信号,这也是时钟输出使用较多的方式之一。

3.ODDR原语结构,参数属性说明?

原语结构:

   ODDR #(
      .DDR_CLK_EDGE("OPPOSITE_EDGE"), // "OPPOSITE_EDGE" or "SAME_EDGE" 
      .INIT(1'b0),    // Initial value of Q: 1'b0 or 1'b1
      .SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC" 
   ) ODDR_inst (
      .Q(Q),   // 1-bit DDR output
      .C(C),   // 1-bit clock input
      .CE(CE), // 1-bit clock enable input
      .D1(D1), // 1-bit data input (positive edge)
      .D2(D2), // 1-bit data input (negative edge)
      .R(R),   // 1-bit reset
      .S(S)    // 1-bit set
   );

参数说明:
DDR_CLK_EDGE:设置ODDR相对于时钟端口的边沿工作模式,共两种模式,在第4小节会具体说明;
INIT:Q端初始值;
SRTYPE:置/复位引脚同步/异步方式。

4. ODDR时序是什么样 ?

ODDR有两种输出模式,在原语中由DDR_CLK_EDGE参数进行设置,分别为“OPPOSITE_EDGE”、“SAME_EDGE”。

OPPOSITE_EDGE模式的时序图如下图所示,CLK的上升沿和下降沿都用来采集数据,在FPGA fabric侧需要两个反相时钟同步D1、D2,使用不方便,故较少使用。
在这里插入图片描述

SAME_EDGE模式的时序图如下图所示,D1、D2都在CLK的相同的上升沿被采集,此种模式使用较多。
在这里插入图片描述

最后

以上就是唠叨鸡为你收集整理的FPGA结构分析——ODDR,网口储备点2的全部内容,希望文章能够帮你解决FPGA结构分析——ODDR,网口储备点2所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部