当前位置: 首页 > news >正文

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的相同的上升沿被采集,此种模式使用较多。
在这里插入图片描述

相关文章:

  • DFS之剪枝与优化AcWing 166. 数独
  • 公司保护知识产权做法有哪些
  • Map和mybatis
  • 信息化与工业化融合,MES管理系统助力制造业发展
  • 国稻种芯百团计划行动 邓兴旺:依靠中国农业现代化的实现
  • Promethues入门,看懂不会写
  • Windows 10硬盘数据怎么永久擦除?
  • Jenkins 踩坑(四)|基于接口自动化测试完成
  • package.json配置
  • [折腾]使用SSH服务实现一个socks5代理服务器
  • java计算机毕业设计我的大学电子相册源码+系统+数据库+lw文档+mybatis+运行部署
  • 中小型企业应如何选择OA管理系统
  • Kubernetes学习记录之(jenkins slave安装配置)
  • java计算机毕业设计文学阅读平台源码+系统+数据库+lw文档+mybatis+运行部署
  • windows下安装docker
  • 345-反转字符串中的元音字母
  • Angular Elements 及其运作原理
  • Django 博客开发教程 8 - 博客文章详情页
  • javascript数组去重/查找/插入/删除
  • JS变量作用域
  • leetcode388. Longest Absolute File Path
  • nodejs调试方法
  • oschina
  • Redux系列x:源码分析
  • Shadow DOM 内部构造及如何构建独立组件
  • Vue学习第二天
  • 程序员该如何有效的找工作?
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 码农张的Bug人生 - 初来乍到
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 如何选择开源的机器学习框架?
  • 深度学习中的信息论知识详解
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 新版博客前端前瞻
  • kubernetes资源对象--ingress
  • ​第20课 在Android Native开发中加入新的C++类
  • #DBA杂记1
  • (C++17) std算法之执行策略 execution
  • (Python) SOAP Web Service (HTTP POST)
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (十)c52学习之旅-定时器实验
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)iOS字体
  • (转)Sublime Text3配置Lua运行环境
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Reactor简单使用教程
  • .net访问oracle数据库性能问题
  • @EnableAsync和@Async开始异步任务支持
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [android] 练习PopupWindow实现对话框