FPGA I/O 口 時鐘約束
FPGA時鐘約束在高速訊號的傳輸設計中是非常重要的,主要是考慮到了建立裕量和保持裕量,如果上述兩個量有其中一個為負,則會導致鎖存的資料處於亞穩態的狀態。
一.當clock由外部時鐘提供,分析如下:
上圖是在外部資料傳到FPGA的一個示意圖,對各個延時的解釋如下:
clk1:時鐘訊號從PLL或者I/O口到源暫存器的延時;
clk2:時鐘訊號從PLL或者I/O口到目標暫存器的延時:
Tco: 在源暫存器接受到時鐘訊號之後到暫存器最後輸出資料的延時。
Tpcb: 走線延時
建立時間Ftus:在時鐘有效沿之前,資料必須保持的最短時間
保持時間FTh: 在時鐘有效沿之後,資料必須保持的最短時間
時序圖如下圖所示:
資料到達時間:Tclk1+Tco+Tpcb
資料保持時間:Tclk1+Tco+Tpcb+Ts(資料保持週期)
建立時間:Tclk2+Tclk-Ftus
保持時間:Tclk2+Tclk+Fth
建立裕量:建立時間-資料到達時間
即(Tclk2+Tclk-Ftus)-(Tclk1+Tco+Tpcb)>0
如果建立裕量為正,說明可以在規定的時間內到達目標,反之,則說明資料有可能會處於亞穩態狀態。
保持裕量:資料保持時間-保護時間
即(Tclk1+Tco+Tpcb+Ts)-(Tclk2+Tclk+Fth)>0
如果保持裕量為正,說明資料在鎖存的時候有足夠多的穩定時間,反之,則說明資料有誤或亞穩態狀態。
二.當clk由FPGA時鐘提供的時候,分析如下:
Tskew:時鐘訊號從時鐘源傳輸到源暫存器的延時定義為CLK1,傳輸到目的暫存器的延時定義為CLK2;將Clk2-Clk1定義為時鐘偏移Tskew
資料到達時間:Tclk1+FTco+Tpcb
資料保持時間:Tclk1+FTco+Tpcb+Ts(資料保持時間)
建立時間:Tclk2+Tclk-Tsu
保持時間:Tclk2+Tclk+Th
建立裕量:建立時間-資料到達時間
即:(Tclk2+Tclk-Tsu)-(Tclk1+FTco+Tpcb)>0
Tclk+Tskew-Tsu-FTco-Tpcb>0
如果建立裕量為正,說明可以在規定的時間內到達目標,反之,則說明資料有可能會處於亞穩態狀態。
保持裕量:資料保持時間-保持時間
即:(Tclk2+Tclk+Th)-(Tclk1+FTco+Tpcb+Ts)>0
Tclk+Tskew+Th-Tpcb-FTco-Ts>0
如果保持裕量為正,說明資料在鎖存的時候,可以有足夠的時間,反之資料有誤或處於亞穩態狀態。