歡迎您光臨本站 登入註冊首頁

Quartus II 中Tsu/Tco 的約束方法

admin @ 2014-03-26 , reply:0

概述

Tsu/Tco在QuartusII的報告中有兩種不同含義.片內的Tsu/Tco是指前級觸發器的Tco和后級觸發器的Tsu,一般來說都是幾百ps級別的.可以通過“ListPaths&rdqu……

Tsu/Tco 在Quartus II 的報告中有兩種不同含義.

  1. 片內的Tsu/Tco 是指前級觸發器的Tco 和后級觸發器的Tsu, 一般來說都是幾百ps 級別的. 可以通過“List Paths”命令查看。這裡的Tsu/Tco 主要由器件工藝決定, 工作時在受到溫度,電壓的影響略有變化.(如下圖所示)
     
  2. 管腳上的Tsu/Tco 它是保證系統Famx 重要的Timing 元素(如下圖示). 比如: 兩個晶元之間工作在100MHZ, 因為100M 的周期為10ns, (現忽略PCB 走線的延遲), 如果某信號對FPGA 來說是輸入,那麼前級晶元的Tco 加上FPGA 的Tsu 就不能夠超過10ns. 如果某信號對於FPGA 來說是輸出,那麼FPGA 的Tco 加上后級晶元的Tsu 也不能夠超過10ns. 只有這樣,才能夠保證片間通信正常。因此對FPGA 的管腳進行適當的Tco/Tsu 的時序約束,是至關重要的Timing 設計技巧.
     

管腳上的Tsu/Tco 分為以下三個部分.

  1. IOE 走線的延遲. 這個延遲在管腳的Tsu/Tco 延遲中佔有相當的比例,Altera 的器件為了降低Tsu/Tco 在IOE 上的延遲, 專門在IOE 中設置了兩種類型的觸發器, 即 : Fast Input Register(FPGA 的管腳為輸入時,優化Tsu), Fast Output Register(FPGA 的管腳為輸出時,用於優化Tco)
  2. 內部邏輯走線的延遲。 在Altera 的FPGA 中, 由若干個基本資源LE 構成一個LAB,比如: StratixGx 是10 個LE 組成一個LAB. LAB 橫向和縱向排列形成陣列. 在FPGA 中,以LAB 為基本單元,根據走線長度的不同,分為C4(表示橫跨4 個LAB 的走線資源),C8,C16,R4,R8,16,R24 等不同的走線資源,不同的器件支持不同的走線資源。
  3. 觸發器的Tsu/Tco 的需求,這裡的Tsu/Tco, 這是由器件工藝決定的,最小的Tsu/Tco 的要求. 在實際的工作環境中,受溫度,電壓的變化有微小的變化.

前面提到:對FPGA 的管腳進行適當的Tco/Tsu 的時序約束,是至關重要的Timing 設計技巧.關鍵是在出了問題的時候,怎麼去解決?
Quartus II 有四處可以對Tsu/Tco 進行約束.
1. 全局時序約束. 在Quartus II 中執行Assignments→Timing Setting 彈出如下界面.設計者可以根據系統Fmax 的要求去約束Tsu/Tco.

2. 執行Assignments→Assignment Editor 命令,得到如下界面.設計者可以根據本設計的要求,對輸入/輸出管腳設置Tsu/Tco 的約束;也可以約束內部觸發器的Tsu/Tco 的值。(如下圖所示)
 
3.執行Assignments→ Assignment Editor 命令,選擇”All”或者”Logic Options”,對管腳進行Tsu/Tco 的約束.
 
在”To”選擇對應的管腳,在Assignment Name 中選擇”Fast Input Register”來約束Tsu,選擇”Fast Output Register”來約束Tco. 這也是邏輯工程師通常說的: 為減少Tsu/Tco 的值,放到IOE 中.
3. 修改布線后的底層電路.
執行Processing→Compilation Report 命令. 在Resource Section→Input Pins/Output Pins 中選中對應的輸入輸出管腳(如下圖所示).
 
執行Locate→Locate to Chip Editor 命令.得到如下界面.
 
選中的管腳在Chip Editor 中已經被HighLight(如上圖所示). 雙擊Highlight 的的管腳,得到下圖界面.
 
這裡的參數就是該管腳在布線后所有的參數,並不是每個參數都可以修改.比如: 對LVDS 電平標準,Current Strength 就不能夠修改等.對於LVTTL 電平標準,Current Strength就有2,4,8,16,24mA 可以修改.
設計者可以根據設計的需求來Enable 或者Disable Fast Input Register/Fast Output Register屬性,可以修改輸入管腳到邏輯陣列的延遲和輸出管腳到邏輯陣列的延遲等.
 
修改完成後,這時不能夠再編程工程,只需要執行Processing→Start→Start Assembler 更新編程sof 文件和pof 文件即可。


[admin via 研發互助社區 ] Quartus II 中Tsu/Tco 的約束方法已經有6707次圍觀

http://cocdig.com/docs/show-post-43104.html