本文将結合具體執行個體闡述OFFSET IN的使用方法。注意:這是我第一次寫OFFSET IN限制,本文僅供參考。閱讀本文前需要了解時序收斂的基本概念,OFFSET IN和Period的相關知識,可先閱讀時序收斂:基本概念,OFFSET限制(OFFSET IN 和OFFSET OUT)這兩篇内容。
系列目錄
時序收斂:基本概念
建立時間和保持時間(setup time 和 hold time)
OFFSET限制(OFFSET IN 和OFFSET OUT)
Clock Skew , Clock uncertainly 和 Period
特殊限制From To
OFFSET IN 使用舉例
Achieving Timing Closure
1. 分析
某器件(Device)有信号RXD0-RXD15,RKLSB,RKMSB需要輸入到FPGA内,同時有與資料同步的RXCLK,資料為SDR輸入。如下圖所示,這是一個典型的源同步輸入方式,需要給出OFFSET IN限制。

OFFSET IN的相關參數可以到與器件對應的Datasheet内尋找,該器件的輸入滿足以下關系。RXD0-RXD15,RKLSB,RKMSB在RXCLK上升沿到達前3ns有效,同時在上升沿之後保持3ns。(這一情況對應TXCLK=80MHz,TXCLK = RXCLK)
綜合這兩點考慮,RXD0-RXD15,RKLSB,RKMSB的OFFSET IN Before 是 3ns(80MHz),同時資料的有效時間為tsu+th = 6ns(80MHz)。
2. 建立時序限制
可以之間在UCF檔案中寫時序限制,也可以通過軟體指定生成。這裡介紹後一種方法,采用ISE開發環境,首先打開工程,點選Create Timing Constraints。
由于RXD0-RXD15,RKLSB,RKMSB滿足的OFFSET IN是一緻的,這裡先定義TIMEGRP。點選左側Grop Constraints by Instance,出現如下界面。由于RXD0-RXD15,RKLSB,RKMSB都是輸入pad,選擇Input Pads,建立Time name為tlk1_rxd,選擇對應的RXD0-RXD15,RKLSB,RKMSB完成即可。(注:該工程中有兩個器件,這裡對應tlk1_dclkin為RXCLK,tlk1_rklsb為RKLSB,tlk1_rkmsb為RKMSB,tlk1_rxd[15:0]為RXD0-RXD15.)
之後選擇OFFSET IN,定義OFFSET IN限制。打開界面,選擇源同步,SDR方式,Clock edge為Center aligned(這個可以通過右側的時序圖确定)。點選下一步。(注,tlk1_dclkin在FPGA内部作為時鐘,需要先寫時序限制,這裡假設頻率為100MHz,占空比1:1。)
之後确定相關參數,Input clock pad為tlk1_dclkin(時鐘限制已經寫好),輸入pad為tlk1_rxd。第1節分析結果可得在135MHz下offset in為2.5ns,資料有效時間為5ns。這裡采用這一數值,填入對應方框中,确認儲存即可。
3. 結果
生成限制後,可以打開UCF檔案,觀察生成結果如下所示。首先是tlk1_dclkin的周期限制,同時定義了占空比為1:1。之後确定了TIMEGRP,最後指定了OFFSET IN限制。
NET "tlk1_dclkin" TNM_NET = tlk1_dclkin;
TIMESPEC TS_tlk1_dclkin = PERIOD "tlk1_dclkin" 10 ns HIGH 50%;
TIMEGRP "tlk1_rxd" = PADS("tlk1_rxd<15>") PADS("tlk1_rxd<0>") PADS("tlk1_rxd<1>") PADS("tlk1_rxd<2>") PADS("tlk1_rxd<3>") PADS("tlk1_rxd<4>") PADS("tlk1_rxd<5>") PADS("tlk1_rxd<6>") PADS("tlk1_rxd<7>") PADS("tlk1_rxd<8>") PADS("tlk1_rxd<9>") PADS("tlk1_rxd<10>") PADS("tlk1_rxd<11>") PADS("tlk1_rxd<12>") PADS("tlk1_rxd<13>") PADS("tlk1_rxd<14>") PADS("tlk1_tklsb") PADS("tlk1_tkmsb");
TIMEGRP "tlk1_rxd" OFFSET = IN 2.5 ns VALID 5 ns BEFORE "tlk1_dclkin" RISING;
自由轉載,轉載注明出處(http://www.cnblogs.com/sea-wind/)
姓名标示(BY)-相同方式分享(SA)