靜態時序分析——On-chip Variation

OCV(on-chip variation)是指在同一個芯片上, 由于制造工藝和環境等原因導致芯片上各部分特征不能完全一樣,從而造成偏差,對時序分析造成影響。這些偏差對互聯線和cell的延時都是有影響的。

由于OCV對延時有影響,那么我們在進行時序分析時需要將這些OCV效應考慮進來。在STA中,通過對不同的時序路徑添加derate系數,來完成對OCV的建模,將OCV效應納入分析。

我們以下圖電路為例進行說明:

進行setup check時,最差的情況為:launch clock path 和data path由于OCV的原因,延遲增加到最大;于此同時,capture clock path 由于OCV的原因,延遲減小到最小。此時,對建立時間的檢查最為嚴苛。

如過我們不考慮OCV的影響,進行setup check,則情況如下:

arrival time = 1.2+0.8+5.2=7.2ns

required time = 1.2+0.86-0.35+clock_period=1.71+clock_period

那么由于required time-arrival time>=0則clock_period>=5.49,即最小時鐘周期為5.49ns。

接下來我們將OCV納入考慮,為路徑和cell設置不同的derate系數。

我們可以通過set_timing_derate來設置derate系數

set_timing_derate -early 0.9
set_timing_derate -late 0.9
set_timing_derate -cell_delay -late 0.9
set_timing_derate -net_delay -late 0.9

長路徑延時如setup check 中的launch clock path和data path,hold check中的capture?clock path可以使用-late選項來設置

短路徑延時如setup check 中的capture clock path,hold check中的launch clock path和data path可以使用-early選項來設置

使用-net_delay和-cell_delay來設置線網和cell的延時

為launch clock path和max data path增加系數1.2,為UFF1增加系數1.1,為capture clock path 增加系數0.9,這樣,我們再看看setup check:

arrival time = (1.2+0.8+5.2)*1.2=8.64ns

required time = (1.2+0.86)*0.9-0.35*1.1+clock_period=1.469+clock_period

那么由于required time-arrival time>=0則clock_period>=7.171,即最小時鐘周期為7.171ns。可以看到,在加入最差情況的OCV后,電路能運行的時鐘頻率明顯下降了。

? ? ? ? 但是在上面的計算中,我們還是可以發現一個問題,即common clock path即屬于launch clock path,也屬于capture clock path,所以在計算中,我們對其使用了不同的derate系數進行計算:在計算arrival time中,系數為1.2;在計算required time中,系數為0.9,這樣會讓我們的分析更為悲觀,電路性能更差。而在真實的情況中,common?clock path的PVT只有一個,不可能同時有兩個derate系數,所以我們會進行CPPR操作。

CPPR(Clock Path Pessimism Removal)或者CRPR(Clock Reconvergence Pessimism Removal),中文名“共同路徑悲觀去除”。它的作用是去除clock path上的相同路徑上的悲觀計算量,即我們上面提到的問題。我們將common point定義為時鐘樹上共同部分最后一個cell的output pin。則定義CPP因子為:

CPP=LatestArrivalTime@CommonPoint-EarliestArrivalTime@CommonPoint

我們進行CPPR后再來進行一次計算:

LatestArrivalTime@CommonPoint=1.2*1.2=1.44ns

EarliestArrivalTime@CommonPoint=1.2*0.9=1.08ns

CPP=1.44-1.08=0.36ns

則clock_period=7.171-0.36=6.811ns

可以看到,電路的運行時鐘頻率變好了一點,但對于未考慮OCV來說,整個運行時鐘頻率還是降低了。

我們可以來看看時序報告

? ? ??

?

說完setup check,我們來看看OCV對hold check的影響。

進行hold check時,最差的情況為:launch clock path 和data path由于OCV的原因,延遲減小到最小;于此同時,capture clock path 由于OCV的原因,延遲增加到最大。此時,對保持時間的檢查最為嚴苛。我們進行同樣的分析,可以看到基本相同的結果。

其時序報告如下:

???

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253848.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253848.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253848.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Exception和RuntimeException的區別

1.Exception表示程序運行過程中可能出現的非正常狀態 RuntimeException表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。 Java編譯器要求方法必須聲明拋出可能發生的費運行異常,但是并不要求必須聲明拋出未被捕獲的運行時異常, 即…

[轉載]IIS7報500.23錯誤的解決方法

原文出處: 原文作者:pizibaidu 原文鏈接:http://pizibaidu.blog.51cto.com/1361909/1794446 背景:今天公司終端上有一個功能打開異常,報500錯誤,我用Fiddler找到鏈接,然后在IE里打開&#xff0c…

關于用戶空間和內核空間

當一個任務(進程)執行系統調用而陷入內核代碼中執行時,我們就稱進程處于內核運行態(內核態)。在內核態下,CPU可執行任何指令。當進程在執行用戶自己的代碼時,則稱其處于用戶運行態(用…

kaggle中zillow比賽中模型融合的方法及其代碼

在機器學習這個領域,尤其是做多媒體(聲音、圖像、視頻)相關的機器學習方法研究,會涉及很多特征、分類模型(分類任務)的選擇。以聲音識別為例,常見的特征有MFCC、LPCC、spectrogram-like feature…

靜態時序分析——Timing borrow

Timing Borrow技術又稱為cycle stealing技術,主要是利用latch的電平敏感特性,通過有效電平獲取數據,通過無效電平保持被鎖存的數據,主要用于解決路徑時序不滿足電路要求的情況。 通過TimingBorrow可以對電路進行加速,當路徑延遲較…

homebrew 常用命令

安裝(需要 Ruby):ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/Go/install)" 搜索:brew search MySQL 查詢:brew info mysql 主要看具體的信息,比如目前的版本&#xff0c…

從Mysql某一表中隨機讀取n條數據的SQL查詢語句

若要在i ≤ R ≤ j 這個范圍得到一個隨機整數R ,需要用到表達式 FLOOR(i RAND() * (j – i 1))。例如, 若要在7 到 12 的范圍(包括7和12)內得到一個隨機整數, 可使用以下語句: SELECT FLOOR(7 (RAND() * 6)); 以上摘…

基于MTD的NAND驅動開發(二)

基于MTD的NAND驅動開發(二) 基于MTD的NAND驅動開發(三) http://blog.csdn.net/leibniz_zsu/article/details/4977853 http://blog.csdn.net/leibniz_zsu/article/details/4977869 四、基于MTD的NAND 驅動架構 1 、platform_device 和platform_driver 的定義和注冊 對于我們的…

靜態時序分析——Data to data check

setup和hold的檢查也有可能發生在任意兩個數據端口,其中不包括時鐘端口。 我們將其中一個端口(pin)設置為約束端口(constrainted pin),就像觸發器中的數據端口;將另一個一個端口(pin…

開源數據庫中間件-MyCa初探與分片實踐

如今隨著互聯網的發展,數據的量級也是撐指數的增長,從GB到TB到PB。對數據的各種操作也是愈加的困難,傳統的關系性數據庫已經無法滿足快速查詢與插入數據的需求。這個時候NoSQL的出現暫時解決了這一危機。它通過降低數據的安全性,減…

【JAVA設計模式】外觀模式(Facade Pattern)

一 定義 為子系統中的一組接口提供一個一致的界面。Facade模式定義了一個高層的接口,這個接口使得這一子系統更加easy使用。二 案例 一個子系統中擁有3個模塊。每一個模塊中都有3個方法。當中一個為client調用方法,其它兩個則為各子模塊間互相調用方法…

return的用處

#include "stdio.h" main() {int a,b1,c0;for(a1;a<5;a){ cca;}printf("%d",c);return ;printf("hello word"); } 輸出結果是10并沒有hello word&#xff1b;return將不會執行下面的語句。轉載于:https://www.cnblogs.com/doublekai/p/6148…

靜態時序分析——Clock Gating check

門控時鐘是RTL級進行低功耗設計的最常用方法&#xff0c;能夠有效降低動態功耗。在實際使用中&#xff0c;一般用ICG&#xff08;集成門控時鐘單元&#xff09;來完成clock gating。ICG電路和時序如下&#xff1a; 通常來說&#xff0c;工藝庫已經集成了ICG&#xff0c;在做門控…

U-boot中TFTP 解釋

http://www.cnblogs.com/heaad/archive/2009/08/10/1542538.html

BlackHat Arsenal USA 2018 ToolsWatch黑客工具庫

原文鏈接&#xff1a;https://medium.com/hack-with-github/black-hat-arsenal-usa-2018-the-w0w-lineup-7de9b6d32796 Black Hat Arsenal USA 2018?—?The w0w lineup After the huge success of Black Hat Arsenal USA 2017, toolswatch has now announced the list of too…

SOA是什么

SOA是什么&#xff1f; SOA是面向服務的架構&#xff0c;是一個組件模型&#xff0c;它將應用程序的不同功能單元&#xff08;稱為服務&#xff09;通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的&#xff0c;它獨立于實現服務的硬件平臺、操作…

redis 優化

系統優化echo "vm.overcommit_memory1" > /etc/sysctl.conf 0&#xff0c; 表示內核將檢查是否有足夠的可用內存供應用進程使用&#xff1b;如果有足夠的可用內存&#xff0c;內存申請允許&#xff1b;否則&#xff0c;內存申請失敗&#xff0c;并把錯誤返回給應…

IC設計常見設計思想

速度與面積互換原則 所謂速度&#xff0c;是指整個工程穩定運行所能夠達到的最高時鐘頻率&#xff0c;它不僅和電路內部各個寄存器的建立時間、保持時間以及外部器件接口的各種時序要求有關&#xff0c;而且還和兩個緊鄰的寄存器間的邏輯延時&#xff0c;走線延時有關。所謂面…

DM365 u-boot啟動分析

http://www.61ic.com/Article/DaVinci/DM644X/201009/27429.html

(十三)Hibernate高級配置

配置數據庫連接池 配置C3P0連接池。先導入c3p0包。然后在hibernate.cfg.xml文件中 &#xff0c;使用下面代碼配置連接池<property name"hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>可以通過下面的…