《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > FPGA教學——STA靜態時序分析

FPGA教學——STA靜態時序分析

2022-08-23
作者:FPGA之旅
來源:電子技術應用專欄作家 FPGA之旅
關鍵詞: 靜態時序分析

  1.

  靜態時序分析

  1.1 什么是靜態時序分析

  靜態時序分析(簡稱STA)是用來驗證數字設計時序的技術之一,另外一種驗證時序的方法是時序仿真,時序仿真可以同時驗證功能和時序。“時序分析”這個術語就是用來指代“靜態時序分析“或”時序仿真“這兩種方法之一,簡單來說,時序分析的目的就是為了解決設計中的各種時序問題。

  靜態時序分析是基于同步電路設計模型的。主要目的就是為了提高系統工作主頻以及增加系統的穩定性。通過靜態時序分析,一方面可以增加系統穩定性,減少亞穩態的發生,另一方面通過附加約束可以控制邏輯的綜合、映射、布局和布線,以減小邏輯和布線延時,從而提高工作頻率。

  1.2 靜態時序分析和時序仿真

  靜態時序分析分析的是時序,檢查在一定頻率下,電路有無時序違例

  時序仿真檢查的是功能,需要在設計的端口添加激勵

  靜態時序分析的特點:更快更簡單,能不添加激勵的情況下檢查完所有的時序路徑

  時序仿真的特點:檢查電路的功能仿真,比較慢

  時序分析:先用STA對電路進行時序檢查,再進行時序仿真

  1.3 在設計的哪個階段使用STA以及如何使用靜態時序分析

  RTL設計階段:此階段需要完成電路的功能設計,而且此階段是行為級網表,無需STA;當邏輯功能設計完成后,綜合成門級網表,此時需要使用STA分析時序最差或關鍵路徑,進行設計的邏輯優化(此時更改的都是邏輯單元)并生成時序約束文件(SDC)

  1.4 在邏輯級(未進行物理設計的門級),STA可采用哪些模型

  理想的互連線或者基于線負載模型的互連線

  帶有延遲和抖動估計值的理想時鐘

  在物理設計階段,除了上述模型,STA還可采用以下模型:

  具有近似估計值的全局布線的互連線、具有近似寄生參數提取值的實際布線的互連線、具有可以簽收(signoff)精度寄生參數提取值的實際布線的互連線

  實際的時鐘樹

  包括串擾的影響或者不包括串擾的影響

  1.5 靜態時序分析同樣具有局限性,在如下的常見情況下無法使用

  對未知態X的處理

  PLL未正確設置

  分析IO接口時序

  分析模擬模塊和數字模塊之間的接口時序

  邏輯設計偽路徑(false path)

  1.6 STA局限性

  STA針對的是數字電路,和模擬電路相關的路徑無法通過STA驗證

  數字電路中產生的不定態在STA不會驗證,這個需要通過仿真進行仔細檢查確認

  電路中不同狀態機之間的同步需求不能通過STA來驗證

  對時鐘生成電路的驗證無法通過STA完成

  時序約束中會有例外情況,需要人工處理

  2.

  相關基礎概念

  建立時間 setup time

  是指在觸發器的時鐘信號上升沿到來以前,數據穩定不變的最小時間Tsu

  保持時間 hold up time

  是指在觸發器的時鐘信號上升沿到來以后,數據穩定不變的最小時間Th

  微信圖片_20220823162801.png

  發射沿 Launch Edge

  時序分析起點,第一級寄存器數據變化的時鐘邊沿,也是靜態時序分析的起點

  鎖存沿 Latch Edge

  時序分析終點,數據鎖存的時鐘邊沿,是靜態時序分析的終點

  微信圖片_20220823162830.png

  數據輸出延時 Tco

  數據輸出延時指的是當時鐘觸發(一般可認為是第一個寄存器的時鐘沿觸發時刻)開始到有效數據輸出**(第一個寄存器的Q端數據開始輸出(有可能變化,也有可能不變化))**的器件內部所有延時的總和。

  微信圖片_20220823162849.png

  數據到達時間(數據路徑,Data Arrival Time)

  輸入數據在有效時鐘沿后到達目的寄存器所需要的時間,可大致劃分為:時鐘沿到達第一級寄存器所需時間(Tclk1),寄存器內部延遲時間(Tco),數據輸出后傳輸到第二級寄存器所需時間(Tdata).

  其中Tdata可細分為:

  組合邏輯延時Tcomb_logic:數據經過組合邏輯部分所需的時間;

  線網延時Tnet:數據在線上傳輸所需的時間,一般較小可以忽略;

  微信圖片_20220823162911.jpg

  時鐘到達時間(時間路徑,Clock Arrival Time)

  時鐘到達時間就是指時鐘從latch edge到達目的寄存器(destination register)輸入端所用的時間。

  微信圖片_20220823162929.png

  時鐘偏斜(Tskew)

  指同一個時鐘沿(clk)和分別到達兩個寄存器所需的時間之間的差值(Tclk1和Tclk2的差值).

  公式為:Tskew=Tclk2-Tclk1.

  微信圖片_20220823162953.png

  數據需求時間(Data Require Time)

  細分為 (Setup-Data Require Time)( Hold-Data Require Time )

  ①Clock Arrival Time = Latch +Tclk2

  因此 Data Required Time = Latch+Tclk2-Tsu (忽略建立不定態)

  微信圖片_20220823163047.png

  ②Clock Arrival Time = Latch +Tclk2.

  因此 Data Required Time = Latch+Tclk2+Tsu (忽略保持不定態)

  微信圖片_20220823163104.png

  建立裕量(Setup Slack)

  微信圖片_20220823163131.png

  Setup Slack = (Latch Edge + Tclk2 - Tsu)-( Launch Edge + Tclk1 +Tco +Tdata)

  (建立數據所需時間)Setup-Data Required Time = Latch Edge + Tclk2 - Tsu

  (數據到達時間) Data Arrival Time = Lauch Edge + Tclk1 + Tco + Tdata

  因此 Setup Slack = Setup-Data Required Time - Data Arrival Time

  =(Latch Edge - Launch Edge)+(Tclk2-Tclk1)-(Tsu+Tco+Tdata)

  = Tperiod +(Tclk2-Tclk1)-(Tsu + Tco+Tdata)

  這個最終結果說明了源寄存器與目的寄存器之間延遲 Tdata不能太長的原因,延遲越長,slack越小。當建立裕量為正時,滿足時序要求,否則不滿足。

  保持裕量(Hold Slack)

  微信圖片_20220823163155.png

  Hold Slack = Data Arrival Time - (Hold-Data Required Time)

  同樣的可推導:

  (數據到達時間)Data Arrival Time = Launch Edge + Tclk1 + Tco + Tdata

  (數據需求時間)Hold-Data Required Time = Latch Edge + Tclk2

  Hold Slack = Launch Edge + Tclk1 + Tco + Tdata -(Latch Edge + Tclk2)

  =-Tperiod +(Tclk1-Tclk2)+Tco+Tdata

  從結果可以看出,當源寄存器與目的寄存器之間延遲Tdata太短的話,則保持裕量會很短,因此Hold Slack 越小。

  建立時間和保持時間的檢查

  微信圖片_20220823163226.png

  解釋圖中的符號:

  Tlaunch:時鐘源點到第一個觸發器的時鐘網絡延遲,也就是時鐘偏斜(skew);

  Tcapture:為時鐘源點到第二個觸發器的時鐘網絡延遲,也就是時鐘偏斜(skew);

  Tck2q:是觸發器的延遲,即D端到Q端的延遲,這是由觸發器本身的電氣特性所決定的;

  Tcycle:是時鐘周期,即時鐘頻率 1\fclk;

  Tdp:是第一個觸發器的輸出端到第二個觸發器的輸入端之間的組合邏輯電路部分的電路延遲;

  微信圖片_20220823163245.png

  解釋上圖,第二個觸發器要想滿足setup time,就必須要滿足:

  上圖中綠色豎線為時鐘源點經過延遲,到第二個觸發器的時間(對應綠色路徑)

  對應紅色的路徑部分,經過組合邏輯,到達第二觸發器的Q端,最晚只能到達上圖的紅色豎線部分,否則就沒辦法,滿足建立時間。

  由此,我們可以推遲公式:

  Tlaunch + Tck2q + Tdp ≤ Tcapture + Tcycle - Tsetup

  因為Tlaunch和Tcapture都表示為時鐘偏斜(clock skew),所以我們合并之后就可得:

  建立時間約束:Tsetup ≤ Tcycle +Tskew - Tdp - Tck2q

  保持時間約束:Thold ≤ Tdp + Tck2q

  其中參數意義:

  Tclock:也就是時鐘偏斜(clock skew);

  Tck2q:是觸發器D端到Q端的延遲;

  Tcycle:是時鐘周期,即時鐘頻率 1\fclk;

  Tdp:是組合邏輯電路部分的電路延遲;

  PS:這里可能你會覺得建立時間有點難記,我多啰嗦一句:

  Tcycle + Tskew 是表示第二個觸發器的時鐘到達的時間;

  Tdp + Tck2q是表示經過第一個觸發器+組合邏輯到達的時間;

  二者的差值就是建立時間最大的時間要求

  解決建立時間與保持時間不滿足的問題

  1.建立時間不滿足

  當建立時間不滿足時,即Tsetup值要大于實際的Tcycle +Tskew - Tdp - Tck2q,為了滿足建立時間:

  可以通過改進工藝,采取具有更小的Tsetup值的芯片;

  采用延遲更低的觸發器,降低Tck2q;

  增大時鐘周期Tcycle和時鐘偏斜Tskew,但這會降低電路的性能;

  盡量減小兩個觸發器之間的組合邏輯電路的使用,從而降低Tck2q。

  2.保持時間不滿足

  當保持時間不滿足時,也就是Thold要小于Tdp + Tck2q,可以通過:

  理論上,可以增加Tdp和Tck2q來解決,也就是增加觸發器的D端到Q端的延時,以及兩級觸發器之間的組合邏輯電路部分。

  目前大部分芯片的Thold時間都可以做到0ns。所以當保持時間不滿足時,通常采用的做法是在傳輸路徑上插入buffer,在不影響邏輯功能前提下,只具有增加延遲的作用。

  PS:尤其注意,保持時間Thold和時鐘頻率之間是沒有關系,故降低時鐘速度不能解決保持時間不滿足的問題,很多面試題喜歡在這里挖坑。

  恢復時間 Recovery time

  是指異步控制信號(如寄存器的異步清除和置位控制信號)在“下個時鐘沿”來臨之前變無效的最小時間長度。

  去除時間 Removal time

  是指異步控制信號(如寄存器的異步清除和置位控制信號)在“有效時鐘沿”之后變無效的最小時間長度。

  時序路徑

  每個時序路徑都有一個起點和終點。一般起點是時序單元的時鐘引腳 或者設計的輸入端口;終點是時序單元的數據輸入引腳或者 設計的輸出端口。所以一共有四種時序路徑。

  恢復時間 Recovery time

  是指異步控制信號(如寄存器的異步清除和置位控制信號)在“下個時鐘沿”來臨之前變無效的最小時間長度。

  去除時間 Removal time

  是指異步控制信號(如寄存器的異步清除和置位控制信號)在“有效時鐘沿”之后變無效的最小時間長度。

  時序路徑

  每個時序路徑都有一個起點和終點。一般起點是時序單元的時鐘引腳 或者設計的輸入端口;終點是時序單元的數據輸入引腳或者 設計的輸出端口。所以一共有四種時序路徑。

  名詞解釋:

  發射沿(launch edge):有效時鐘的第一個上升沿;

  采樣沿(latch edge):有效時鐘的第二個上升沿;

  采樣沿和發射沿差值可以粗略認為是1個時鐘周期(不考慮時鐘抖動jitter)。

  Tclk1:時鐘源扇出信號到寄存器1(REG1)的時鐘端所需時間;

  Tclk2:時鐘源扇出信號到寄存器2(REG2)的時鐘端所需時間;

  所以時鐘源的布局布線很重要,這就是為什么FPGA中推薦用PLL輸出時鐘,而不是自己進行時鐘分頻。

  Tco:寄存器時鐘輸出延遲,即有效時鐘輸入到輸出之間的延遲。

  Tdata:2個寄存器之間組合路徑延遲和布局布線延遲。

  Tc:時鐘周期大小(Tclk)。

  Ts:建立時間大小;

  Th:保持時間大小;

  Thold_slack:保持時間余量(也就是要大于0);

  Tsetup_slack:建立時間余量(也就是大于0)。

  建立時間:

  采樣沿到達時間:Tlatch = Tc + Tclk2;

  第一次數據到達時間:Tarrive = Tclk1 + Tco + Tdata;

  建立時間大小:Ts = Tlatch - Tarrive = Tc + Tclk2 - Tclk1 - Tco - Tdata = Tc + Tdelta - T1.

  其中,Tdelta代表Tskew,也就是2個寄存器之間時鐘到達差值,T1代表從REG1到REG2數據接收端的整個時間延遲,當然,不化簡也是可以的。

  保持時間:

  第一次采樣沿到達時間:Tlatch = Tc + Tclk2;

  第二次數據到來時間:Tdata2 = Tclk1 + Tco + Tdata + Tc(Tdata_valid) ;

  保持時間大小:Th = Tdata2 - Tlatch = Tclk1 + Tco + Tdata - Tclk2 = T1 - Tdelta。


更多信息可以來這里獲取==>>電子技術應用-AET<<

微信圖片_20210517164139.jpg

微信截圖_20220708161426.png

電子技術應用專欄作家 FPGA之旅

原文鏈接:https://mp.weixin.qq.com/s/PX9FAo4skTAOR7NQqiqvmA


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美性猛交xxxx免费看久久久| 国内精品久久久久伊人av| 亚洲欧美日韩国产另类专区| 亚洲美女中出| 亚洲精品美女| 亚洲激情影视| 久久国产精品99久久久久久老狼| 亚洲欧美中文另类| 亚洲综合电影| 亚洲永久精品国产| 亚洲欧美国产va在线影院| 夜夜精品视频一区二区| 亚洲日本免费电影| 亚洲精品裸体| 亚洲欧洲日产国码二区| 91久久在线| 亚洲精品女人| 日韩图片一区| 一本大道久久a久久精品综合| 亚洲三级毛片| 亚洲美洲欧洲综合国产一区| 99精品视频免费观看视频| 亚洲美女电影在线| 日韩一区二区精品| 中文久久精品| 亚洲午夜av| 亚洲已满18点击进入久久| 亚洲女同同性videoxma| 新67194成人永久网站| 香蕉成人啪国产精品视频综合网| 午夜精品999| 欧美专区一区二区三区| 亚洲国产精品久久久久秋霞影院 | 性欧美xxxx视频在线观看| 欧美伊人久久| 久久躁狠狠躁夜夜爽| 免费久久99精品国产自在现线| 欧美成人免费小视频| 欧美三区美女| 国产午夜精品一区理论片飘花| 激情成人综合网| 亚洲激情亚洲| 国产精品99久久99久久久二8| 亚洲欧美日韩一区在线观看| 欧美自拍偷拍| 99精品福利视频| 亚洲欧美日韩人成在线播放| 久久精品女人| 欧美激情中文不卡| 国产精品国产三级国产a| 国产亚洲午夜| 亚洲精品国精品久久99热一 | 亚洲制服少妇| 亚洲高清av在线| 一区二区三区精品| 久久九九免费| 欧美日韩另类国产亚洲欧美一级| 国产精品免费电影| 在线日韩av| 亚洲午夜精品久久久久久app| 亚洲第一区中文99精品| 中日韩美女免费视频网址在线观看| 欧美自拍偷拍午夜视频| 美女视频一区免费观看| 国产精品久久国产三级国电话系列 | 国产精品人成在线观看免费| 黄色免费成人| 中文一区二区在线观看| 亚洲国产精品一区在线观看不卡| 国产精品一区二区三区成人| 在线午夜精品自拍| 欧美一区综合| 亚洲性线免费观看视频成熟| 久久三级福利| 国产精品入口日韩视频大尺度| 亚洲高清不卡一区| 香蕉免费一区二区三区在线观看 | 亚洲精选成人| 久久久99国产精品免费| 欧美日韩黄视频| 激情五月婷婷综合| 亚洲综合色丁香婷婷六月图片| 日韩亚洲精品在线| 久久综合色88| 国产日韩欧美亚洲一区| 一区二区三区黄色| 91久久久久久国产精品| 久久国产直播| 国产精品久久婷婷六月丁香| 亚洲人成精品久久久久| 亚洲电影在线播放| 欧美在线免费一级片| 欧美午夜性色大片在线观看| 亚洲国产一区二区三区在线播| 欧美在线观看一区二区| 午夜精品久久久久久久蜜桃app| 欧美激情一区二区三区蜜桃视频| 韩国精品主播一区二区在线观看| 亚洲欧美日韩综合国产aⅴ| 一本久道久久久| 欧美韩国日本综合| 在线电影一区| 亚洲第一页在线| 久久全国免费视频| 国产一区二区日韩| 午夜伦欧美伦电影理论片| 亚洲欧美日韩一区二区| 欧美日韩在线亚洲一区蜜芽| 亚洲欧洲精品一区| 亚洲精品视频在线观看网站| 麻豆91精品| 欲香欲色天天天综合和网| 久久激情网站| 久久久福利视频| 国产一区二区三区视频在线观看 | 欧美一区二区三区电影在线观看| 欧美亚男人的天堂| 99视频在线观看一区三区| 99综合视频| 欧美日韩伊人| 99精品久久久| 亚洲在线中文字幕| 国产精品久久久久aaaa九色| 在线一区免费观看| 亚洲一区二区成人在线观看| 欧美性生交xxxxx久久久| 一区二区三区精品视频| 亚洲一区二区三区乱码aⅴ| 欧美日韩中文在线观看| 一区二区三区福利| 午夜精品久久久| 国产精品一区二区a| 亚洲欧美日韩直播| 久久久97精品| 亚洲丶国产丶欧美一区二区三区| 亚洲片在线观看| 欧美精品网站| 在线亚洲一区观看| 午夜在线视频观看日韩17c| 国产农村妇女毛片精品久久麻豆| 性色av一区二区三区| 久久免费国产精品| 亚洲国产精品成人一区二区| 日韩天堂在线观看| 欧美日韩视频在线| 亚洲在线中文字幕| 久久亚洲二区| 亚洲人在线视频| 亚洲综合精品| 国产一区在线看| 日韩亚洲精品在线| 国产精品卡一卡二| 欧美一区二区三区四区在线| 蜜桃av一区| 中文在线资源观看视频网站免费不卡| 欧美一区二区视频在线观看| 尤物yw午夜国产精品视频| 一区二区三区高清不卡| 国产精品香蕉在线观看| 欧美综合国产| 欧美精品日韩| 亚洲一区中文字幕在线观看| 老鸭窝亚洲一区二区三区| 亚洲精品视频免费| 欧美亚洲一级片| 亚洲东热激情| 午夜亚洲激情| 亚洲国产精品黑人久久久| 亚洲欧美在线磁力| 一区久久精品| 午夜精品久久久久久久男人的天堂| 国内精品视频在线观看| 一区二区精品| 激情六月综合| 亚洲综合久久久久| 在线欧美一区| 欧美一区二区三区男人的天堂| 亚洲国产成人av| 欧美一区二区在线免费观看 | 亚洲精品一二| 久久精品成人一区二区三区| 亚洲国产综合在线| 欧美一区亚洲二区| 亚洲精选在线| 麻豆成人av| 午夜欧美电影在线观看| 欧美激情无毛| 欧美伊人影院| 国产精品久久久久久久久久久久久 | 毛片精品免费在线观看| 亚洲一区二区成人| 欧美精品18+| 久久福利精品| 国产精品老女人精品视频| 亚洲人成绝费网站色www| 国产欧美一区二区三区在线老狼| 在线亚洲一区| 亚洲电影下载| 久久久夜色精品亚洲| 亚洲欧美另类在线观看|