色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

賽靈思關于時序的分析

Xilinx賽靈思官微 ? 來源:djl ? 作者:賽靈思 ? 2019-07-25 11:22 ? 次閱讀

《XDC約束技巧》系列中討論了XDC約束的設置方法、約束思路和一些容易混淆的地方。我們提到過 約束是為了設計服務,寫入Vivado中的XDC實際上就是用戶設定的目標,Vivado對FPGA設計的實現過程必須以滿足XDC中的約束為目標來進行。那么:

如何驗證實現后的設計有沒有滿足時序要求?

如何在開始布局布線前判斷某些約束有沒有成功設置?

如何驗證約束的優先級?

這些都需要用到Vivado中的靜態時序分析工具。所以讓我們來從如何讀懂和用好Timing Report開始吧。

靜態時序分析

靜態時序分析(Static Timing Analysis)簡稱STA,采用窮盡的分析方法來提取出整個電路存在的所有時序路徑,計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析,找出違背時序約束的錯誤并報告。


STA不需要輸入向量就能窮盡所有的路徑,且運行速度很快、占用內存較少、覆蓋率極高,不僅可以對芯片設計進行全面的時序功能檢查,而且還可利用時序分析的結果來優化設計。所以STA不僅是數字集成電路設計Timing Sign-off的必備手段,也越來越多地被用到設計的驗證調試工作中。

STA在FPGA設計中也一樣重要,但不同于一般數字集成電路的設計,FPGA設計中的靜態時序分析工具一般都整合在芯片廠商提供的實現工具中。在Vivado中甚至沒有一個獨立的界面,而是通過幾個特定的時序報告命令來實現。

OCV與PVT

即便是同一種FF,在同一個芯片上不同操作條件下的延時都不盡相同,我們稱這種現象為OCV(on-chip variation)。OCV表示的是芯片內部的時序偏差,雖然很細小,但是也必須嚴格考慮到時序分析中去。


產生OCV的原因主要有PVT(Process / Voltage / Temperature)三個方面,而STA要做的就是針對不同工藝角(Process Corner)下特定的時序模型來分析時序路徑,從而保證設計在任何條件下都能滿足時序要求,可以正常工作。


通常PVT對芯片性能的影響如下圖所示,

賽靈思關于時序的分析

不同的PVT條件組成了不同的corner,另外在數字電路設計中還要考慮RC corner的影響,排列組合后就可能有超過十種的corner要分析。但是在FPGA設計中的靜態時序分析一般僅考慮Best Case和Worst Case,也稱作Fast Process Corner 和Slow Process Corner,分別對應極端的PVT條件。

賽靈思關于時序的分析

Multi-Corner

Vivado中的STA支持多角時序分析(Multi-Corner Timing Analysis),會對以上兩種corner下的時序同時進行分析,然后報告最差的情況。因為每個corner下的延時也會有一定的變化范圍,所以時序分析還會考慮每種corner下的最大延時和最小延時。

賽靈思關于時序的分析

如果一個設計在Best Case和Worst Case下都能滿足時序要求,則可以推算這個設計在其允許的任何操作條件下都能保持正常工作。

這里要提醒大家,不要被corner的名字誤導,實際上,同樣一條路徑可能在Slow Corner中滿足時序卻在Fast Corner中有時序違例。但是你在Vivado中看到的時序報告只會顯示其對兩種corner并行分析后選出的最差情況。

賽靈思關于時序的分析

有特殊需要的情況下,可以在Vivado中通過config_timing_corners-corner -delay_type 來選擇將某種corner應用于setup和/或hold的分析。在Report Timing Summary 和Report Timing的圖形化界面也可以通過Timer Setting對corner做調整,具體界面詳見稍后描述。


這樣最大化考慮OCV的時序分析方法在處理同一條路徑的共同時鐘路徑時也會應用不同的延時數據,從而會得出更為悲觀的數據。為了真實反映路徑延時情況,這部分延時必須被糾正,這就是CRPR(Clock Reconvergence Pessimism Removal)。


仔細觀察時序報告便可以發現在報告路徑的Slack之前有一行顯示clock pessimism已經被考慮在內,在進行Setup Check時會加上一定的clock pessimism,而Hold Check時則會減去一定的clock pessimism。

下圖顯示了CRPR的來源以及在Vivado時序報告中的具體體現。

賽靈思關于時序的分析

賽靈思關于時序的分析

賽靈思關于時序的分析

時序命令與報告

Vivado中用于時序分析的命令主要有以下兩條,且都有對應的圖形化設置界面。

report_timing_summary主要用于實現后的timing sigh-off

report_timing主要用于交互式的約束驗證以及更細致具體的時序報告與分析

report_timing_summary

我們先看看report_timing_summary ,實際上,不僅在布局布線后,在綜合后甚至是更具體的實現過程中的每一小步之后都可以運行,從而得到一個全局的時序報告。


在Vivado IDE中點擊Report Timing Summary后可以改變報告的內容,例如每個時鐘域報告的路徑條數,是否setup和hold全都報告等等。每改變一個選項都可以看到窗口下方的Command一欄顯示出對應的Tcl命令。修改完設置后可以直接按OK鍵確認執行,也可以拷貝Command欄顯示的命令到Tcl腳本中稍后執行。

賽靈思關于時序的分析

這里有個小竅門,通過-name指定一個名字,就可以在Vivado IDE中新開一個窗口顯示這條命令的執行結果,這個窗口還可以用來跟其他諸如Device View或是Schematic View等窗口之間cross probing。這一點也同樣適用于包括report_timing 在內的絕大部分Vivado中的report命令。


在設置窗口中還有Timer Settings一欄(report_timing中也有),可以用來改變報告時采用的具體corner、速度等級以及計算布線延時的方式。很多時候我們可以借助Timer的設置來快速驗證和調試設計需求。

賽靈思關于時序的分析

舉例來說,在實現后的報告中顯示時序違例比較嚴重,我們可以直接在Timer設置中改變速度等級后重新報告時序,來驗證把當前這個已經布局布線完畢的設計切換到更快一檔的芯片中是否可以滿足時序要求。

另外,在布局布線后的設計上報告時序,往往不能更直觀地發現那些扇出較大或是邏輯級數較高的路徑。此時我們可以修改連線模型為estimated,報告出布局后布線前的時序而無需另外打開對應階段的 DCP并重新運行時序報告命令來操作,這么做節約時間的同時,也更容易找到那些高扇出路徑以及由于布局不佳而導致的時序違例。我們也可以修改連線模型為none,這樣可以快速報告出那些邏輯延時較大以及邏輯級數較高的路徑。以上這些改變Timer設置的方法可以幫助我們快速定位設計中可能存在的問題和缺陷。


report_timing_summary實際上隱含了report_timing、report_clocks 、check_timing 以及部分的report_clock_interaction命令,所以我們最終看到的報告中也包含了這幾部分的內容。另外自Vivado 2014.3版起,打開實現后的結果時會直接打開一個預先產生好的報告。

賽靈思關于時序的分析

Timing Summary報告把路徑按照時鐘域分類,每個組別下缺省會報告Setup、Hold以及Pulse Width檢查最差的各10條路徑,還可以看到每條路徑的具體延時報告,并支持與Device View、Schematic View等窗口之間的交互。


每條路徑具體的報告會分為Summary、Source Clock Path、Data Path和Destination Clock Path幾部分,詳細報告每部分的邏輯延時與連線延時。用戶首先要關注的就是Summary中的幾部分內容,發現問題后再根據具體情況來檢查詳細的延時數據。其中,Slack顯示路徑是否有時序違例,Source和Destination顯示源驅動時鐘和目的驅動時鐘及其時鐘頻率, Requirement顯示這條路徑的時序要求是多少,Data Path顯示數據路徑上的延時,Logic Level顯示這條路徑的邏輯級數,而Clock Path Skew和 Clock Uncertainty則顯示時鐘路徑上的不確定性。

賽靈思關于時序的分析

以上圖這條路徑來舉例,通過Summary我們可以得到這樣的信息:這是一條clk時鐘域內的路徑,時鐘周期為3.125ns,這條路徑有0.268ns的時序違例。違例的主要原因是邏輯級數較高導致的數據鏈路延時較大,但連線延時的比例也較高,所以可以仔細看看這條路徑的數據路徑上有沒有可能改進布局、降低扇出或者是減少邏輯級數的優化方向。

report_timing

report_timing是更具體的時序報告命令,經常用來報告某一條或是某些共享特定節點的路徑。用戶可以在設計的任何階段使用report_timing,甚至是一邊設置XDC,一邊用其來驗證約束的可行性與優先級。在Vivado IDE中可以由Tools > Timing > Report Timing 調出其圖形化設置窗口。

與report_timing_summary類似,調整選項后對應的Tcl命令也會在Command欄生成,在Targets一欄還可以設置需要報告路徑的起始點/途經點/結束點,可以三個都設置或是僅設置其中任何一項,每一項都支持通配符匹配甚至是正則表達式查找。report_timing報告出的路徑延時與report_timing_summary中具體到每根路徑上的報告一致,可以以此為依據幫助我們定位時序失敗的原因。

賽靈思關于時序的分析

用report_timing來報告時序其實還有一些更常見的應用場景,用來幫助我們設置和驗證約束,尤其是那些時序例外約束。


舉例來說,在設計過程中我們約束了一條或數條多周期約束,不同于UCF必須讀入約束后重跑設計,我們可以直接在Tcl Console中輸入這條XDC,無需重跑設計,直接用report_timing來驗證。在隨之顯示的時序報告Summary部分可以看到Timing Exception后列出這條路徑被設置了怎樣的時序例外約束(注意,不加額外option時,以下兩條命令都僅針對setup check )。

賽靈思關于時序的分析

單純的一條多周期約束沒有什么特別,但是如果使用了通配符后的時序例外有重疊的情況下,Vivado會根據優先級來決定對某條路徑應用怎樣的約束。當設計較大,XDC較多時,一邊設置XDC一邊用report_timing來驗證就變得尤其重要。

另外,僅僅輸入report_timing而不加任何option,Vivado便會報告出時序違例最嚴重的那條路徑,方便我們快速了解當前設計的WNS,找到最差的那條路徑。在驗證I/O約束時也常常用到report_timing,只要指定-from 某個輸入或是-to某個輸出便可以快速驗證當前設計在接口上的時序。

get_timing_paths

除了上述兩個大家比較熟悉的時序報告命令,Vivado中還提供一個get_timing_paths的命令,可以根據指定的條件找到一些特定的路徑。我們可以利用其返回值中的一些屬性來快速定位設計中的問題。

賽靈思關于時序的分析

例如邏輯級數這個影響FPGA性能的一大因素,因為經常隱藏在時序報告后很難被發現。在Vivado中,除了借助綜合后的報告來找到那些可能因為邏輯級數較高而導致的時序難滿足的路徑外,還有一個更直接的辦法,可以一次性報告出設計中那些高邏輯級數的路徑,方便我們有針對性的深入分析和優化。


下圖這個例子報告了時序最差的10條路徑的邏輯級數。需要注意的是,在綜合后和在布局布線后用一樣的腳本報告出的結果會稍有不同,對邏輯級數較為關注的情況,還是建議以綜合后的結果為主要依據。

賽靈思關于時序的分析

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

    關注

    193

    文章

    1629

    瀏覽量

    80760
  • 靜態時序分析

    關注

    0

    文章

    28

    瀏覽量

    9602
收藏 人收藏

    評論

    相關推薦

    790.被并入AMD對中國FPGA廠商有什么意義?

    fpga
    小凡
    發布于 :2022年10月05日 02:52:44

    FPGA設計時序約束指南【工程師力作】

    的一條或多條路徑。在 FPGA 設計中主要有四種類型的時序約束:PERIOD、OFFSET IN、OFFSET OUT 以及 FROM: TO(多周期)約束。FPGA設計
    發表于 03-01 15:08

    Verilog(FPGACPLD)設計小技巧

    Verilog(FPGACPLD)設計小技巧
    發表于 08-19 22:52

    玩轉FPGA (xilinx)FPGA設計大賽獲獎名單!!!

    本帖最后由 ycq654263138 于 2012-9-12 10:12 編輯   電子發燒友網訊:由(xilinx)公司和華強PCB網贊助,電子發燒友網主辦的玩轉FPGA,
    發表于 09-06 11:54

    FPGA是用altera多還是的多呢

    FPGA是用altera多還是的多呢,我買的開發板是altera的,但是很多人推薦說學習
    發表于 01-09 21:27

    Xilinx方案

    能做方案的,請聯系
    發表于 01-21 19:31

    為什么說已經遠遠領先于Altera?

    Altera和20年來都在FPGA這個窄眾市場激烈的競爭者,然而Peter Larson基于對兩個公司現金流折現法的研究表明,
    發表于 09-02 06:04

    高價回收系列IC

    高價回收系列IC長期回收系列IC,高價求購
    發表于 04-06 18:07

    如何使用FPGA加速包處理?

    FAST包處理器的核心功能是什么如何使用FPGA加速包處理?
    發表于 04-30 06:32

    這顆是限制料還是翻新料?

    絲印查不到系列型號,引腳數量也對不上所有型號規格,也沒有韓國產地
    發表于 02-24 17:01

    基于Spartan-3A的視頻分析

    視頻分析對性能處理的要求可充分發揮FPGA的并行架構、嵌入式和DSP處理能力所帶來的優點。
    發表于 05-16 10:26 ?1214次閱讀
    基于<b class='flag-5'>賽</b><b class='flag-5'>靈</b><b class='flag-5'>思</b>Spartan-3A的視頻<b class='flag-5'>分析</b>

    FPGA設計時序約束指南

    FPGA設計時序約束指南,下來看看
    發表于 05-11 11:30 ?48次下載

    為各企業提供的專業的關于Xilinx的資源培訓介紹

    介紹為各企業提供的專業的關于Xilinx的資源培訓,以及課程內容
    的頭像 發表于 05-22 13:47 ?3457次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>靈</b><b class='flag-5'>思</b>為各企業提供的專業的<b class='flag-5'>關于</b>Xilinx的資源培訓介紹

    收購深鑒科技_收購目的及發展

    本文首先介紹了,其次介紹了收購深鑒科技的過程以及目的,最后介紹了
    的頭像 發表于 07-18 11:19 ?4933次閱讀

    的目標和發展

    公司亞太區銷售與市場副總裁楊飛表示,的SDx系列仍會持續發展。毫無疑問,這會幫助
    的頭像 發表于 07-24 17:58 ?3369次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>靈</b><b class='flag-5'>思</b>的目標和發展
    主站蜘蛛池模板: 亚州笫一色惰网站 | 99视频偷窥在线精品国自产拍 | 背着老婆爆操性感小姨子 | 全部老头和老太XXXXX | 男女啪啪抽搐呻吟高潮动态图 | 无码专区久久综合久综合字幕 | 超碰人热人人热人人看 | 成人AV无码一二二区视频免费看 | 亚洲精品白色在线发布 | 日韩精品欧美亚洲高清有无 | 日本888 xxxx | 国产成人免费在线观看 | 把腿张开再深点好爽宝贝 | 成人免费视频在线看 | 久久综合中文字幕佐佐木希 | 十大禁止安装的黄台有风险 | 日韩欧美中文字幕在线二视频 | 我年轻漂亮的继坶2中字在线播放 | 啦啦啦 中文 中国 免费 高清在线 | 姐姐不~不可以动漫在线观看 | 色尼玛亚洲 | yellow日本高清在线 | 91亚洲精品福利在线播放 | 99国产精品成人免费视频 | 二级片免费看 | 久久亚洲免费视频 | 97在线视频免费 | 午夜亚洲动漫精品AV网站 | 午夜福利自怕 | 亚洲AV午夜福利精品香蕉麻豆 | 亚洲精品嫩草AV在线观看 | 国产精品免费小视频 | 少妇仑乱A毛片 | 长篇高h肉爽文丝袜 | 五月丁香啪啪. | 成 人 片 免费播放 成 人 免费 黄 色 网站无毒下载 | 骚浪插深些好烫喷了 | 国偷自产视频一区二区99 | 亚洲黄色免费观看 | 久色视频网 | 99精品久久久久久久 |