7系 SelectIO Logic Resources--ISERDESE2(2)
标签:
selectioiserdese2端口port |
分类: SelectIO |
先看一张ISERDESE2原语结构图
http://s8/mw690/001ZrwTjgy6P94Ucz8H07&690SelectIO Logic Resources--ISERDESE2(2)" TITLE="7系 SelectIO Logic Resources--ISERDESE2(2)" />
ISERDESE2 端口
Registered Outputs - Q1 to
Q8
输出端口Q1到Q8是ISERDESE2模块的registered
output。一个ISERDESE2 block可以最多支持
8bit(即,一个1:8的deserialization)。Bit数大于8bit时(最多到14bit),只能用DDR模式实现。早收到的data
bit会在输出Q的最高位置。
在OSERDESE2的输入口的bit顺序与ISERDESE2
block的输出口的bit顺序相反。在下图可以看出来。举例说明,有一个word FEDCBA,其least significant
bit 为A。A会放置在OSERDESE2的D1输出上,但是同样的A会被放置在ISERDESE2
block的Q8输出口上。换句话说,D1是OSERDESE2的 least significant
input,而Q8则是ISERDESE2 block的 least significant output。当width
expansion模式使用时,transmitter OSERDESE2 的D1是 least significant
input,而receiver ISERDESE2 block的Q8则是 least significant
output。
http://s15/mw690/001ZrwTjgy6P963SfaC4e&690SelectIO Logic Resources--ISERDESE2(2)" TITLE="7系 SelectIO Logic Resources--ISERDESE2(2)" />
Combinatorial Output -
O
combinatorial output端口O是ISERDESE2模块的
unregistered output。这个输出可以直接从data input
(D)处接收data,或者通过IDELAYE2的data input(DDLY)。
Bitslip Operation -
BITSLIP
当激活此功能时,BITSLIP
pin提供一个同步于CLKDIV的Bitslip操作。随后,Q1到Q8端口的data会实现shift,就像barrel-shifter
操作一样。以后会有详细介绍。
Clock Enable Inputs - CE1 and
CE2
每一个ISERDESE2 block包括了一个输入clock
enable模块。如图:
http://s9/mw690/001ZrwTjgy6P96LBcEMd8&690SelectIO Logic Resources--ISERDESE2(2)" TITLE="7系 SelectIO Logic Resources--ISERDESE2(2)" />
当NUM_CE=1时, CE2输入是不使用的,且CE1输入是一个直接连接在ISERDSE2的input registers的high有效clock使能信号。当NUM_CE=2时,CE1和CE2都要使用,CE1激活一个CLKDIV的 1/2 ,而CE2激活剩下的1/2。在上图中的 internal clock enable 信号 ICE是由CE1和CE2输入驱动的。而ICE则会驱动内部registers的 clock enable inputs,像下图中的FF0,FF1,FF2和FF3.而下图中的其他register则没有clock enable inputs。
当NUM_CE=1时, CE2输入是不使用的,且CE1输入是一个直接连接在ISERDSE2的input registers的high有效clock使能信号。当NUM_CE=2时,CE1和CE2都要使用,CE1激活一个CLKDIV的 1/2 ,而CE2激活剩下的1/2。在上图中的 internal clock enable 信号 ICE是由CE1和CE2输入驱动的。而ICE则会驱动内部registers的 clock enable inputs,像下图中的FF0,FF1,FF2和FF3.而下图中的其他register则没有clock enable inputs。
http://s2/mw690/001ZrwTjgy6P97nRlLz81&690SelectIO Logic Resources--ISERDESE2(2)" TITLE="7系 SelectIO Logic Resources--ISERDESE2(2)" />
clock
enable模块功能和一个2:1的serial-to-parallel转换器类似,由CLKDIV提供时钟。 clock enable
模块是必须的,尤其当ISERDESE2 被设置为在DDR模式下的1:4 deserialization,且作为双向memory接口的时候。当定语NUM_CE=2,clock
enable模块被激活且CE1和CE2都可以使用。当NUM_CE=1时,CE1可以使用且只作为一个一般的clock
enable。
High-Speed Clock Input -
CLK
此high-speed clock
input(CLK)用于输入serial data stream的clock。
High-Speed Clock Input -
CLKB
high-speed secondary clock
input(CLKB)也是用于输入 serial data
stream的时钟。除了MEMORY_QDR模式之外的其他模式中,连接CLKB到CLK的反向端口。而在MEMORY_QDR模式中,CLKB应该连接到一个唯一的,phase
shifted的clock。
Divided Clock Input -
CLKDIV
divided clock
input(CLKDIV)是CLK的一个divided
version(根据实现的串行器的width)。它驱动着serial-to-parallel转换器的输出,Bitslip附属模块,和CE模块。
Serial Input Data from IOB -
D
serial input data
端口(D)是ISERDESE2的serial(高速) data 输入口。此端口只和7系FPGA IOB
resource共同使用。
Serial Input Data from IDELAYE2 -
DDLY
serial input data
端口(DDLY)是ISERDESE2的serial(高速) data 输入口。此端口只和7系FPGA IDELAYE2
resource共同使用。
Serial Input Data from OSERDESE2
- OFB
serial input data 端口(OFB)是ISERDESE2的serial(高速)
data 输入口。此端口只和7系FPGA OSERDESE2 port OFB共同使用。
High-Speed Clock for
Strobe-Based Memory Interfaces and Oversampling Mode -
OCLK
OCLK clock使data transfer同步于strobe-based
memory接口。只有当INTERFACE_TYPE设置为NETWORKING时,OCLK不会使用。
OCLK clock input可以用于传输strobe-based memory data 到 free-running
clock domain。 OCLK是一个 free-running FPGA clock,可以和CLK的strobe频率一样。
CLK到OCLK的domain转换可以从Figure3-5图看到。domain
transfer的timing由用户设置,只需调整strobe 信号到CLK input的
delay时间(即,使用IDELAY)。在MIG中可以看到MEMORY_DDR3和MEMORY_QDR的domain
transfer的timing设置。当INTERFACE_TYPE为NETWORKING时,这个端口不使用。
Reset Input - RST
当激活时, reset input会引起大部分CLK和CLKDIV domain中的data
flip-flops的outputs非同步变为low。不过也有例外,最开始的4个flip-flops在RESET之后其所拥有的值是可以选择的,由component的定语决定。
当同步于CLKDIV而且取消激活时,内部逻辑把此次取消重新定时到CLK的第一个rising edge上。
一个多重bit输入的结构中的每个ISERDESE2应该被同一个reset信号驱动,使用同步于CLKDIV的激活,取消来保证所有的ISERDESE2元素同步。
reset信号只能在当其知道CLK和CLKDIV是稳定的情况下取消,而且最少是两个CLKDIV pulse的宽。

加载中…