FPGA之ODDR「建议收藏」

通过oddr把两路单端的数据合并到一路上输出上下沿同时输出数据上沿输出a路下沿输出b路 如果两路输入信号一路恒定为1,一路恒定为0,那么输出的信号实际上就是输入的时钟信号ODDRPrimitive:Adedicatedoutputregistertotransmitdualdatarate(DDR)signalsfromV

大家好,又见面了,我是你们的朋友全栈君。



通过oddr把两路单端的数据合并到一路上输出 上下沿同时输出数据 上沿输出a路下沿输出b路  如果两路输入信号一路恒定为1,一路恒定为0,那么输出的信号实际上就是输入的时钟信号


ODDR

Primitive: A dedicated output register to transmit dual data rate (DDR) signals from Virtex-4 FPGAs

The ODDR primitive is a dedicated output registers to transmit dual data rate (DDR) signals from Virtex-4 FPGAs. Unlike previous generations of Xilinx FPGAs, ODDR primitive’s interface with the FPGA fabric is not limited to opposite edges. ODDR is available with modes that allow data to be presented from the FPGA fabric at the same clock edge. This feature allows designers to avoid additional timing complexities and CLB usage. In addition, IDDR will work in conjunction with Select I/O features of Xilinx Virtex-4 architecture.

ODDR Ports (Detailed Description)

Q – Data Output (DDR)

These pins are the ODDR output that connects to the IOB pad.

C – Clock Input Port

The C pin represents the clock input pin.

CE – Clock Enable Port

When asserted LOW, this port disables the output clock at port O.

D1 – D2 – Data Input

This pin is where the DDR data is presented into the ODDR module. This pin connects to the IOB pad.

R – Reset

Asynchronous reset pin. Reset is assert HIGH

R – Reset

Depends on how SRTYPE is set. See “Available Attributes” table below.

ODDR Modes

The following section describes the functionality of various modes of ODDR. These modes are set by the DDR_CLK_EDGE attribute.

OPPOSITE_EDGE

In the OPPOSITE_EDGE mode, data transmit interface uses the classic DDR methodology. Given a data and clock at pin D1-2 and C respectively, D1 will be sampled at every positive edge of clock C, and D2 will be sampled at every negative edge of clock C. Q changes every clock edge.

SAME_EDGE

In the SAME_EDGE mode, data is still transmitted by opposite edges of clock C. However, both register are clocked with positive clock edge C and an extra register has been placed in front of the D2 input data register. The extra register is clocked with negative clock edge of clock signal C. Using this feature, DDR data can now be presented into the ODDR at the same clock edge.

Port List and Definitions

Name

Type

Width

Function

Q

Output

1

Data Output (DDR)

C

Input

1

Clock input

CE

Input

1

Clock enable input

D1 – D2

Input (each)

1

Data Input

R

Input

1

Reset

S

Input

1

Set

Available Attributes

Name

Description

Possible Values

DDR_CLK_EDGE

DDR clock mode recovery mode selection

OPPOSITE_EDGE, SAME_EDGE

INIT

Q initialization value

1’b0, 1’b1

SRTYPE

Set/Reset type selection

ASYNC, SYNC

VHDL Instantiation Template

 -- ODDR: Output Double Data Rate Output Register with Set, Reset    --       and Clock Enable. Virtex-4    -- Xilinx HDL Libraries Guide version 6.3i     ODDR_inst : ODDR    generic map (       DDR_CLK_EDGE => "OPPOSITE_EDGE", -- "OPPOSITE_EDGE" or "SAME_EDGE"        INIT => '0',      -- Initial value of Q: '0' or '1'       SRTYPE => "SYNC") -- Set/Reset type: "SYNC" or "ASYNC"    port map (       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 

Verilog Instantiation Template

 // ODDR: Output Double Data Rate Output Register with Set, Reset    //       and Clock Enable. Virtex-4    // Xilinx HDL Libraries Guide version 6.3i     ODDR 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       );     // The following defparams specify the behavior of the ODDR    // component.  If the instance name is changed, that     // change needs to be reflected in the defparam statements.     defparam ODDR_inst.DDR_CLK_EDGE = "OPPOSITE_EDGE"; // "OPPOSITE_EDGE" or "SAME_EDGE"     defparam ODDR_inst.INIT = 1'b0; // Initial value of Q: 1'b0 or 1'b1    defparam ODDR_inst.SRTYPE = "SYNC"; // Set/Reset type: "SYNC" or "ASYNC"       // End of ODDR_inst instantiation










原文链接 http://arlen.opcom.blog.163.com/blog/static/33775037201092722024551/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126212.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月7日 上午6:20
下一篇 2022年4月7日 上午6:40


相关推荐

  • 多层感知机实现(单层感知器和多层感知器)

    前面利用了softmax来对图像进行分类,也可以使用多层感知机的方法对图像进行分类。多层感知机从零开始实现方法多层感知机(multilayerperceptron,MLP),在单层神经网络的基础上引入了一到多个隐藏层(hiddenlayer)。对于图中的感知机来说,它含有一个隐藏层,该层中有5个隐藏单元。输入和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元。…

    2022年4月16日
    38
  • pycharm快速换行shift+enter快捷键

    pycharm快速换行shift+enter快捷键快捷键 shift enter 可以快速换行 与换行位置代码缩进保持一致

    2026年3月16日
    2
  • 史丰收速算 蓝桥杯

    史丰收速算 蓝桥杯标题 史丰收速算 nbsp nbsp 史丰收速算法的革命性贡献是 从高位算起 预测进位 不需要九九表 彻底颠覆了传统手算 nbsp nbsp 速算的核心基础是 1 位数乘以多位数的乘法 nbsp nbsp 其中 乘以 7 是最复杂的 就以它为例 nbsp nbsp 因为 1 7 是个循环小数 0 如果多位数超过 就要进 1 nbsp nbsp 同理 2 7 3 7

    2026年3月19日
    2
  • linux redis命令客户端,Redis客户端

    linux redis命令客户端,Redis客户端Redis客户端Redis客户端是一个程序,通过网络连接到Redis服务器,在客户端软件中使用Redis可以识别的命令,向Redis服务器发送命令,告诉Redis想要做什么。Redis把处理结果显示在客户端界面上。通过Redis客户端和Redis服务器交互。Redis客户端发送命令,同时显示Redis服务器的处理结果在Redis命令行客户端redis-cli…

    2022年5月1日
    70
  • java socket发送中文乱码_java Socket接收数据乱码问题「建议收藏」

    java socket发送中文乱码_java Socket接收数据乱码问题「建议收藏」));}问题:1.此出输出的数据与我发送的数据不一致2.如果我用strSql=String.valueOf(buffer,0,nDataLen-1);则输出的是方块3.同样我用另外一个程序测试端口6789的数据,打印出来的也是方块,不知道是什么原因,请各位老大帮帮忙分析一下原因,三叩首了!!![/B]测试程序:importjava.nio.channels.ServerSocketCh…

    2022年7月8日
    35
  • man jps「建议收藏」

    man jps「建议收藏」manjpsjps(1)                                                                                                             jps(1)Name      jps-JavaVirtualMachineProcessStatusTool

    2025年12月7日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号