靜態時序分析詳解之時序路徑類型

目錄

一、概覽

二、時序路徑

2.1 數據路徑

2.2 時鐘路徑

2.3 時鐘門控路徑

2.4 異步路徑

2.5 關鍵路徑

2.6 False路徑

2.7?單周期路徑

2.8?多周期路徑

2.9?最長路徑和最短路徑

三、參考資料


一、概覽

??????????靜態時序分析通過模擬最差條件下分析所有的時序路徑,報告出存在違例的路徑,來驗證設計的時序性能是否滿足要求。

??????????相比動態分析的模擬仿真,靜態時序分析因為不需要大量的測試向量,分析更快,再者因為是分析所有的時序路徑,分析結果齊全,單缺點是只能分析時序結果,無法驗證設計功能的正確性。靜態時序分析主要有三個流程:設計連接劃分為一系列的時序路徑,計算每一條路徑的信號傳輸時延,檢查時序約束下違例的路徑。

二、時序路徑

??????????時序路徑可以根據信號的類型分為不同的路徑,如數據路徑,時鐘路徑,時鐘門控路徑,異步路徑等。每一條時序路徑都有一個起點和一個終點,不同時序路徑類型的起點和終點存在些差異,一般起點是設計中由發送時鐘邊沿觸發的位置,終點是設計中數據由起點發出,經過組合邏輯后由捕獲時鐘邊沿觸發接收的位置。

2.1 數據路徑

??????????數據路徑中起點可以是設計的輸入端口(輸入數據可以由芯片外部時鐘發送),或者是時序單元的時鐘引腳,終點可以是時序單元的數據端口或設計的輸出端口(由芯片外部的時鐘捕獲數據)。下圖是根據起點和終點單元類型對時序路徑的分類。

由上圖可知,數據路徑有四種類型

路徑1:外部器件通過輸入端口DIN到FPGA內部的寄存器單元REG?A

路徑2:輸入寄存器REG A到輸出寄存器REG B?

路徑3:FPGA內部寄存器REGB的數據通過輸出端口DOUT輸出到芯片外部

路徑4:芯片輸入端口DIN到輸出端口DOUT間的路徑

2.2 時鐘路徑

時鐘路徑中起點是時鐘輸入端口,終點是時序單元如觸發器,存儲器的時鐘引腳,以下圖為例,源時鐘路徑和目標時鐘路徑就是兩條時鐘路徑,終點分別是觸發器REGA和REGB的時鐘引腳。

2.3 時鐘門控路徑

時鐘門控路徑中起點是設計的輸入端口,終點是時鐘門控單元的輸入端口,以下圖示例。輸入信號En不屬于時鐘的一部分,但是可以控制輸入時鐘信號是否能有效作用于CLK端口。這種路徑既不屬于時鐘路徑也不屬于數據路徑,成為時鐘門控路徑

2.4 異步路徑

異步路徑中起點是設計的輸入端口,終點是時序單元的異步復位,置位或清零引腳,異步信號不依賴于時鐘信號的有效沿。

2.5 關鍵路徑

簡單理解,關鍵路徑就是延時最大的組合路徑,決定了設計正常運行時的最大頻率,也是時序敏感的功能路徑。關鍵路徑也是不滿足時序要求的路徑。綜合后時序分析工具就能報告出時序違例的路徑,看到違例路徑后首要做的是確認這些路徑是否屬于不用分析或者多周期的路徑。

在分析設計中的違例路徑時,了解關鍵路徑周圍的相互作用很有幫助。?要了解關鍵路徑上可能存在的拉動因素,可以使用以下 report_timing 命令。 在項目目錄中,運行 report_timing 命令查找關鍵路徑中的節點。?將以下代碼復制到 .tcl 文件中,并將前兩個變量替換為最差路徑的“起始節點”和“終止節點”列中的節點名稱。該腳本將分析最差源寄存器和目標寄存器之間的路徑。以下圖示例,設計的關鍵路徑以紅色顯示。

set wrst_src <insert_source_of_worst_path_here>
set wrst_dst <insert_destination_of_worst_path_here>
report_timing -setup -npaths 50 -detail path_only -from $wrst_src \
-panel_name "Worst Path||wrst_src -> *"
report_timing -setup -npaths 50 -detail path_only -to $wrst_dst \
-panel_name "Worst Path||* -> wrst_dst"
report_timing -setup -npaths 50 -detail path_only -to $wrst_src \
-panel_name "Worst Path||* -> wrst_src"
report_timing -setup -npaths 50 -detail path_only -from $wrst_dst \
-panel_name "Worst Path||wrst_dst -> *"

.tcl 腳本與圖形之間的關系如下: 前兩行顯示了關鍵路徑兩個端點內部的所有內容,這些路徑將它們拉向不同的方向。 第一個 report_timing 命令分析源驅動的所有路徑,以綠色顯示。 第二個 report_timing 命令分析通往目標的所有路徑,包括關鍵路徑,以橙色顯示。?最后兩個 report_timing 命令顯示了端點外部的所有內容,這些路徑將它們拉向不同的方向。 如果這些相鄰路徑中的任何一條在關鍵路徑附近有松弛,則過濾器會平衡這些路徑與關鍵路徑,以嘗試實現最佳松弛。

2.6 False路徑

對于設計中實際存在,但邏輯功能不正確的路徑,沒有數據從起點到終點,這種沒有時序要求的路徑成為False路徑。因為時序分析工具默認會分析所有的路徑,對于False路徑,需要約束為False path,否則會因優化時序結果而增加運行時間。

以下圖選擇器設計為例,False path2和False path1不會同時出現,但是時序分析的時候STA工具無法識別這種邏輯,因此必須人為地設置false path約束

常見的False path場景

a)來自配置輸入的場景

b)來自測試的輸入,輸入信號僅用于芯片測試,正常運行模型下不生效

c)來自異步輸入進入到芯片

2.7?單周期路徑

單周期路徑是設計中數據從起點傳輸到終點要求在一個時鐘周期完成,單周期路徑可分為發送路徑和接收路徑。下圖中UFF0是發送觸發器,UFF1是接收觸發器,兩者之前的為數據路徑,數據路徑的起點為UFF0/CK,終點是UFF1/D。

發送時鐘路徑加上數據路徑就是數據到達接收觸發器的到達時間(Arrival Time),接收時鐘的周期加上時鐘延時就是數據到達接收觸發器的要求時間(Required Time)

2.8?多周期路徑

多周期路徑是需要非默認設置或保持關系進行正確分析的數據路徑。

例如,一個寄存器可能被需要用于采集每第二個或第三個上升時鐘邊沿上的數據。乘法器的輸入寄存器與輸出寄存器之間的多周期路徑的示例,其中目地寄存器在每隔一個時鐘邊沿上鎖存數據。

當源時鐘src_clk的周期為10 ns,目的時鐘dst_clk的周期為5 ns時,用于默認設置和保持關系的寄存器到寄存器路徑,源和目的時鐘的相應時序圖,默認設置和保持關系。默認設置關系為5 ns;默認保持關系為0 ns。

為滿足系統要求,您可以通過對寄存器到寄存器路徑指定多周期時序約束來修改默認設置和保持關系。

異常(exception)的multicycle setup assignment值為2,以使用第二個出現的鎖存沿;在此實例中,從默認值5?ns到10?ns。

2.9?最長路徑和最短路徑

任何兩個起點和終點間,都可能存在很多路徑,最長的路徑是延時最長的路徑,也成為最差路徑或最遲路徑或Max路徑。最短路徑是延時最小的路徑,也稱為最好路徑或Min路徑。下圖中最長路徑是經過UBUF1,UNOR2,UNAND3單元后的路徑,最短路徑是只經過UNAND3的路徑

三、參考資料

https://www.intel.cn/content/www/cn/zh/docs/programmable/683243/20-1/multicycle-path-analysis.html

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

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

相關文章

SpringBoot埋點功能技術實現方案深度解析:架構設計、性能優化與擴展性實踐

SpringBoot埋點功能技術實現方案深度解析&#xff1a;架構設計、性能優化與擴展性實踐 1. 原理剖析與技術實現細節 1.1 埋點技術基本原理 埋點&#xff08;Tracking&#xff09;是通過在代碼中植入特定邏輯&#xff0c;收集用戶行為數據、系統運行狀態和業務指標的技術手段。在…

自建prometheus監控騰訊云k8s集群

自建prometheus監控騰訊云k8s集群 使用場景 k8s集群&#xff08;騰訊云容器服務&#xff09; promtheus (外部自建服務) 騰訊云提供了容器內部自建 Prometheus 監控 TKE 集群的文檔&#xff0c;參考。 當前的環境promethues建在k8S外的云服務器上&#xff0c;與上面鏈接文…

2025高教社國賽數學建模C題參考論文(含模型和代碼)

2025 年高教社杯大學生數學建模競賽 C 題參考論文 目錄 NIPT 的時點選擇與胎兒的異常判定 摘要 1 問題重述 2 問題分析 2.1 問題 1 分析 2.2 問題 2 分析 2.3 問題 3 分析 2.4 問題 4 分析 3 模型假設與符號定義 3.1 模型假設 4. 孕周在 10-25 周內檢測有…

iOS開發環境搭建及打包流程

一、下載xcode 直接去蘋果商店的appstore下載就行 二、clone項目 1.登錄xcode蘋果賬號或對應代碼倉庫賬號 2.clone項目 3.安裝設備真機環境&#xff08;未安裝過的話&#xff09; 三.安裝cocoapods 1. 檢查并更新 Ruby 環境 CocoaPods 是基于 Ruby 編寫的&#xff0c;因此…

數據結構之鏈表(單向鏈表與雙向鏈表)

一&#xff0c;鏈表描述鏈表是一種常見的重要的數據結構,是動態地進行存儲分配的一種結構。常用于需存儲的數據的數目無法事先確定。1.鏈表的一般結構鏈表的組成&#xff1a; 頭指針&#xff1a;存放一個地址&#xff0c;該地址指向一個元素 結點&#xff1a;用戶需要的實際數據…

從反向代理到負載均衡:Nginx + Tomcat 構建高可用Web服務架構

從反向代理到負載均衡&#xff1a;Nginx Tomcat 構建高可用Web服務架構 文章目錄從反向代理到負載均衡&#xff1a;Nginx Tomcat 構建高可用Web服務架構一、基礎鋪墊&#xff1a;什么是反向代理&#xff1f;1.1 反向代理的核心原理1.2 Nginx反向代理實戰配置步驟1&#xff1a…

Simulink中使用Test sequence單元測試

一、Tips 在對simulink模型進行Test sequence單元測試時&#xff0c;如果采取書寫測試用例的話&#xff0c;有以下操作。 1、使用”fprintf(‘time%f\n’, t);“來打印當前step的時間&#xff1b; 二、數據類型轉換 1、double類型 -> boolean類型 clc; clear all;% 1、doubl…

【mysql】SQL自連接:什么時候需要,什么時候不需要?

SQL自連接:什么時候需要,什么時候不需要? 通過具體示例和對比解析,徹底搞懂SQL自連接的使用場景 在處理SQL查詢時,尤其是當表中存在自引用關系(如referee_id引用同一張表的id)時,很多開發者會疑惑:這個查詢到底需不需要自連接?本文將通過多個具體示例,帶你徹底弄清何…

「美」創新在于人,而不是產品 - AxureMost 落葵網

添加圖片注釋&#xff0c;不超過 140 字&#xff08;可選&#xff09; 第一章&#xff1a;創新的心理學 創新與心理安全 蠟燭問題&#xff1a;卡爾鄧克爾的蠟燭問題實驗揭示了創造性思維的重要性。通過顛覆對盒子用途的先入為主觀念&#xff0c;參與者能夠找到創新性的解決方案…

新規則,新游戲:AI時代下的戰略重構與商業實踐

當你的客服AI能夠真正像員工一樣理解客戶的行業術語&#xff0c;當AI能主動從大量的客戶咨詢中篩選出高價值潛在客戶 —— 這已經不再是理想中才能存在的場景&#xff0c;而是當下 “人工智能 ” 行動深入推進中&#xff0c;企業智能化轉型的真實寫照。 "人工智能 " …

ScanNet: Richly-annotated 3D Reconstructions of Indoor Scenes 數據集構建

paper link: paperlink Abstract: 這個數據集是個RGB-D視頻數據集&#xff0c;在707個不同空間中獲取了1513個掃描的場景&#xff0c;250w個視圖&#xff0c;并且標注了相機位姿&#xff0c;表面重建&#xff0c;語義分割。本數據集共有20人掃描500名工作者進行標注。 數據集…

c語言期末復習

一、選擇題(10道) 1、以下哪個不是C語言的關鍵字? A) int B) float C) string D) while (答案:C) 2、表達式 5 / 2 的結果是: A) 2.5 B) 2 C) 3 D) 2.0 (答案:B) 3、指針變量存儲的是: A) 變量的值 B) 變量的地址 C) 變量的類型 D) 變量的名稱 (答案:B) 4、以…

JLINK 調試器單步調試單片機

0 JLINK 調試器單步調試單片機 1 物理層1.1 調整電壓和開發板一致2 環境搭建 2.1 安裝 JLink_Windows_V862_x86_642.2 vscode 配置 {"version": "0.2.0","configurations": [{"name": "(gdb) 啟動","type": "…

大模型(LLM)安全保障機制(技術、標準、管理)

大模型&#xff08;LLM&#xff09;的安全保障涉及技術、標準、管理等多個層面。下面我將結合其核心風險&#xff0c;為你梳理主要的安全機制、相關標準框架以及一些實踐建議。為了讓您快速了解大模型面臨的主要風險及相應的應對機制&#xff0c;我準備了一個表格&#xff1a;安…

虛擬機之CentOS、網絡設置的有趣問題

前言 年初射出的子彈&#xff0c;今天中了。 年初埋下的坑&#xff0c;今年踩了。 回首過往&#xff0c;why&#xff1f; because&#xff1a;當時下載VMware的時候。沒有設置網絡。 重點——使用VMware安裝CentOS 9 使用VMware安裝CentOS Stream 9_嗶哩嗶哩_bilibili 總…

Biomni:來自斯坦福的通用型生物醫學 AI 智能體,科研“虛擬助手“來了!

在當今生物醫學研究中&#xff0c;實驗手段和數據量正以前所未有的速度膨脹。從基因組學、單細胞組學到多模態數據&#xff0c;再到可穿戴設備的健康監測&#xff0c;科研人員每天都在與龐大的數據和復雜的分析流程打交道。 然而&#xff0c;實驗設計瑣碎、工具分散、跨學科整合…

移植后 eto 陽性 干擾素 α1b、白介素 - 2 dli

在異基因造血干細胞移植&#xff08;allo-HSCT&#xff09;后仍存在 AML1-ETO&#xff08;ETO&#xff09;融合基因陽性的患者中&#xff0c;干擾素 α1b 聯合白介素 - 2&#xff08;IL-2&#xff09; 是臨床中探索用于清除微小殘留病&#xff08;MRD&#xff09;、降低復發風險…

防止接口被薅羊毛(防刷)(DAY 002)

背景&#xff1a;短信驗證碼接口被不法分子用來做灰產&#xff08;短信郵箱轟炸機&#xff09; 如何避免??的?站成為”?雞“或者被刷&#xff1f; 增加圖形驗證碼&#xff08;開發?員&#xff09;單IP請求次數限制&#xff08;開發?員&#xff09; 防刷之圖形驗證碼&…

【RabbitMQ】----RabbitMQ 的7種工作模式

1.Simple(簡單模式) P:?產者,也就是要發送消息的程序 C:消費者,消息的接收者 Queue:消息隊列,圖中??背景部分.類似?個郵箱,可以緩存消息;?產者向其中投遞消息,消費者從其中取出消息. 特點:?個?產者P&#xff0c;?個消費者C,消息只能被消費?次.也稱為點對點(Point-to-P…

今日分享:C++ -- list 容器

&#x1f60e;【博客主頁&#xff1a;你最愛的小傻瓜】&#x1f60e; &#x1f914;【本文內容&#xff1a;C list容器 &#x1f60d;】&#x1f914; --------------------------------------------------------------------------------------------------------------------…