RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA靜態(tài)時序分析詳解

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2022-09-27 14:45 ? 次閱讀

1. 應用背景

靜態(tài)時序分析簡稱STA,它是一種窮盡的分析方法,它按照同步電路設計的要求,根據(jù)電路網(wǎng)表的拓撲結構,計算并檢查電路中每一個DFF(觸發(fā)器)的建立和保持時間以及其他基于路徑的時延要求是否滿足。STA作為FPGA設計的主要驗證手段之一,不需要設計者編寫測試向量,由軟件自動完成分析,驗證時間大大縮短,測試覆蓋率可達100%。

靜態(tài)時序分析的前提就是設計者先提出要求,然后時序分析工具才會根據(jù)特定的時序模型進行分析,給出正確是時序報告。

進行靜態(tài)時序分析,主要目的就是為了提高系統(tǒng)工作主頻以及增加系統(tǒng)的穩(wěn)定性。對很多數(shù)字電路設計來說,提高工作頻率非常重要,因為高工作頻率意味著高處理能力。通過附加約束可以控制邏輯的綜合、映射、布局和布線,以減小邏輯和布線延時,從而提高工作頻率。

2. 理論分析

2.1 靜態(tài)時序分析的理論基礎知識

在進行正確的時序分析前,我們必須具備基本的靜態(tài)時序的基本知識點,不然看著編譯器給出的時序分析報告猶如天書。如圖3.1所示,為libero軟件給出的寄存器到寄存器模型的時序分析報告的截取,接下來我們會弄清楚每個欄目的數(shù)據(jù)變量的含義,以及計算方法。

2c1c206a-3e19-11ed-9e49-dac502259ad0.jpg

圖3.1 libero靜態(tài)時序分析報告

2.1.1 固定參數(shù)launch edge、latch edge、Tsu、Th、Tco概念

1. launch edge

時序分析起點(launch edge):第一級寄存器數(shù)據(jù)變化的時鐘邊沿,也是靜態(tài)時序分析的起點。

2. latch edge

時序分析終點(latch edge):數(shù)據(jù)鎖存的時鐘邊沿,也是靜態(tài)時序分析的終點。

3. Clock Setup Time (Tsu)

建立時間(Tsu):是指在時鐘沿到來之前數(shù)據(jù)從不穩(wěn)定到穩(wěn)定所需的時間,如果建立的時間不滿足要求那么數(shù)據(jù)將不能在這個時鐘上升沿被穩(wěn)定的打入觸發(fā)器。如圖3.2所示:

2c43b03a-3e19-11ed-9e49-dac502259ad0.jpg

圖3.2 建立時間圖解

4. Clock Hold Time (Th)

保持時間(Th):是指數(shù)據(jù)穩(wěn)定后保持的時間,如果保持時間不滿足要求那么數(shù)據(jù)同樣也不能被穩(wěn)定的打入觸發(fā)器。保持時間示意圖如圖3.3所示:

2c5e765e-3e19-11ed-9e49-dac502259ad0.jpg

圖3.3 保持時間圖解

5. Clock-to-Output Delay(tco)

數(shù)據(jù)輸出延時(Tco):這個時間指的是當時鐘有效沿變化后,數(shù)據(jù)從輸入端到輸出端的最小時間間隔。

2.1.2 Clock skew

時鐘偏斜(clock skew):是指一個時鐘源到達兩個不同寄存器時鐘端的時間偏移,如圖3.4所示:

2c80c560-3e19-11ed-9e49-dac502259ad0.jpg

圖3.4 時鐘偏斜

時鐘偏斜計算公式如下:

Tskew = Tclk2 - Tclk1(公式3-1)

2.1.3 Data Arrival Time

數(shù)據(jù)到達時間(Data Arrival Time):輸入數(shù)據(jù)在有效時鐘沿后到達所需要的時間。主要分為三部分:時鐘到達寄存器時間(Tclk1),寄存器輸出延時(Tco)和數(shù)據(jù)傳輸延時(Tdata),如圖3.5所示

2cc5d218-3e19-11ed-9e49-dac502259ad0.jpg

圖3.5 數(shù)據(jù)到達時間

數(shù)據(jù)到達時間計算公式如下:

Data Arrival Time = Launch edge + Tclk1 +Tco + Tdata(公式3-2)

2.1.4 Clock Arrival Time

時鐘到達時間(Clock Arrival Time):時鐘從latch邊沿到達鎖存寄存器時鐘輸入端所消耗的時間為時鐘到達時間,如圖3.6所示

2ce90dd2-3e19-11ed-9e49-dac502259ad0.jpg

圖3.6 時鐘到達時間

時鐘到達時間計算公式如下:

Clock Arrival Time = Lacth edge + Tclk2(公式3-3)

2.1.5 Data Required Time(setup/hold)

數(shù)據(jù)需求時間(Data Required Time):在時鐘鎖存的建立時間和保持時間之間數(shù)據(jù)必須穩(wěn)定,從源時鐘起點達到這種穩(wěn)定狀態(tài)需要的時間即為數(shù)據(jù)需求時間。如圖3.7所示:

2d0524b8-3e19-11ed-9e49-dac502259ad0.jpg

圖3.7 數(shù)據(jù)需求時間

(建立)數(shù)據(jù)需求時間計算公式如下:

Data Required Time = Clock Arrival Time - Tsu(公式3-4)

(保持)數(shù)據(jù)需求時間計算公式如下:

Data Required Time = Clock Arrival Time + Th (公式3-5)

2.1.6 Setup slack

建立時間余量(setup slack):當數(shù)據(jù)需求時間大于數(shù)據(jù)到達時間時,就說時間有余量,Slack是表示設計是否滿足時序的一個稱謂。

2d2d1c20-3e19-11ed-9e49-dac502259ad0.jpg

圖3.8 建立時間余量

如圖3.8所示,建立時間余量的計算公式如下:

Setup slack = Data Required Time - Data Arrival Time(公式3-6)

由公式可知,正的slack表示數(shù)據(jù)需求時間大于數(shù)據(jù)到達時間,滿足時序(時序的余量),負的slack表示數(shù)據(jù)需求時間小于數(shù)據(jù)到達時間,不滿足時序(時序的欠缺量)。

2.1.7 時鐘最小周期

時鐘最小周期:系統(tǒng)時鐘能運行的最高頻率。

1. 當數(shù)據(jù)需求時間大于數(shù)據(jù)到達時間時,時鐘具有余量;

2. 當數(shù)據(jù)需求時間小于數(shù)據(jù)到達時間時,不滿足時序要求,寄存器經(jīng)歷亞穩(wěn)態(tài)或者不能正確獲得數(shù)據(jù);

3. 當數(shù)據(jù)需求時間等于數(shù)據(jù)到達時間時,這是最小時鐘運行頻率,剛好滿足時序。

從以上三點可以得出最小時鐘周期為數(shù)據(jù)到達時間等于數(shù)據(jù)需求時間,的運算公式如下:

Data Required Time = Data Arrival Time(公式3-7)

由上式推出如下公式:

Tmin + Latch edge + Tclk2 - Tsu = Launch edge + Tclk1 + Tco + Tdata

最終推出最小時鐘周期為:

Tmin = Tco + Tdata + Tsu -Tskew(公式3-8)

3. 應用分析

3.1 設置時鐘主頻約束

所有的靜態(tài)時序分析都是在有約束的情況下編譯器才給出分析報告,所以進行時序分析的第一步就是設置約束。

Libero軟件設置時鐘約束的途徑三種,單時鐘約束,多時鐘約束和在Designer里面進行約束。

3.1.1 單時鐘約束

有時我們系統(tǒng)所有模塊都采用同一個時鐘,這種方式最為簡單,直接在Synplify主界面上有個設置時鐘約束的,如圖4.1中紅框所示:

2d8216e4-3e19-11ed-9e49-dac502259ad0.jpg

圖4.1 單時鐘設置

設置完成后,編譯,通過Synplify時鐘報告看初步時鐘運行頻率能否達到要求,時鐘報告如圖4.2所示,設定100Mhz,能運行102.7Mhz,滿足時序。

2dfe78a6-3e19-11ed-9e49-dac502259ad0.jpg

圖4.2 時序報告

3.2 多時鐘約束

當系統(tǒng)內(nèi)部模塊采用了多個時鐘時,那就需要進行多時鐘約束了。首先需要打開設置界面,在Synplify中選擇:File->New->Constraint File建立SDC文件,選擇時鐘約束如圖4.3所示:

2e1d6c3e-3e19-11ed-9e49-dac502259ad0.jpg

圖4.3 多時鐘約束

對時鐘進行如下約束后保存SDC文件,約束如圖4.4所示

2e48825c-3e19-11ed-9e49-dac502259ad0.jpg

圖4.4 多時鐘約束完成

3.3 Designer SmartTime時鐘約束

時鐘約束除了在Synplify中可以約束外,還可以在Designer SmartTime中設置時鐘約束,打開Designer Constraint,選擇Clock進行針對每個使用時鐘的設置,如圖4.5所示:

2e78bb16-3e19-11ed-9e49-dac502259ad0.jpg

圖4.5 Designer時序約束

4.4 時序報告分析

3.4.1 Synplify時序報告

當約束了時序后,需要觀察時序報告,看時鐘能否達到我們需要的時鐘,首先觀察Synplify綜合報告。以多時鐘約束為例子,從Synplify得到的時序報告如圖4.6所示:

2ec6025e-3e19-11ed-9e49-dac502259ad0.jpg

圖4.6 多時鐘約束時序報告

由上圖可知時序都滿足約束,未出現(xiàn)違規(guī),可以在下面的報告中查看最差路徑,如圖4.7所示是clk2的最差路徑。

2ee12aa2-3e19-11ed-9e49-dac502259ad0.jpg

圖4.7 最差路徑

3.4.2 Designer SmartTime時序分析報告

當設計經(jīng)過Synplify綜合給出網(wǎng)表文件后,還需要Designer進行布局布線,通過布局布線優(yōu)化后的時序會有變化,因此,還需要分析布局布線后的時序,打開Designer->Timing Analyzer查閱整體時序分析報告如圖4.8所示:

2f0e1120-3e19-11ed-9e49-dac502259ad0.jpg

圖4.8 布局布線后時序報告

由Synplify綜合后的報告和Designer進行布局布線后的報告可以看出,布局布線后優(yōu)化了一些時序,特別是clk2時鐘,通過布局布線后優(yōu)化到了184Mhz,完全滿足時序。

3.4.3 詳細時序報告圖

通過Synplify綜合后的和Designer進行布局布線都只是看到了一個大體的時序報告,當我們需要分析時序時候必須觀察仔細的時序報告,在SmartTime中提供這種報告功能,以clk2分析為例,在Timing Analyzer找到如下區(qū)域。

2f4fdc04-3e19-11ed-9e49-dac502259ad0.jpg

圖4.9 時序報告選擇

如圖4.9所示,選擇寄存器到寄存器進行分析時鐘主頻。

2f6b0ce0-3e19-11ed-9e49-dac502259ad0.jpg

圖4.10 寄存器到寄存器分析

如圖4.10所示,時序報告中給出了數(shù)據(jù)延時,時序余量,數(shù)據(jù)到達時間,數(shù)據(jù)需求時間,數(shù)據(jù)建立時間,以及最小周期和時鐘偏斜等信息,有了上一節(jié)的時序分析基礎知識,我們完全能看懂這些數(shù)據(jù)代表的意義,這樣對我們時序分析就知己知彼,進一步雙擊其中一條路徑,還會給出這條路徑的硬件電路圖,如圖4.11所示,有了這些詳細的時序報告,對設計進行調整更加清晰。

2f93e002-3e19-11ed-9e49-dac502259ad0.jpg

圖4.11 硬件路徑

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21729

    瀏覽量

    602986
  • STA
    STA
    +關注

    關注

    0

    文章

    51

    瀏覽量

    18958
  • 靜態(tài)時序分析

    關注

    0

    文章

    28

    瀏覽量

    9586

原文標題:FPGA靜態(tài)時序分析模型——寄存器到寄存器

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    靜態(tài)時序分析原理及詳細過程

    靜態(tài)時序分析是檢查IC系統(tǒng)時序是否滿足要求的主要手段。以往時序的驗證依賴于仿真,采用仿真的方法,覆蓋率跟所施加的激勵有關,有些
    的頭像 發(fā)表于 11-25 11:03 ?9940次閱讀
    <b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b>的<b class='flag-5'>分析</b>原理及詳細過程

    FPGA quartus ii里的靜態(tài)時序分析

    fpga工程中加入時序約束的目的: 1、給quartusii 提出時序要求; 2、quartusii 在布局布線時會盡量優(yōu)先去滿足給出的時序要求; 3、STA
    的頭像 發(fā)表于 11-25 11:39 ?6133次閱讀
    <b class='flag-5'>FPGA</b> quartus ii里的<b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>

    使用pt對fpga進行靜態(tài)時序分析需要哪些文件

    各位好,初次使用pt對fpga進行靜態(tài)時序分析,想請教下需要哪些文件。是不是需要:1、在ise或qutartus生成的網(wǎng)表2、SDC文件3、.db文件.db文件必須且只能從dc生成嗎,
    發(fā)表于 12-18 16:15

    靜態(tài)時序分析與邏輯(華為內(nèi)部培訓資料)

    靜態(tài)時序概念,目的 靜態(tài)時序分析路徑,方法 靜態(tài)時序
    發(fā)表于 07-09 18:28 ?130次下載

    靜態(tài)時序分析在高速 FPGA設計中的應用

    介紹了采用STA (靜態(tài)時序分析)對FPGA (現(xiàn)場可編程門陣列)設計進行時序驗證的基本原理,并介紹了幾種與STA相關聯(lián)的
    發(fā)表于 05-27 08:58 ?70次下載
    <b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>在高速 <b class='flag-5'>FPGA</b>設計中的應用

    靜態(tài)時序分析基礎及應用

    _靜態(tài)時序分析(Static_Timing_Analysis)基礎及應用[1]。
    發(fā)表于 05-09 10:59 ?31次下載

    靜態(tài)時序分析基礎及應用

    靜態(tài)時序分析基礎及應用
    發(fā)表于 01-24 16:54 ?7次下載

    FPGA進行靜態(tài)時序分析

    靜態(tài)時序分析簡稱STA,它是一種窮盡的分析方法,它按照同步電路設計的要求,根據(jù)電路網(wǎng)表的拓撲結構,計算并檢查電路中每一個DFF(觸發(fā)器)的建立和保持時間以及其他基于路徑的時延要求是否滿
    發(fā)表于 09-01 10:45 ?3214次閱讀
    <b class='flag-5'>FPGA</b>進行<b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>

    正點原子FPGA靜態(tài)時序分析時序約束教程

    時序分析結果,并根據(jù)設計者的修復使設計完全滿足時序約束的要求。本章包括以下幾個部分: 1.1 靜態(tài)時序
    發(fā)表于 11-11 08:00 ?63次下載
    正點原子<b class='flag-5'>FPGA</b><b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>與<b class='flag-5'>時序</b>約束教程

    華為FPGA硬件的靜態(tài)時序分析與邏輯設計

    本文檔的主要內(nèi)容詳細介紹的是華為FPGA硬件的靜態(tài)時序分析與邏輯設計包括了:靜態(tài)時序
    發(fā)表于 12-21 17:10 ?21次下載
    華為<b class='flag-5'>FPGA</b>硬件的<b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>與邏輯設計

    FPGA靜態(tài)時序分析詳細講解分析

    任何學FPGA的人都跑不掉的一個問題就是進行靜態(tài)時序分析靜態(tài)時序
    發(fā)表于 01-12 17:48 ?19次下載
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>詳細講解<b class='flag-5'>分析</b>

    FPGA靜態(tài)時序分析的理論和參數(shù)說明

    靜態(tài)時序分析的前提就是設計者先提出要求,然后時序分析工具才會根據(jù)特定的時序模型進行
    發(fā)表于 01-12 17:48 ?15次下載
    <b class='flag-5'>FPGA</b><b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>的理論和參數(shù)說明

    時序分析靜態(tài)分析基礎教程

    本文檔的主要內(nèi)容詳細介紹的是時序分析靜態(tài)分析基礎教程。
    發(fā)表于 01-14 16:04 ?14次下載
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b>的<b class='flag-5'>靜態(tài)</b><b class='flag-5'>分析</b>基礎教程

    解讀FPGA靜態(tài)時序分析

    任何學FPGA的人都跑不掉的一個問題就是進行靜態(tài)時序分析。靜態(tài)時序
    的頭像 發(fā)表于 03-14 19:10 ?789次閱讀

    靜態(tài)時序分析的相關概念

    ??本文主要介紹了靜態(tài)時序分析 STA。
    的頭像 發(fā)表于 07-04 14:40 ?1342次閱讀
    <b class='flag-5'>靜態(tài)</b><b class='flag-5'>時序</b><b class='flag-5'>分析</b>的相關概念
    RM新时代网站-首页