FPGA ODDR原语
一、原语例化内容


//      ODDR     : In order to incorporate this function into the design,
//     Verilog   : the following instance declaration needs to be placed
//    instance   : in the body of the design code.  The instance name
//   declaration : (ODDR_inst) and/or the port declarations within the
//      code     : parenthesis may be changed to properly reference and
//               : connect this function to the design.  Delete or comment
//               : out inputs/outs that are not necessary.//  <-----Cut code below this line---->// ODDR: Output Double Data Rate Output Register with Set, Reset//       and Clock Enable.//       Artix-7// Xilinx HDL Language Template, version 2019.2ODDR #(.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);// End of ODDR_inst instantiation

二、参数含义
表中给出了各个参数的含义和默认值。

DDR_CLK_EDGE:可选择OPPOSITE_EDGE或者SAME_EDGE。
1)OPPOSITE_EDGE

这种模式下我认为是在clk上升沿采D1的数据,下降沿采D2数据,数据会延迟一点时间输出。
仿真如下图

2)SAME_EDGE模式

这种模式下是在上升沿采集D1 D2的数据,然后在上升沿延迟一点时间输出D1,下降沿延迟一段时间输出D2。
仿真如下图

三、应用
Oserdes、FPGA源同步系统的设计,用ODDR使得随路时钟和数据输出是严格同步的,保证相位严格对齐关系。
看到fpga官方PLL例程中将时钟D1赋值为1,D2赋值为0,参数设置成默认值,得到一个具有和输入时钟有固定延时的时钟。(在100MHz时,这个延时是100ps)

四、注意
1.Set和Reset不能同时置位。

2.ODDR原语的复位需要约12个clock,第一次输入的数据可能会有问题。

【FPGA ODDR原语理解】相关推荐

  1. FPGA双沿发送之ODDR原语实现

    1.1 FPGA双沿发送之ODDR原语实现 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA双沿发送之ODDR原语实现: 5)结束语. 1.1.2 本节引言 &q ...

  2. FPGA中的ODDR原语是干嘛用的?

    文章目录 pll 锁相环实验 锁相环的作用 ip core--clock wizard clk_wiz 例化 oddr 原语 oddr 的作用 pll 锁相环实验 锁相环的作用 他的基本的作用是实现频 ...

  3. Xilinx推荐使用ODDR原语输出高质量时钟

    Xilinx的高质量时钟输出ODDR原语[随路时钟][全局时钟网络][ZC706输出时钟][ZYNQ] 按照Xilinx的推荐,在输出时钟时最好还是把ODDR加上.这个测试用例没有体现出ODDR的优势 ...

  4. Xilinx IDDR和ODDR原语

    IDDR和ODDR原语是针对7系列芯片使用,spand可以使用IDDR2和ODDR2 IDDR三种模式 OPPOSITE_EDGE Mode 传统的输入DDR解决方案或OPPOSITE_EDGE模式是 ...

  5. Xilinx IDDR与ODDR原语的使用

    IDDR原语 如图所示,IDDR原语的输入输出包括D,CE,C,S,R,Q1,Q2,其中,D为输入的双倍速率的数据,即D在时钟的上升沿和下降沿都会发生切换,一个时钟周期发送2bit数据,CE为时钟使能 ...

  6. VIVADO IDDR与ODDR原语的使用

    IDDR与ODDR简单的应用 项目简述 IDDR与ODDR的简述 RGMII时序简述 千兆网输入与输出模块的设计 测试模块的设计 仿真测试结果 总结 项目简述 在数据的传输过程中,我们经常可以碰见双沿 ...

  7. tb文件 vivado_Vivado IDDR与ODDR原语的使用

    在数据的传输过程中,我们经常可以碰见双沿传输数据到FPGA,或者FPGA传输双沿数据给外部芯片,最常见的例子就是DDR芯片.这里说明一下,FPGA内部处理的数据都是单沿数据,那么双沿数据的变换只能发生 ...

  8. Xilinx FPGA用户原语介绍

    原语,即primitive.不同的厂商,原语不同:同一家的FPGA,不同型号的芯片,可以也不一样:原语类似最底层的描述方法.使用原语的好处,可以直接例化使用,不用定制IP:即可通过复制原语的语句,然后 ...

  9. FPGA||ZYNQ概念理解之: Cortex-A9 处理器及架构

    源起 Zynq系列的亮点在于FPGA里包含了完整的ARM处理子系统(PS),每一颗Zynq系列的处理器都包含了Cortex-A9处理器,整个处理器的搭建都以处理器为重心,而且处理器子系统中继承了内存控 ...

最新文章

  1. linux之pid文件
  2. 开源ImageFilter库v0.4:新增26种图片效果
  3. 独家解密:阿里是如何应对超大规模集群资源管理挑战的?
  4. scp有证书的传输,压缩,解压
  5. Hibernate延迟加载
  6. 导出EXCEL中的文件到资源管理器
  7. mockito mock void方法_Spock如何模拟抽象类方法
  8. Cocoapods pod update执行失败报错CocoaPods was not able to update the `master` repo.2019的解决...
  9. vue问题四:富文本编辑器上传图片
  10. 小学生 计算机编程 教程,面向小学生的C ++有趣编程(第一卷)配置教学资源课件完整版...
  11. 手机系统安装打印机服务器错误代码,OKI打印机报错?各型号代码故障解决方法...
  12. linux 挂载u盘考试,Linux 挂载U盘,与解挂
  13. 大数据之-Hadoop3.x_MapReduce_WordCount编写_Reducer---大数据之hadoop3.x工作笔记0090
  14. cdh中hue集成hbase_HBase版本 | Cloudera Enterprise 6.2.0发布
  15. 战胜棋王后,人工智能是否可以颠覆安全?
  16. python1到100偶数求和_python1-100怎样偶数求和?_后端开发
  17. 广东省惠州市谷歌卫星地图下载
  18. 电子邮件验证及部分常用正则表达式
  19. NAND Flash批量数据烧录
  20. 纳米磁珠+AI:让液体活检越走越近

热门文章

  1. VMware虚拟机蓝屏、安装和卸载问题
  2. 王小云破解了美国密码吗?
  3. 基于Unity3D(UGUI)的背包系统(装备系统,锻造系统,购买系统)
  4. WeCode在线少儿编程 |海底捞智慧餐厅机器人送餐成热搜 颠覆传统用餐体验
  5. Python中读文件、写文件的操作方法
  6. 淘宝试用 模拟点击程序
  7. 强烈推荐两个用于广告屏蔽的 ABP和AB
  8. 霍金去世,他留下的5条预言你一定要看一看
  9. android智能音响,大屏+安卓系统 智能音响的究极形态?
  10. java操作hadf