您的位置 首页 模拟

Xilinx原语ODDR概述和运用

Xilinx原语ODDR概述和使用-OLOGIC块在FPGA内的位置紧挨着IOB,其作用是FPGA通过IOB发送数据到器件外部的专用同步块。

ODDR is Xilinx HDL Language Template。

ODDR:Output Double Data Rate(DDR) 。

在介绍ODDR之前,咱们先简略了解一下OLOGIC

OLOGIC块在FPGA内的方位紧挨着IOB,其作用是FPGA经过IOB发送数据到器材外部的专用同步块。OLOGIC 资源的类型有OLOGIC2(坐落HP I/O banks)和OLOGIC3(坐落HR I/O banks)。

OLOGIC2和OLOGIC3不属于原语,正因为这样,所以它们不能被直接例化。它包含在布局布线后用户可例化的一些元素,例如一个输出触发器(OFD–output flip-flop)或许一个ODDR(output DDR element)。

OLOGIC主要由两个block组成,一个用于装备输出途径。别的一个用于装备三态操控途径。这两个block具有一起的时钟,可是具有不同的使能信号OCE和TCE。两者具有由SRVAL特点精美的异步和同步set和reset(S/R信号)。

输出途径和三态操控途径能够 以 下列形式之一独立装备:

1.边缘触发的D触发器

2.DDR形式(ASAME_EDGE 或 OPPOSITE_EDGE)

3.电平灵敏锁存器

4.异步电路/组合逻辑

OLOGIC block中的各种逻辑资源如下:

Xilinx原语ODDR概述和运用

Output DDR概述(ODDR)

7系列器材在OLOGIC中有专用寄存器来完成输出DDR寄存器。这个功能在例化ODDR时可见。在运用OLOGIC时,DDR的复用是主动的,不需要手动操控多路复用。这个操控是从时钟发生的。

ODDR原语是由一个时钟输入,下降沿数据由输入时钟的本地反转来计时。反应到I/O块的一切的时钟被彻底复用。例如:在ILOGIC和OLOGIC块之间没有时钟同享。ODDR原语支撑OPPOSITE_EDGE 形式、SAME_EDGE形式。

SAME_EDGE形式与Virtex-6架构相同,这个形式答应设计者在ODDR时钟的上升沿向ODDR原语供给数据输入,然后节约CLB和时钟资源,并提高性能。此形式运用DDR_CLK_EDGE特点完成。它也支撑三态操控。

1) OPPOSITE_EDGE 形式

在此形式中,时钟边缘被用来以两倍的吞吐量从FPGA逻辑中捕获数据。这种结构与virtex-6的完成比较类似。两个输出都供给给IOB的数据输入或许三态操控输入。运用OPPOSITE_EDGE形式的输出DDR时序图如下图所示:

Xilinx原语ODDR概述和运用

2)SAME_EDGE 形式

在此形式下,数据能够在相同的时钟边缘送给IOB。相同的时钟沿将数据送给IOB能够防止树立时刻违规,并答应用户运用最小的寄存器来履行更高的DDR频率来进行寄存器的推迟,而不是运用CLB寄存器。下图显现了运用SAME_EDGE形式的输出DDR的时序图:

Xilinx原语ODDR概述和运用

时钟前向

输出DDR能够发送时钟的副本到输出。这关于传达时钟和DDR数据之间相同的延时对错常有用的,而且关于多个时钟生成,每个时钟负载具有仅有的时钟驱动器。这是经过将ODDR原语中D1输入设置为高,D2输入设置为低来完成的。Xilinx主张运用此计划将FPGA逻辑时钟转发到输出引脚。

输出DDR原语(ODDR)

ODDR原语结构图如下。

Xilinx原语ODDR概述和运用

表2-10列出了ODDR端口信号。

Xilinx原语ODDR概述和运用

表2-11描绘了各种特点和ODDR原语的默认值。

Xilinx原语ODDR概述和运用

ODDR在verilog中的接口例化

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

);

// End of ODDR_inst instanTIaTIon

留意:

1.Set和Reset不能一起置位。

2.ODDR原语的复位需要约12个clock,第一次输入的数据或许会有问题(亲测)。

Xilinx原语ODDR概述和运用

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/339796.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部