免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
FPGA設計中關于時序約束(轉)

FPGA設計中關于時序約束
關于FPGA設計中,時序約束的定義的總結說明

1.全局時序約束

1.1 PERIOD約束
 用于約束同一時間域中同步邏輯單元之間的時序關系,PERIOD約束會自動處理寄存器時鐘端的反相問題,即,如果相鄰同步元件時鐘相位取反,那么它們之間的延時將被默認PERIOD約束值的一半。
 NET “net_name” PERIOD = period {HIGH|LOW} [high_or_low_time];
 
 最小時鐘周期的計算: Tclk = Tcko + Tnet +Tlogic + Tsetup - Tclk_skew; 其中,Tcko為從時鐘輸入到DFF輸出端的時鐘輸出時間,Tnet為網線延時,Tlogic為同步元件之間的組合邏輯延時,Tsetup為同步元件的建立時間。
 
1.2 OFFSET約束
 用于約束數據的建立時間和保持時間,主要是輸入PAD到同步單元和同步單元到輸出PAD的時序關系
 OFFSET_IN_BEFORE用于定義輸入數據比有效時鐘沿提前多長時間準備好,其芯片內部與輸入引腳相連的組合邏輯的延時不能大于該時間,否則,輸入的數據就達不到要求的建立時間。
 OFFSET_IN_AFTER用于定義輸入數據在有效時鐘沿后多長時間到達芯片的輸入引腳,其作用和BEFORE是一樣的,不過BEFORE的時鐘沿是AFTER的下一個沿,如果一起定義的話。
 上述約束用于設定在數據輸入時,保證有效時鐘沿到來時,數據已經達到穩(wěn)定。
 
 OFFSET_OUT_AFTER用于定義了輸出數據在有效時鐘沿之后多長時間之內保持穩(wěn)定,其實是定義了輸出的最大的數據保持時間,芯片內部的輸出延時必須小于這個值。
 OFFSET_OUT_BEFORE用于定義在下一個時鐘信號到來之前的某個時間,必須輸出數據,以供下一級器件使用。
 這些約束用于對設計輸出端的數據輸出進行約束,以滿足下一級器件的建立時間的要求,保證下一級的采樣數據是穩(wěn)定可靠的。

2.特定約束

2.1 FROM_TO約束
 用于定義兩個邏輯組之間的時序約束,以及對兩者之間的邏輯和布線延時進行控制,這兩個邏輯組的定義可以是預定義也可以是用戶自己定義。
 通常用于約束多周期路徑(Multi-Cycle),時鐘無關的數據路徑,False路徑等。對于組合邏輯和慢速信號邏輯的約束經常使用。
 
 所謂多周期路徑:主要的形式為,寄存器采用同一個時鐘驅動,但是有些寄存器需要用使能信號來進行控制,由于使能信號的頻率較低,所以,在這個路徑的傳輸過程中,存在著多個時鐘周期進行傳輸的情況。
 對于這種情況,約束要比全局約束松,可以先進行時鐘周期約束,再對這個路徑進行松綁約束,用FROM-TO。
 
 所謂多時鐘域:主要的形式是寄存器的兩個時鐘完全獨立的,可以先對每個時鐘所驅動的寄存器或分組進行周期約束,然后在對兩個寄存器(分組)進行FROM-TO約束。

2.2 最大延時約束MAXDELAY
 用于定義特定網絡上的最大延時,只能定義到網絡上。
 
2.3 最大偏移約束MAXSKEW
 SKEW用于定義同一點驅動的時鐘信號經過路徑傳播之后,到達兩個或多個終點的時間差,這個約束用于定義特定的網線上的偏移不大于某個時間。
 
2.4 TIG/False路徑約束
 用于對不需要約束的路徑(即與約束無關的路徑)進行說明。推薦用這個約束來減少設計中受約束路徑的數量。
 對于靜態(tài)時序分析中無法達到要求的情況,即slack為負值的情況,找到關鍵路徑,主要的原因可能是,關鍵路徑本身是一條TIG路徑或是多周期路徑,應該通過修改約束來改進這個問題。如果不是這樣,當延遲值在目標延遲的20%的范圍內,使用synplify 的-improve命令來重新綜合優(yōu)化設計,當超出20%,則需要重新修改設計,比如流水線,FSM或資源共享等方法。
 
2.5 SYSTEM_JITTER系統時鐘抖動約束
 用于定義設計中的系統時鐘抖動的最大值。

3. 分組約束

3.1 TNM和TNM_NET約束
 TNM和TNMNET約束都是用于用戶定義新的時序約束分組。兩者的不同是TNM進行分組不可以穿越IBUF和BUFG,而TNM_NET則可以,也就是說,如果用TNM定義一個PADS分組,只能對這個PAD進行約束,而如果使用TNM_NET約束,則會把IBUFG后面的連接網絡都加入到這個約束中來。
 TNM_NET約束只能用于網線上,否則被忽略。
 {NET|INST|PIN} "object_name(signals_name)" TNM/TNM_NET = predefined_group or "identifier(net_name)";

3.2 TIMEGRP約束
 用于使已有的分組合并,構成新的分組,或用排除的方法構成新的分組。已有的分組包括預定義的分組和用戶自己定義產生的分組。
 TIMEGRP "newgrp_name" = "grp_name1" "grp_name2";
 TIMEGRP "newgrp_name" = "grp_name1" EXCEPT "grp_name2";
 
 定義受時鐘沿控制的觸發(fā)器分組,如RISING或FALLING沿觸發(fā)的分組。
 TIMEGRP "newgrp_name" = RISING/FALLING "grp_name1";
 定義受門控信號控制的鎖存器分組,如TRANSLO或TRANSHI的電平控制的分組
 TIMEGRP "newgrp_name" = TRANSLO/TRANSHI "grp_name1";

3.3 TPTHRU約束
 用于定義一個或一組中間點,以便在其它時序約束定義中來進行標識,我認為有點象電路圖中的網絡命名。如下
 INST FF1 TNM = "start";
 INST FF2 TNM = "endpt";
 NET “mynet” TPTHRU= “ABC”;
 TIMESPEC “TS_path" = FROM "start" THRU "ABC" TO "endpt" 30;
 
4.TIMESPEC
 TIMESPEC是關于時序約束定義的一個基本時序相關約束,它在時序規(guī)范中作為標識符,表示本約束為時序規(guī)范。
 TIMESPEC ”TSidentifier“ = XXXXX XXXXX XXXXXXX
 TSidentifier作為時序規(guī)范,成為TS屬性定義。
 PERIOD約束,FROM-TO約束等都需要使用這個格式。


本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
FPGA開發(fā)全攻略——時序約束
ucf文件中的端口和時序約束
Xilinx FPGA的約束設計和時序分析總結
讓XDC時序約束為您效力
[轉]Xilinx OFFSET偏移約束略談
【精品博文】加班貓告訴你什么叫FPGA時序約束
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服