SDC Specical check setting的描述 - false path

在上一篇文中描述了SDC的基本語法,其中關于時序異常約束并沒有進行詳細的描述,但是在正常的設計中,一般這種異常的設置反而是需要特別關注的,主要包括:

1. 虛假路徑- false path

? ??不需要滿足任何時序要求的路徑;實現工具在受約束時,忽略此種路徑上的時序。

2. 多周期路徑 - multi-cycle

? ??需要多個時鐘周期來傳遞數據的路徑,實現工具會放寬此路徑上的時序。

3. 最小和最大延遲 - min/max delay

? ? 具有特殊要求的最大延遲和最小延遲路徑,并且實在設計人員想要覆蓋推測的建立和保持要求時指定的。

下面將對三種設置進行詳細描述:

1. 虛假路徑:

? ? a. 組合電路中的虛假路徑:

? ? ? ??

? ? ? ? 從這里可以看到A->mux1/A->mux2/A ->B 這個路徑是不存在的,因為可以設置false path

? ?set_false_path -from [get_ports A] -through [get_pins mux1/A] -throught [get_pins mux2/A] -to [get_ports B]

? ? ? ?b. 時序電路的虛假路徑

? ? ? ? ? 我們假設在a中sel信號是時序路徑產生的,那么這里還是存在上述路徑的虛假路徑;

? ? ? ?c. 動態激活的虛假路徑

? ? ? ? ?? 缺個小圖

? ? ? ? ? ?圖里有兩個從A->B:

? ? ? ? ? ? ? A->K1 -> B

? ? ? ? ? ? ? A -> K2 -> K3 -> K1 -> B

? ? ? ? ? ?如果想讓第二條路徑不被阻塞,那么C必須為0, 如果C為1,這里第二條路徑就像是一個虛假路徑了。

? ? ? ? ? ?但是如果兩個路徑的delay不同,且delay1<delay2,這樣在A從0->1時,會存在毛刺,反之也會有一個毛刺。

? ? ? ? ? ? 這種依賴于延遲的路徑,可能有毛刺的路徑稱為動態激活的虛假路徑。

? ? ? ? ? ? ?這種路徑不應該被聲明為虛假路徑

? ? ? ?d. 時序的虛假路徑

? ? ? ? ? ??時序的虛假路徑是設計中存在的路徑,并且可以被激活,但是設計人員選擇不去定時他們,比如:

  • ? ? ? ?設計包含配置寄存器 – 在初始化時序電路期間被初始化,此后保持一個靜態值,并且寄存器時序不是設計人員關心的;
  • ? ? ? ?異步信號的路徑 – 比如復位,在最開始時,需要復位達到寄存器的固定值,之后這個路徑就不需要定時了;或者構建跨越異步域

? ? ? ? e. 基于總線協議的虛假路徑

? ? ? ? ? ?比如多個slv和一個master互信,但slv之間并無互信,此時slv之間就可以設置雙向false

? ? ? ? f.?虛擬時鐘和真實時鐘之間的虛假路徑

? ? ? ? ? ? ?缺少文檔圖

? ? ? ? ? ? ?假設這個設計, F1的結果被F3采集,F2的結果被F4采集,這里O1就需要針對clk1和clk2分別指定out_delay;這里就有4個path:

  • F1/CLK1 -> O1/CLK1 out_delay;
  • F1/CLK1 -> O1/CLK2 out_delay;
  • F2/CLK2 -> O1/CLK1 out_delay;
  • F2/CLK2 -> O1/CLK2 out_delay;

? ? ? ? ? ? ? 這里path2/path3其實是假的,我們不關注的。但是如果我們采用:

? ? ? ? ? ? ? ?Set_false_path -from clk1 -to clk2

? ? ? ? ? ? ? ?這里有個大問題:

? ? ? ? ? ? ? ? ? 如果這么設置,那么所有設計中的clk1和clk2之間的路徑都不會被check。

? ? ? ? ? ? ? 好的做法:

? ? ? ? ? ? ? ? ?通常的做法是創建對應于時鐘clk1/clk2的虛擬時鐘?,并相對于虛擬時鐘來設置delay和虛擬路徑

? ? ? ? ? g. set_disable_timing

? ? ? ? ? ? ? 缺少環路圖示

? ? ? ? ? ? ?這里存在一個環路,B出發再回到B,一般工具都會自己斷開這種環路,但是如果工具斷開的不好,比如從n1斷開,這其實可能就不好了,B->C之間就不會check了。

? ? ? ? ? ? ?所以可以采用set_disable_timing來自行打斷路徑。

? ? ? ? ? ? ?Set_disable_timing和set_false_path的差異是:

? ? ? ? ? ? ? ? ? 后者只是阻止該路徑的時序,但是延遲計算不會停止;

? ? ? ? ? ? ? ? ? 但是前者,路徑本身會直接從時序分析中移除

? ? ? ? h. 虛假路徑問題

? ? ? ? ? ?在執行虛假路徑的注意事項:

? ? ? ? ? ? ?a. 不要使用通配符;

? ? ? ? ? ? ?b. 當使用through時,需要關注through是不是冗余的;

? ? ? ? ? ? ?c. 不要在同一路徑或者路徑線段上設置不同種類的約束;

? ? ? ? ? ? ?d. set_false_path,需要相關約束;

? ? ? ? ? ? ?e. 常見的false path包含:?

? ? ? ? ? ? ? ? ? 1. 邏輯上不可能存在的路徑;

? ? ? ? ? ? ? ? ? ?2. 跨時鐘域信號經過通路的地方 - max_delay可能更合適;

? ? ? ? ? ? ? ? ? ?3. 上電后,只需要寫一次的路徑;

? ? ? ? ? ? ? ? ? ?4. 復位或者測試邏輯

? ? ? ? ? ? ? ? ? ? ? ?//對于reset, 如果在工作時,reset信號有效時,時鐘信號不翻轉,可以用false path, 否則不可以

? ? ? ? ? ? ? ? ? ? ? ?// 一般異步復位可以設置false path, 但是當異步復位被時鐘捕獲之后再對應時鐘域中使用時,就不能設false path

? ? ? ? ? ? ? ? ? ? ?5. 異步分布式RAM的寫入時鐘和異步讀取時鐘之間的路徑

??

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

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

相關文章

【Python練習】048. 編寫一個函數,實現簡單的命令行接口,接受用戶輸入并響應

048. 編寫一個函數,實現簡單的命令行接口,接受用戶輸入并響應 在 Python 中,可以通過 input() 函數創建一個簡單的命令行接口,接受用戶輸入并根據輸入內容進行響應。 示例代碼 def simple_command_line_interface():"""實現一個簡單的命令行接口,接受用…

軟件工廠語境下的知識系統選型:兼顧合規性與集成深度

在過去幾十年間&#xff0c;制造業從“工匠手作”邁向“工業流水線”&#xff0c;完成了生產效率的巨大飛躍。當軟件開發也面臨交付復雜性、合規要求與協作成本不斷上升的現實&#xff0c;“軟件工廠”的理念逐步興起。 在這場“開發現代化”的轉型中&#xff0c;知識管理被重新…

C語言-一維數組,二維數組

數組 數組的引入如果要在程序中保存一個人的年齡&#xff1f;如何保存&#xff1f; 答&#xff1a;創建一個基于int類型的變量&#xff0c;舉例&#xff1a;int age 22如果要在程序中保存一個人的三門課的成績&#xff1f;如何保存&#xff1f; 答&#xff1a;創建三個基于flo…

如何區別HTML和HTML5?

要區分 HTML&#xff08;通常指 HTML4 及更早版本&#xff09;和 HTML5&#xff0c;主要可以從以下關鍵方面進行比較&#xff1a;一、文檔聲明區別 <!-- HTML4 文檔聲明 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:/…

Java實戰:實時聊天應用開發(附GitHub鏈接)

一、前置技術項目介紹&#xff1a; 項目為局域網溝通軟件&#xff0c;類似內網通&#xff0c;核心功能包括昵稱輸入、聊天界面展示在線人數&#xff08;實時更新&#xff09;、群聊&#xff0c;也可擴展私聊、登錄注冊、聊天記錄存儲等功能&#xff0c;結尾附GitHub鏈接。項目涉…

linux 的list_for_each_entry

linux的宏定義提高了代碼的簡潔性&#xff0c;但有時候的命名不夠完美。比如list_for_each_entry&#xff0c;看名字只知道是遍歷list&#xff0c;但一看里面的三個變量參數&#xff0c;有點懵逼。/*** list_for_each_entry - iterate over list of given type* pos: …

分布式面試點

目錄 1.分布式理論 為什么CAP不可兼得呢? 2.CAP對應的模型和應用 3.Base理論 4,有哪些分布式鎖的案例 5.分布式事務 6.Seata 分布式一致性算法 1. 準備階段&#xff08;Prepare Phase&#xff09; 2. 接受階段&#xff08;Accept Phase&#xff09; 3. 學習階段&…

Neo4j系列---【Linux離線安裝neo4j】

Linux離線安裝neo4j 1.官方安裝文檔 地址&#xff1a;https://neo4j.com/docs/operations-manual/current/installation/linux/tarball/ 2.如果瀏覽器無法訪問 修改neo4j.conf,開放所有ip訪問 # 允許所有IP地址訪問 server.default_listen_address0.0.0.0 3.創建開機自啟動服務…

SEO長尾關鍵詞核心實戰技巧提升排名

內容概要 本文聚焦于SEO長尾關鍵詞的核心實戰技巧&#xff0c;旨在幫助讀者精準鎖定目標用戶的搜索意圖&#xff0c;從而提升網站自然排名和獲取精準流量。文章將從基礎概念入手&#xff0c;系統解析如何挖掘高轉化率的長尾關鍵詞&#xff0c;優化內容結構以增強搜索可見度&…

當OT遇見IT:Apache IoTDB如何用“時序空間一體化“技術破解工業物聯網數據孤島困局?

目錄 一. 什么是時序數據庫&#xff1f; 二. 時序數據庫的選型要素 性能指標 架構能力 數據模型與查詢能力 安全與權限控制 部署與運維能力 三 Apache IoTDB 簡介及安裝使用&#xff1a; 安裝準備教程 檢查 Java 版本 下載與安裝 下載 IoTDB 解壓文件 配置環境變量 啟動…

一文講透HTML語義化標簽

文章目錄語義化標簽概述HTML標簽及其含義常見HTML5語義化標簽語義化標簽對搜索引擎&#xff08;SEO&#xff09;的影響提升搜索引擎排名增強可訪問性改善用戶體驗語義化標簽案例各標簽作用說明語義化標簽概述 HTML 語義化是指使用恰當的標簽來準確表達內容的結構和含義&#x…

Django 實戰:靜態文件與媒體文件從開發配置到生產部署

文章目錄一、靜態文件與媒體文件區別與聯系配置開發環境配置二、媒體文件實戰實戰場景定義模型定義序列化器定義視圖實戰效果三、生產部署說明收集靜態文件Nginx配置示例OpenResty配置示例一、靜態文件與媒體文件 區別與聯系 在 Django 項目中&#xff0c;靜態文件&#xff0…

Python自動化分析知網文獻:爬取、存儲與可視化

1. 引言 在當今的學術研究和大數據分析領域&#xff0c;高效獲取和分析學術文獻數據具有重要意義。中國知網&#xff08;CNKI&#xff09;作為國內最權威的學術資源平臺之一&#xff0c;包含了海量的期刊論文、會議論文和學位論文。然而&#xff0c;手動收集和分析這些數據不僅…

Python應用指南:使用PyKrige包實現ArcGIS的克里金插值法

先了解什么是克里金插值&#xff1f;克里金插值&#xff08;Kriging interpolation&#xff09;是一種基于統計學和空間相關性的高級空間插值方法&#xff0c;廣泛應用于地理信息系統&#xff08;GIS&#xff09;、地質勘探、環境科學、氣象學等領域。它由南非礦業工程師丹尼爾…

Redis原理之哨兵機制(Sentinel)

上篇文章&#xff1a; Redis原理之主從復制https://blog.csdn.net/sniper_fandc/article/details/149141103?fromshareblogdetail&sharetypeblogdetail&sharerId149141103&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 哨兵機制恢…

uniapp打包成 apk

1. 先把項目打包成 index.html 上傳到寶塔服務器,關聯到域名 2.然后再用hbuilder新建一個 基礎模板的 uniapp 3.再修改代碼,采用iframe方式打包 pages/index/index <template><web-view v-if="showWebView" :src="webViewSrc" @message=&qu…

RPG57.創建玩家拾取物品類一:創建可拾取物品類的基類

1。新建一個基類&#xff0c;用于玩家可拾取物品的父類然后// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "Components/SphereComponent.h" #include "GameFramewo…

k8s之持久化存儲流程

K8s 中的 Pod 在掛載存儲卷時需經歷三個的階段&#xff1a;Provision/Delete&#xff08;創盤/刪盤&#xff09;、Attach/Detach&#xff08;掛接/摘除&#xff09;和 Mount/Unmount&#xff08;掛載/卸載&#xff09; Provisioning Volumes 時序流程詳解 一、流程圖 sequenc…

python學智能算法(二十四)|SVM-最優化幾何距離的理解

引言 前序學習過程中&#xff0c;已經對幾何距離的概念有了認知&#xff0c;學習鏈接為&#xff1a;幾何距離 這里先來回憶幾何距離δ的定義&#xff1a; δmin?i1...myi(w∥w∥?xib∥w∥)\delta \min_{i1...m}y_{i}(\frac{w}{\left \| w \right \|}\cdot x_{i}\frac{b}{\le…

創建游戲或互動體驗:從概念到實現的完整指南

Hi&#xff0c;我是布蘭妮甜 &#xff01;在數字時代&#xff0c;游戲和互動體驗已成為娛樂、教育和商業領域的重要組成部分。本文將帶你了解如何使用JavaScript創建引人入勝的游戲和互動體驗&#xff0c;從基礎概念到實際實現。 文章目錄一、游戲開發基礎1.1 游戲循環1.2 游戲…