1. 程式人生 > >FPGA I/O 口 時鐘約束

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

如果保持裕量為正,說明資料在鎖存的時候,可以有足夠的時間,反之資料有誤或處於亞穩態狀態。