OLOGIC 资源
OLOGIC块在FPGA内的方位紧挨着IOB,其作用是FPGA经过IOB发送数据到器材外部的专用同步块。OLOGIC 资源的类型有OLOGIC2(坐落HP I/O banks)和OLOGIC2(坐落HR I/O banks)。在本文的下述论说中,除非特别阐明,OLOGIC2和OLOGIC3在功用和端口上都是相同的。
OLOGIC2和OLOGIC3不属于原语,正因为这样,所以它们不能被直接例化。它包含在布局布线后用户可例化的一些元素,例如一个输出触发器(OFD–output flip-flop)或许一个ODDR(output DDR element).
OLOGIC主要由两个block组成,一个用于装备输出途径。别的一个用于装备三态操控途径。这两个block具有一起的时钟,可是具有不同的使能信号OCE和TCE。两者具有由SRVAL特点精美的一部和同步set和reset(S/R信号)。
输出途径和三态枯井能够以下列形式之一独立装备:
边缘触发的D触发器
DDR形式(ASAME_EDGE 或 OPPOSITE_EDGE)
电平灵敏锁存器
异步电路/组合逻辑
下图阐明晰OLOGIC block中的各种逻辑资源
组合输出数据途径和三态操控途径
组合输出途径创立一个从FPGA逻辑到输出驱动或输出驱动操控的直接衔接。这些途径常常由软件主动设置,当:
1. 从FPGA逻辑内的逻辑资源到输出数据或许三态操控的直接衔接(未经过寄存器)。
2. pack i/o register/larches into IOBs 软件map指令被设置为OFF。
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特点完成。它也支撑三态操控。一下各节具体介绍了各种形式。
OPPOSITE_EDGE 形式
在此形式中,时钟边缘被用来以两倍的吞吐量从FPGA逻辑中捕获数据。这种结构与virtex-6的完成比较类似。两个输出都供给给IOB的数据输入或许三态操控输入。运用OPPOSITE_EDGE形式的输出DDR时序图如下图所示:
SAME_EDGE 形式
在此形式下,数据能够在相同的时钟边缘从给IOB。相同的时钟沿江数据送给IOB能够防止树立时刻违规,并答应用户运用最小的寄存器来履行更高的DDR频率来进行寄存器的推迟,而不是运用CLB寄存器。下图显现了运用SAME_EDGE形式的输出DDR的时序图:
时钟前向
输出DDR能够发送时钟的副本到输出。这关于传达时钟和DDR数据之间相同的延时对错常有用的,而且关于多个时钟生成,每个时钟负载具有仅有的时钟驱动器。这是经过将ODDR原语中D1输入设置为High,D2输入设置为低来完成的。Xilinx主张运用此计划将FPGA逻辑时钟转发到输出引脚。
输出DDR原语(ODDR)
图2-20显现了ODDR原语结构图。Set和Reset不能一起置位。表2-21列出了ODDR端口信号。表2-11描绘了各种可哦那个的特点和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
);