首页 > 其他分享 >原语笔记:IDDR和ODDR

原语笔记:IDDR和ODDR

时间:2024-04-10 14:12:23浏览次数:19  
标签:clock ODDR SAME 原语 EDGE b0 bit IDDR

IDDR

 IDDR的工作模式

OPPOSITE_EDGE

 

SAME_EDGE Mode

SAME_EDGE_PIPELINED Mode

 

 

 

 参考使用:

generate
   genvar i;
      for(i = 0;i < 4;i = i + 1)begin:iddr_block
         IDDR #(
            .DDR_CLK_EDGE("SAME_EDGE_PIPELINED"), // "OPPOSITE_EDGE", "SAME_EDGE" 
                                          //    or "SAME_EDGE_PIPELINED" 
            .INIT_Q1(1'b0), // Initial value of Q1: 1'b0 or 1'b1
            .INIT_Q2(1'b0), // Initial value of Q2: 1'b0 or 1'b1
            .SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC" 
         ) IDDR_inst (
            .Q1 ( eth_rxd_data[i]   ), // 1-bit output for positive edge of clock
            .Q2 ( eth_rxd_data[i+4] ), // 1-bit output for negative edge of clock
            .C  ( eth_rxc           ), // 1-bit clock input
            .CE ( 1'b1              ), // 1-bit clock enable input
            .D  ( eth_rxd[i]        ), // 1-bit DDR data input
            .R  ( 1'b0              ), // 1-bit reset
            .S  ( 1'b0              )  // 1-bit set
         );
   end
endgenerate

// ctrl
   IDDR #(
      .DDR_CLK_EDGE("SAME_EDGE_PIPELINED"), // "OPPOSITE_EDGE", "SAME_EDGE" 
                                      //    or "SAME_EDGE_PIPELINED" 
      .INIT_Q1(1'b0), // Initial value of Q1: 1'b0 or 1'b1
      .INIT_Q2(1'b0), // Initial value of Q2: 1'b0 or 1'b1
      .SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC" 
   ) IDDR_inst_4_ctrl (
      .Q1 ( eth_rxd_vaild  ), // 1-bit output for positive edge of clock
      .Q2 ( eth_rx_error   ), // 1-bit output for negative edge of clock
      .C  ( eth_rxc        ), // 1-bit clock input
      .CE ( 1'b1           ), // 1-bit clock enable input
      .D  ( eth_rx_ctl     ), // 1-bit DDR data input
      .R  ( 1'b0           ), // 1-bit reset
      .S  ( 1'b0           )  // 1-bit set
   );

ODDR

基本:

ODDR工作模式

OPPOSITE_EDGE Mode

SAME_EDGE Mode

 

 

标签:clock,ODDR,SAME,原语,EDGE,b0,bit,IDDR
From: https://www.cnblogs.com/VerweileDoch/p/18125900

相关文章

  • 原语笔记:BuF系列
    参考:UG472UG953UG768BUFGPrimitive:GlobalClockSimpleBuffer介绍:该设计元素是一个高扇出缓冲器,它将信号连接到全局布线资源,以实现信号的低偏斜分布。BUFG通常用在时钟网络以及其他高扇出网络(例如设置/重置和时钟使能)上。简介:全局缓冲,BUFG的输出到达FPGA内部的I......
  • FPGA原语
    ODDR代表的是双数据速率输出寄存器(OutputDoubleDataRateRegister)。这种原语用于在一个时钟周期内产生两个数据输出,通常用于高速数据传输和时钟数据恢复等应用。在以下示例VHDL代码中,ODDR原语被用来生成一个双数据速率的输出信号ad9653_1clk。ad1_clk:ODDRgenericmap(......
  • P9077 [PA2018] Poddrzewo 题解
    思考感觉题目有点迷惑的意思,要最小化操作\(1\)使用的次数,也就是要节约修改操作,让我们认为操作\(1\)是最有用的,其实只要稍微动动脑子想一想,删除操作才是最有用的,而交换操作根本没用。当将序列删除到只剩两个点时,就把两个点连上,度都为\(1\)。所以如果序列中\(1\)的数量超......
  • 原语科技案例入选《2023全球隐私计算报告》
    在这个数字化迅速发展的时代,隐私计算作为保护数据安全的重要技术,正受到全球范围内越来越多的关注。11月23日,第二届全球数字贸易博览会在杭州国际博览中心隆重举行。来源:《2023全球隐私计算报告》报告亮点国内外频繁出台的隐私计算相关政策国际上今年发生的隐私计算相关动......
  • VCS代码保护+SOC中的复位电路+verdi生成部分原理图+verdi查看delta cycle+自定义的原
    VCS代码保护在新思公司的一些vip的实现中,一些代码进行了加密,导致无法查看源码,加密的方法也是使用新思的工具VCS。在编译的命令行添加+protect选项,在代码前后加上编译指示,则生成对应的加密vp、svp文件,中间的部分被加密。https://blog.csdn.net/woodhorse007/article/details/524......
  • 密码学领域学术词汇及原语
    primitive在密码学论文中,"primitive"通常指的是基础的密码学构造或算法。这些基础构造或算法可以用作更复杂的密码方案的构建块,或作为加密或身份验证方案的主要组成部分。密码学原语通常包括散列函数、消息认证码、对称加密算法和非对称加密算法等。在密码学中,原语被认为是安全......
  • 《asyncio 系列》11. asyncio 的并发原语(锁、信号量、事件、条件)
    楔子使用多线程和多进程编写应用程序时,需要考虑非原子操作时的竞态条件,因为即使是并发增加整数这样简单的操作也可能导致微妙的、难以重现的bug。而asyncio是单线程的(除非与多线程和multiprocessing进行交互),这是否意味着我们就可以不必考虑竞争条件呢?事实证明,事情并非那么简......
  • 重新学习Java线程原语
    Synchronized曾经是一个革命性的技术,在当前仍然有重要的用途。但是,现在是时候转向更新的Java线程原语,同时重新考虑我们的核心逻辑。自从Java第一个测试版以来,我就一直在使用它。从那时起,线程就是我最喜欢的特性之一。Java是第一种在编程语言本身中引入线程支持的语言。那是一个......
  • 怎么使用硬件同步原语替代锁?
    什么是硬件同步原语?硬件同步原语(AtomicHardwarePrimitives)是由计算机硬件提供的一组原子操作。我们常见的原语操作有CAS和FAA两种。CASCompareandSwap(CAS),字面意思......
  • 理解信号灯和P\V操作原语
    信号灯和P\V操作原语在复习操作系统进程及进程管理这一章节的时候,对信号灯和P、V操作有点不理解,于是尝试用生活中的例子来解释一下。首先,简单介绍一下信号灯,及其特点......