我是靠谱客的博主 迅速泥猴桃,最近开发中收集的这篇文章主要介绍xilinx select io IDDR 说明,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

简介

此文介绍了在I/O drivers 之后的logic。 7系FPGA包含了一些I/O logic resources。 这些resources包括了:

 

• Combinatorial input/output

• 3-state output control

• Registered input/output

• Registered 3-state output control

• Double-Data-Rate (DDR) input/output

• DDR output 3-state control

• IDELAY provides users control of an adjustable, fine-resolution delay taps

• ODELAY provides users control of an adjustable, fine-resolution delay taps

• SAME_EDGE output DDR mode

• SAME_EDGE and SAME_EDGE_PIPELINED input DDR mode

 

下面是两个Bank的 I/O tile 的对比。 在IOB(Input/Output Buffer)中包括了SeletctIO input,output,和3-state drivers。 两个Bank的的差异就在于HP bank 多一个单独的 ODELAYE2。

ILOGIC resources

ILOGIC  block 在IOB的旁边。 ILOGIC block 包含了一些同步元素来捕获data(好像从IOB进入FPGA一样)。 

在HP bank中使用ILOGICE2,在HR bank中使用ILOGICE3。 除了特定的情况, ILOGICE2,ILOGICE3在功能和端口上是一样的。 两个ILOGICE只有一点不同:

HR bank中的是ILOGICE3,而且有一个ZHOLD(Zero Hold Delay Element)

HP bank中的是ILOGICE2,而且没有这个ZHOLD元件。

在图中可以如下表示:


ILOGIC可以支持以下操作:

 

• Edge-triggered D-type flip-flop

• IDDR mode (OPPOSITE_EDGE or SAME_EDGE or SAME_EDGE_PIPELINED).

• Level sensitive latch

• Asynchronous/combinatorial

 

ILOGIC block registers有一个通用clock enable signal(CE1) 默认为HIGH有效。若是不连接,此clock enable pin在任何storage元件都是默认为有效状态。

ILOGIC block registers有一个通用的同步或者非同步set和reset(SR signal) 。 此set/reset input pin或者SR, 促使storage 元件进入SRVAL定语指定的状态。reset 条件比set 条件的优先级高。

SRVAL定语可以在ILOGIC block为每个storage元件单独设置,但是不能为每个storage元件的set/reset单独设置同步或者非同步(SRTYPE)。

 

下面介绍一些IDDR的操作模式

 

combinatorial input path

此combinatorial input path 用来创建input driver到FPGA logic的直接连接。以下状况时,此path自动被软件使用:

1. 在FPGA logic中,有一个直接(unregistered)连接从input data 到logic resources。 

2. pach i/o register/ latches into IOBs software map 命令设置为OFF

 

Input DDR Overview (IDDR)

在7系列设备的ILOGIC block中有专属的registers来实现input double-data-rate(DDR) registers。这些特性可以通过实例化IDDR 原语实现。

所有进入到I/O tile 的clocks都是完全多路复用的,即在ILOGIC和OLOGIC之间没有clock sharing。 IDDR原语支持如下的操作模式:

 

• OPPOSITE_EDGE mode

• SAME_EDGE mode

• SAME_EDGE_PIPELINED mode

 

在Virtex-6架构中,SAME_EDGE和SAME_EDGE_PIPELINED模式是一样的。这些模式允许设计者在ILOGIC block中把falling edge的data传输到rising edge domain里,节省CLB和clock resources,而且提高了性能。这些模式用DDR_CLK_EDGE定语可以实现。下面介绍详细介绍这些模式。

OPPOSITE_EDGE 模式

一个传统的DDR solution或者叫OPPOSITE_EDGE模式,通过在ILOGIC block中的一个single input完成的。输出Q1在clock的上升沿,Q2在clock的下降沿时,data输出到FPGA里。这个结构和Virtex-6 FPGA类似。下图显示了使用OPPOSITE_EDGE模式时,input DDR的时序图。


SAME_EDGE 模式

在SAME_EDGE模式中,data是在同样的clock edge中被送入FPGA logic中的。结构与Virtex-6 FPGA类似。

下图显示了使用SAME_EDGE模式的input DDR的时序图。在时序图中,输出对Q1和Q2不再是(0)和(1)。在第一对输出对视Q1(0)和Q2(don't care), 下一个cycle随之而来的则是输出对(1)和(2)。


SAME_EDGE_PIPELINED 模式

在SAME_EDGE_PIPELINED模式中,data也是在同样的clock edge中被送入FPGA logic中的。

和SAME_EDGE模式不同的是,data pair 不在一个clock cycle中分开。但是一个额外的clock latency要求被加入来除去SAME_EDGE模式中的分开效果。下图显示了使用SAME_EDGE_PIPELINE模式的input data 时序图。输出对Q1和Q2在同一时间被送入FPGA logic中。

下面介绍一下input DDR Resources(IDDR)

下图显示了IDDR原语的结构图。Set和Reset在同一时刻不能被支持。表1是IDDR的端口信号,表2描述了IDDR原语的各种定语和默认值。

 

表1:



 

// IDDR: Input Double Data Rate Input Register with Set, Reset

// and Clock Enable.

// 7 Series

// Xilinx HDL Libraries Guide, version 13.4

IDDR #(

.DDR_CLK_EDGE("OPPOSITE_EDGE"), // "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(Q1), // 1-bit output for positive edge of clock

.Q2(Q2), // 1-bit output for negative edge of clock

.C(C), // 1-bit clock input

.CE(CE), // 1-bit clock enable input

.D(D), // 1-bit DDR data input

.R(R), // 1-bit reset

.S(S) // 1-bit set

);

// End of IDDR_inst instantiation

 

 

最后

以上就是迅速泥猴桃为你收集整理的xilinx select io IDDR 说明的全部内容,希望文章能够帮你解决xilinx select io IDDR 说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部