如圖2所示,CLKOUTP/M即為LVDS信號(hào)中的同步時(shí)鐘信號(hào),DA0_P/M到D12_P/M即為數(shù)據(jù)差分信號(hào),DA0_P/M表示為同一對(duì)差分信號(hào),該信號(hào)傳輸?shù)?/span>0和第1比特,以此類(lèi)推。
該ADC的LVDS接口輸出時(shí)序如圖3所示:
圖3
如圖3所示,可以清楚的看到,數(shù)據(jù)信號(hào)的偶比特和奇比特的有效時(shí)刻基本上以輸出時(shí)鐘CLKOUTM/P的上升沿和下降沿的中心。
那么問(wèn)題來(lái)了,在FPGA里是否可以直接使用該同步時(shí)鐘直接寄存器鎖存信號(hào)不就可以了嗎?事實(shí)上通常的做法都是這樣的(該通常的做法跟FPGA的源同步LVDS I/O性能有關(guān)),但是必須加接口約束。為什么呢?因?yàn)?/span>ADC的LVDS輸出的時(shí)鐘和數(shù)據(jù)的相位關(guān)系是會(huì)隨著工作環(huán)境,芯片的批次而變化的,因此不同工作環(huán)境,不同批次的芯片時(shí)鐘和數(shù)據(jù)的相位關(guān)系可能會(huì)有變化,如果不加接口約束直接用源同步時(shí)鐘鎖存數(shù)據(jù)有可能會(huì)造成建立時(shí)間或保持時(shí)間不滿(mǎn)足,進(jìn)而造成接收數(shù)據(jù)錯(cuò)誤。因此,必須加入接口時(shí)序約束以保證輸入接口的寄存器滿(mǎn)足建立時(shí)間和保持時(shí)間。如下圖所示:
圖4