SDC命令詳解:使用set_propagated_clock命令進行約束

相關閱讀

SDC命令詳解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482


目錄

????????指定端口列表/集合

????????簡單使用

????????注意事項


????????傳播時鐘是在進行了時鐘樹綜合后,使用set_propagated_clock命令可以將一個理想時鐘轉換為傳播時鐘(注意,虛擬時鐘即無時鐘源對象的時鐘無法被轉換為傳播時鐘)(設置對象的propagated_clock屬性為true),此時的時鐘延遲由源延遲和真實網絡延遲組成,這里的網絡延遲是根據時鐘路徑上的線延遲和單元延遲真實計算出來的,而不再使用set_clock_latency命令設置網絡延時。有關理想時鐘和傳播時鐘的更詳細內容,可以參考下面的博客。如果想要移除傳播時鐘,使用remove_propagated_clock命令。

靜態時序分析:ideal_clock、propagated_clock以及generated_clock的關系及其延遲計算規則(一)https://blog.csdn.net/weixin_45791458/article/details/139998035?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522e4f4bf160af3c2b2f079b3291ac96a32%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=e4f4bf160af3c2b2f079b3291ac96a32&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-139998035-null-null.nonecase&utm_term=%E4%BC%A0%E6%92%AD%E6%97%B6%E9%92%9F&spm=1018.2226.3001.4450????????本文針對Design Compiler,但該命令同樣存在于PrimeTime、IC Compiler等工具中,它們大致相同,略有差別。set_fanout_load命令的BNF范式(有關BNF范式,可以參考以往文章)為:

set_propagated_clockobject_list

指定端口列表/集合

????????指定一個列表/集合,包含時鐘對象、端口對象或引腳對象,對于列表而言,如果有多于一個對象,需要使用引號或大括號包圍(對使用集合無效),關于列表和集合的區別,可以參考下面的博客。

SDC命令詳解:使用集合(Collection)而不是字符串(String)/列表(List)作為命令參數https://chenzhang.blog.csdn.net/article/details/147144571

簡單使用

????????下面用一個簡單的例子進行說明,圖1是兩個D觸發器的簡單級聯,可以看出此時的時鐘路徑上人為插入了一些緩沖器。?

圖1 一個簡單的例子

????????下面使用create_clock命令,在clk端口創建了一個理想時鐘,周期為10。

dc_shell> create_clock -period 10 [get_ports clk]

????????對于理想時鐘而言,它的延遲包括兩部分:源延遲(source)和網絡延遲(network delay),它們都是使用set_clock_latency命令進行設置的,關于該命令的使用,可以參考之前的文章SDC命令詳解:使用set_clock_latency命令進行約束。?注意:理想時鐘的網絡延遲值是直接設置的,而不會從時鐘路徑上的線延遲(net delay)和單元延遲(cell delay)中推斷出來。

????????下面的命令設置了時鐘clk的源延遲為2ns,網絡延遲為0.5ns。

dc_shell> set_clock_latency -source 2 [get_clocks clk]
dc_shell> set_clock_latency 0.5 [get_clocks clk]

????????圖2所示的建立時間時序報告顯示,時鐘的總延遲為2.5ns(注意這里的network delay其實指的是總延遲,而不只是網絡延遲),括號中的ideal提示了這是一個理想時鐘。

圖2 建立時間時序報告

????????下面使用set_propagated_clock命令將理想時鐘clk轉換成傳播時鐘,此時會給出警告。

dc_shell> set_propagated_clock [get_clocks clk]
Warning: Converting ideal clock at 'clk' to propagated clock.  (UID-477)

????????圖3是此時的時鐘報告,可以看出此時的時鐘clk已經擁有propagated_clock屬性了,即是一個傳播時鐘了。?

圖3?時鐘報告(傳播時鐘)

????????此時的時鐘延遲由源延遲和真實網絡延遲組成,這里的網絡延遲是根據時鐘路徑上的線延遲和單元延遲真實計算出來的,如圖4所示(此時添加了-path full_clock選項以顯示出完整的時鐘路徑)。

圖4?展開時鐘路徑的建立時間報告

注意事項

? ? ? ? 有些時候,會設置端口對象或引腳對象的傳播時鐘屬性,此時經過這些端口對象或引腳對象的時鐘對象將被視為傳播時鐘(注意,該時鐘本身可以是理想時鐘)。

? ? ? ? 下面依舊以圖1為例說明這種情況,使用set_propagated_clock命令設置輸入端口clk的傳播時鐘屬性。

?dc_shell> set_propagated_clock [get_clocks clk]

? ? ? ? 此時時鐘對象依舊是理想時鐘,如圖5所示。

圖5?時鐘報告(理想時鐘)

? ? ? ? 下面使用set_input_delay命令設置輸入端口d的輸入延遲。

dc_shell> set_input_delay 0.5 -clock [get_clocks clk] [get_ports d]

? ? ? ? 此時經過輸入端口d的建立時間時序報告如圖6所示(此時添加了-path full_clock選項以顯示出完整的時鐘路徑)。

圖6?展開時鐘路徑的建立時間報告

? ? ? ? 可以看出,即使是同一個時鐘對象clk,對于發射路徑其被視為理想時鐘(使用設置網絡延遲),?對于捕獲路徑其被視為傳播時鐘(使用真實網絡延遲)。

? ? ? ? 如果將時鐘本身設置為傳播時鐘,發射路徑將只包含源延遲,而不含網絡延遲(在不使用-reference_pin選項的情況下)。

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

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

相關文章

關于華為倉頡編程語言

文章目錄 一、基本概況二、技術特點1. 多范式編程2. 原生智能化3. 高性能與安全4. 全場景兼容 三、編譯器與開發工具四、語言相似性對比五、行業應用實例總結 最近經常看到這個東西,于是搜了一下,整理了一些內容,水一篇,以后慢慢研…

【STM32F1標準庫】理論——定時器中的輸出比較

目錄 一、定時器的輸出比較介紹(Output Compare) 1.整體簡介 2.輸出比較單元具體功能框圖 3.以PWM模式1舉例 二、雜談 1.CCR的全名 2.PWM簡介 3.舵機簡介 4.直流電機及驅動模塊TB6612簡介 一、定時器的輸出比較介紹(Output Compare…

前端開發面試題總結-HTML篇

文章目錄 HTML面試高頻問答一、HTML 的 src 和 href 屬性有什么區別?二、什么是 HTML 語義化?三、HTML的 script 標簽中 defer 和 async 有什么區別?四、HTML5 相比于 HTML有哪些更新?五、HTML行內元素有哪些? 塊級元素有哪些? 空(void)元素有哪些?六、iframe有哪些優點…

Scrapy爬蟲教程(新手)

1. Scrapy的核心組成 引擎(engine):scrapy的核心,所有模塊的銜接,數據流程梳理。 調度器(scheduler):本質可以看成一個集合和隊列,里面存放著一堆即將要發送的請求&#…

Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五模型時序預測

Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五模型時序預測 目錄 Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五模型時序預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五…

歷史數據分析——唐山港

個股簡介 公司簡介: 唐山港口投資有限公司、北京京泰投資管理中心、河北利豐燕山投資管理中心、國富投資公司、唐山市建設投資公司、河北省建設投資公司、國投交通實業公司7家發起人共同發起設立。 經營分析: 港口經營一般項目:港口貨物裝卸搬運活動;普通貨物倉儲服務(不含…

云端回聲消除:讓超低端硬件能玩實時打斷

傳統認知里“優質交互 高性能硬件”的等式正在被打破? 超低端開發板也能實現高配置硬件才有的實時打斷語音交互? 網易云信推出的云端回聲消除技術不僅解決了硬件配置對交互體驗的限制,更以系統性解決方案重構了嵌入式設備的實時對話體驗。 困…

堆排序的詳細解讀

一.堆的基本概念 1.什么是堆 堆是一種特殊的完全二叉樹,滿足一下性質: 最大堆:每個節點的值都大于或等于其子節點的值(堆頂元素最大)最小堆:每個節點的值都小于或等于其子節點的值(堆頂元素最小…

hmdp知識點

1. 前置知識 1.1 MyBatisPlus的基本使用 1.1.1 引入依賴 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version> </dependency> 1.1.2 建立實體類和數…

分享5個免費5個在線工具網站:Docsmall、UIED Tool在線工具箱、草料二維碼、圖片在線壓縮、表情符號

01. Docsmall 它是一個免費的在線圖片與PDF處理工具&#xff0c;功能主要包含Ai圖片處理工具&#xff0c;圖片壓縮工具&#xff0c;圖片PDF格式轉換工具等&#xff0c;如下圖&#xff0c;我認為比較實用的是自動摳圖、圖片變高清、圖片壓縮和PDF壓縮。 https://docsmall.com/…

打通印染車間“神經末梢”:DeviceNet轉Ethernet/IP連接機器人的高效方案

在印染行業自動化升級中&#xff0c;設備聯網需求迫切。老舊印染設備多采用Devicenet協議&#xff0c;而新型工業機器人普遍支持Ethernet/IP協議&#xff0c;協議不兼容導致數據交互困難&#xff0c;設備協同效率低、生產監控滯后&#xff0c;成了行業數字化轉型的阻礙。本文將…

RSA加密算法:非對稱密碼學的基石

一、RSA算法概述 RSA&#xff08;Rivest-Shamir-Adleman&#xff09;是1977年由Ron Rivest、Adi Shamir和Leonard Adleman提出的非對稱加密算法&#xff0c;它基于大數分解的數學難題&#xff0c;是當今應用最廣泛的公鑰密碼系統。RSA的核心思想是使用一對密鑰&#xff08;公鑰…

杭州瑞盟 MS35774/MS35774A 低噪聲256細分微步進電機驅動,用于空調風門電機驅動,香薰電機驅動

杭州瑞盟 MS35774/MS35774A 低噪聲256細分微步進電機驅動&#xff0c;用于空調風門電機驅動&#xff0c;香薰電機驅動 簡述 MS35774/MS35774A 是一款高精度、低噪聲的兩相步進 電機驅動芯片&#xff0c;芯片內置功率 MOSFET &#xff0c;長時間工作的平均電 流可以達到 1…

駛向智能未來:車載 MCP 服務與邊緣計算驅動的駕駛數據交互新體驗

引言 在人工智能技術與車載算力持續突破的驅動下&#xff0c;現代車輛的數字化進程正加速推進。車聯網系統將突破傳統云端架構的局限&#xff0c;依托邊緣計算與 AI 融合技術&#xff0c;實現人車交互體驗的范式重構?。通過構建基于多源異構數據的自動化分析框架&#xff0c;…

Python數據可視化科技圖表繪制系列教程(三)

目錄 單一柱狀圖 分組柱狀圖 堆積柱狀圖 百分比柱狀圖 均值柱狀圖 不等寬柱狀圖 有序柱狀圖 條形圖 發散條形圖 在條上添加標簽的發散條形圖 基礎棒棒糖圖1 基礎棒棒糖圖2 【聲明】&#xff1a;未經版權人書面許可&#xff0c;任何單位或個人不得以任何形式復制、發…

JavaScript 數組與流程控制:從基礎操作到實戰應用

在 JavaScript 編程的世界里&#xff0c;數組是一種極為重要的數據結構&#xff0c;它就像是一個有序的 “收納盒”&#xff0c;能夠將多個值整齊地存儲起來。而流程控制語句則像是 “指揮官”&#xff0c;能夠按照特定的邏輯對數組進行遍歷和操作。接下來&#xff0c;就讓我們…

十(1). 強制類型轉換

繼第十部分C強制類型轉換的四種方式&#xff0c;再進行強化鞏固一下知識點 static_cast 最常用的&#xff0c;在指針之間做轉換 const_cast 去除常量屬性 dynamic_cast 用在基類和派生類之間的轉換 reinterpret_cast 在任意類型之間進行轉 10.1 static_cast 常見的使用場景&am…

Git版本控制工具詳解

如何區分開發環境和生產環境呢 答案就是寫不同的配置文件&#xff0c;開發的設置成開發需要的&#xff0c;生產的設置成生產需要的&#xff0c;共同放到config這個配置文件夾下面&#xff0c;開發和生成的時候分別加載不同的配置文件 方式二就是使用相同的一個入口配置文件&a…

反向傳播的核心是什么:計算損失函數對可訓練參數的梯度=== 損失函數能通過計算圖連接到可訓練參數

反向傳播的核心是什么:計算損失函數對可訓練參數的梯度 損失函數能通過計算圖連接到可訓練參數 在深度學習中,反向傳播的核心是計算損失函數對可訓練參數的梯度,從而更新這些參數。對于LLM(大型語言模型)而言,是否需要“LLM輸出的參數”才能進行反向傳播 一、反向傳播…

KINGCMS被入侵

現象會強制跳轉到 一個異常網站,請掉截圖代碼. 代碼中包含經過混淆處理的JavaScript&#xff0c;它使用了一種技術來隱藏其真實功能。代碼中使用了eval函數來執行動態生成的代碼&#xff0c;這是一種常見的技術&#xff0c;惡意腳本經常使用它來隱藏其真實目的。 這段腳本會檢…