時序分析基本概念介紹——min pulse width 最小脈沖寬度

文章目錄

  • 前言
  • 一、什么是 min pulse width?
  • 二、為什么檢查 min pulse width?
  • 三、如何設置 min pulse width約束?
    • 1. 在sdc里面定義
    • 2. library里面定義
  • 四、如何檢查 min pulse width?
  • 五、如何修復 min pulse width?
  • 總結

前言

min pulse width 是對信號高電平或低電平脈沖最小寬度的衡量,通常都只針對clock path 做min pulse width 檢查。

一、什么是 min pulse width?

min pulse width ,全稱為最小脈沖寬度檢查。min pulse width用于檢查時鐘信號的波形是否處在一個合理的狀態。時序單元對時鐘的高電平和低電平的脈沖寬度有一定的要求,經過min pulse width檢查可以獲悉時鐘信號的最小脈沖寬度是否滿足了時序單元的要求。

二、為什么檢查 min pulse width?

一般情況下,由于cell本身的差異,rise和fall delay不相同,這樣可能會造成時鐘信號脈沖寬度減小。
如下圖一個周期為1ns,duty cycle 為50%的clock信號:
在這里插入圖片描述
在經過一個buffer(rise delay: 0.05, fall delay:0.03):
在這里插入圖片描述
clock信號波形變成如下圖所示:
在這里插入圖片描述
假設一個占空比為50%的時鐘穿過一個buffer,該buffer的rise delay大于fall delay,則經過buffer后的脈沖寬度要比輸入時鐘小。如果時鐘信號經過一系列相同類型的單元,則時鐘信號的脈沖寬度將會持續減小。如果小于某個最小寬度,可能會導致器件不能正常的捕獲數據。
因此,在做timing分析時,我們是必須對cell的pin做min pulse width檢查。

三、如何設置 min pulse width約束?

min pulse width檢查設置通常有兩類方法:在sdc里面重新設置min pulse width約束或者直接使用library里面的設置。

1. 在sdc里面定義

指令如下(示例):

set_min_pulse_width 1.25 [get_clocks *]

或者指令如下(示例):

set_timing_derate -min_pulse_width 1.25 

2. library里面定義

EDA工具也可以通過查找單元庫來獲取 min pulse width的閾值,在單元庫中,一般是以input transition 為index 的一張一維表。
在這里插入圖片描述
一般情況下,如果要設置比lib里面更為嚴格的min pulse width檢查,需要在sdc里面重新設置min pulse width約束。

四、如何檢查 min pulse width?

因為library 中相應clock pin 上定義了min pulse width 屬性,或用命令set_min_path_width 設了約束,因此在做了CTS之后,則可以使用命令report_min_pulse_width 可以報出相應min pulse width check。
在這里插入圖片描述
如上電路圖,我們想要計算ff2的clock pin的min pulse width check,采用report_min_pulse_width -path_type full_clock_expanded [get_pin ff2/CP],得到下面path路徑slack。
在這里插入圖片描述
如果想要報出所有的min pulse width violation可以使用report_min_pulse_width -all_violators命令。

五、如何修復 min pulse width?

1.由于普通buffer上升和下降的delay不一樣,如果經過一連串的buffer的話,有時候會發生min pulse width的violation。因此,更加推薦采用clock inverter來取代buffer,相比buffer來說,inverter的上升和下降時間會相互補償,這樣就更容易避免min pulse width violation的產生;
2. 檢查是否有比較大的transition, 因為min pulse width的閾值在單元庫中一般是以input transition 為index 的一張一維表;
3. 檢查時鐘路徑是否用了相同閾值電壓(Vt)的的單元,是否用了時鐘單元(一般以CK或DCCK開頭),另外,對于先進工藝電路,一般時鐘路徑會使用低閾值電壓單元(ULVT);
4. 檢查是否有串擾,消除或者減少串擾引起的delta delay。

總結

最小脈沖寬度對數字電子設備的功能和性能至關重要,它直接影響設備的穩定度和精度,因此設計數字電子設備時,必須仔細考慮最小脈沖寬度,并確保信號始終保持在可接受范圍內。

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

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

相關文章

docker啟動ws-scrcpy和redroid記錄

git克隆最新的ws-scrcpy代碼 git clone gitgithub.com:NetrisTV/ws-scrcpy.git進入ws-scrcpy目錄新建Dockerfile文件,內容如下 FROM node:16-alpine WORKDIR /appRUN npm config set registry http://mirrors.cloud.tencent.com/npm/ RUN npm install -g node-gyp…

攻防世界-Web題目1

目錄 cookie 1、題目 2、知識點 3、思路 get_post 1、題目 2、知識點 3、思路 disabled_button 1、題目 2、知識點 3、思路 backup 1、題目 2、知識點 3、思路 cookie 1、題目 2、知識點 cookie,數據包 3、思路 題目提示我們cookie,抓…

Markdown中如何插入空行和空格

Markdown 是一種輕量級的標記語言,它的主要目標是以易讀易寫為優先,并兼容 HTML。雖然 Markdown 本身對于排版的要求比較寬松,但在某些情況下,我們可能需要在文檔中插入空行或空格來達到特定的排版效果。 插入空行 在Markdown中…

【ai】trition:tritonclient.utils.shared_memory 僅支持linux

Can’t find tritonclient.utils.shared_memory on WIN10 #4149yolov4的python客戶端 導入以后,windows 的pycharm 就是看不到折騰了很久:SaviorEnv 環境下安裝tritonclient[all]也會失敗 (base) C:\Users\zhangbin>conda create -n SaviorEnv python=3.8 Collecting pack…

ubuntu 18 虛擬機安裝(1)

ubuntu 18 虛擬機安裝 ubuntu 18.04.6 Ubuntu 18.04.6 LTS (Bionic Beaver) https://releases.ubuntu.com/bionic/ 參考: 設置固定IP地址 https://blog.csdn.net/wowocpp/article/details/126160428 https://www.jianshu.com/p/1d133c0dec9d ubuntu-18.04.6-l…

元數據管理的發展歷程你了解嗎?元數據管理要克服哪些挑戰?

在當今的信息化時代,數據的價值已被廣泛認可,而元數據作為描述數據的數據,其作用日益凸顯。元數據管理,作為確保數據質量、促進數據共享和提高數據透明度的關鍵環節,對企業的數據戰略至關重要。隨著技術的發展&#xf…

程序設計中對內存分配管理的思考,進程內存、線程內存、共享池、棧、堆

設計一個程序,要考慮如何分配和管理內存,以下是對所有內存分配和管理類型的總結。 第一、進程級的內存資源,也叫全局靜態內存,其生命周期是伴隨整個進程的運行期間,可以用作在進程范圍內共享數據的方法。對應于C語言的…

C#1.0-11.0所有歷史版本主要特性總結

文章目錄 前言名詞解釋主要版本一覽表各版本主要特性一句話總結 C# 1.0 (Visual Studio 2002, .Net Framework 1.0)C# 2.0 (Visual Studio 2005, .Net Framework 2.0)C# 3.0 (Visual Studio 2008, .Net Framework 3.0)C# 4.0 (Visual Studio 2010, .Net Framework 4)C# 5.0 (V…

Bigram 分詞學習

Bigram 分詞:概念、應用與中文實踐 Bigram 分詞是一種基礎而有效的文本處理技術,特別是在自然語言處理中有著廣泛的應用。本文將詳細解釋 Bigram 分詞的概念、它在各個領域的應用,以及在中文處理中的獨特優勢和實踐。 什么是 Bigram 分詞&a…

DataWhale - 吃瓜教程學習筆記(三)

學習視頻:第3章-對數幾率回歸_嗶哩嗶哩_bilibili 西瓜書對應章節: 3.3 對數幾率回歸 sigmoid函數 極大似然估計建模 信息論 以概率論、隨機過程為基本研究工具,研究廣義通信系統的整個過程 - 信息熵 (信息期望) 度…

Windows bat 提取多個目錄下的文件,到一個目錄

批處理命令 echo off setlocalrem 設置源目錄和目標目錄 set "sourceDirE:\motrix" set "targetDirE:\新建文件夾"rem 創建目標目錄,如果不存在 if not exist "%targetDir%" mkdir "%targetDir%"rem 循環遍歷源目錄中的所…

TCP:TCP連接的建立與終止

TCP連接的建立與終止 建立連接第一次握手第二次握手第三次握手 終止連接第一次揮手第二次揮手第三次揮手第四次揮手 T C P是一個面向連接的協議。無論哪一方向另一方發送數據之前,都必須先在雙方之間建立一條連接。本文將詳細討論一個T C P連接是如何建立的以及通信…

2024年能源電力行業CRM研究報告

中國能源電力行業屬于大制造業的重要組成部分,在國民經濟中的地位舉足輕重。據統計,近十年來能源電力行業的整體投資呈現出增長趨勢,尤其是“十四五”期間增長顯著,2022年全國主要電力企業共完成投資12470億元,同比增長…

STM32中掛在APB1(低速)和APB2(高速)上的外設

在STM32中, 連接在APB1(低速外設)上的設備有: 電源接口、備份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看門狗、Timer2、Timer3、Timer4 。 連接在APB2(高速外設)上的設備有: GPIO_A-E、USART1、ADC1、ADC2、ADC3、TIM1、TIM…

【樂吾樂2D可視化組態編輯器】連線

1 連線的繪制 1.1 鋼筆繪制連線 1.1.1 曲線、線段、直線、腦圖曲線 開始:單擊左鍵 暫停:單擊右鍵 或 enter 結束:esc 樂吾樂2D可視化組態編輯器demo:https://2d.le5le.com/ 1.1.2 橫線 按下快捷鍵shift,點擊鼠標左鍵繪制…

101.6k星的后臺巨擘:一站式SaaS多租戶、商城、CRM、ERP解決方案

RuoYi-Vue Pro,一個豐富優化重構的后臺管理系統,為企業提供了一個強大、靈活、易用的解-決方案。 特點 豐富的功能支持:包括RBAC動態權限、數據權限、SaaS多租戶、工作流、三方登錄、支付、短信等。 現代化的技術棧:基于Spring Boot、MyBatis Plus、Vue & Element,支持…

在UE中創建命名管道之創建UE藍圖類

需求 在實際工作遇到了需要 UE 開發進程間通信相關的需求。 經過思考后選擇使用命名管道來實現 。 名詞概念 首先什么是進程間通信: 進程間通信( Inter-Process Communication,IPC)是指在操作系統中,不同進程之間進行數據交換…

負載均衡的部署方式有什么?

負載均衡時建立在現有的網絡結構之上,將工作內容進行平衡、分攤到多個操作單位上進行運行,能夠提高網絡的可用性和靈活性,加強了網絡數據的處理能力。那負載均衡技術都有著哪些部署方式呢? 負載均衡有著三種部署方式,分…

大廠面試官問我:Redis內存淘汰,LRU維護整個隊列嗎?【后端八股文四:Redis內存淘汰策略八股文合集】

往期內容: 大廠面試官問我:Redis處理點贊,如果瞬時涌入大量用戶點贊(千萬級),應當如何進行處理?【后端八股文一:Redis點贊八股文合集】-CSDN博客 大廠面試官問我:布隆過濾…

精選:15款頂尖Python知識圖譜(關系網絡)繪制工具,數據分析的強力助手

知識圖譜(關系網絡)可以用簡單的形狀和線條顯示復雜的系統,幫助我們理解數據之間的聯系。我們今天將介紹15個很好用的免費工具,可以幫助我們繪制網絡圖。 NetworkX NetworkX是一個用于處理網絡的Python工具。許多人在Python中處…