數字IC后端設計實現十大精華主題分享

今天小編給大家分享下吾愛IC社區星球上周十大后端精華主題。

Q1:星主,請教個問題,長tree的時候發現這個scan的tree 的skew差不多400p,我高亮了整個tree的schematic,我在想是不是我在這一系列mux前邊打斷,設置ignore pin,后邊create_clock那是不是就可以做平這個tree?

復雜時鐘結構設計trace

數字IC后端實現時鐘樹綜合系列教程 | Clock Tree,Clock Skew Group之間的區別和聯系

你如果不做任何處理,所有的sink點都會做平的,即clock skew不會這么大。只不過clock tree長度會比較長而已。你這個case需要分析幾個mux的另外一個輸入時鐘是什么?能否mux輸入端設置ignore,取決于mux前后的寄存器是否有時序交互。如果沒有,是可以這么做。否則就不行。

像下面這兩個典型時鐘結構,我們就需要對選擇器的各個輸入端做處理。比如第二張圖所示的無毛刺時鐘切換電路,該電路最后一級的輸入端和輸出端需要分別定義sink type和create_clock,否則整體clock tree會做得很長!

在這里插入圖片描述

Q2:星主你好,我想請教一下create_clock 和create_gerated_clock 的sink 是否要做平問題。我看網上一些說法:create_clock 和create_gerated_clock 的sink 因為同屬于一顆clock tree,會默認做平,電路圖如下:

create_clock和create_generated_clock

我覺得是不會做平,理由如下:

  1. create_clock 和create_gerated_clock 的spec 會產生不同clock tree,這是屬于不同clock tree了,并且還產生不同的skew group。

2)我在innovus gui和命令確認了 DFF1和DFF2的clock skew 是遠遠大于我設置cts_target_skew的(如果是做平,理論DFF1和DFF2的skew 應該與我cts_target_skew差異不大)。并且確認了cts spec 沒有mopdify_ccopt_skew_group -add_ignore_pins 命令把我DFF1/CK, DFF2/CK給ignore 掉。星主,請問一下,我想法是對的嗎?

如果是在分頻寄存器輸出定義generated clock,效果如下圖所示。FF1和FF2肯定會比較balance的。因為FF2這路多出一顆寄存器CK-Q的delay,所以FF1這路clock path上工具會插不少clock inverter的。

在這里插入圖片描述

如果是在分頻器輸出create_clock,那么效果圖如下圖所示。FF1和FF2都在各自的clock tree上,skew一定比較大。FF1只會和分頻寄存器做balance。

在這里插入圖片描述

innovus時鐘結構報告

Innovus clock tree structure報告

你的時鐘結構圖我幫你畫出來了(clock mux的B端 你也可以進一步完善)。正常是要做clock balance的。這個需要將clock spec文件中這兩顆寄存器相關信息截圖看下,確認工具是否有對這兩個點做了一些特殊處理。

另外我建議你單獨做下ccopt_design -cts 然后再分析下。做tree之前記得把這個設置設上。正常后端實現流程不要把CTS和postCTS兩個階段合并一起做!

set_ccopt_property extract_clock_generator_skew_groups false

在這里插入圖片描述

Q3:星主你好,想總結一下 timing report中 incr 延時后的特殊符號的意義。我了解到 * 代表工具抽的sdf延時,請問空白或其他特殊符號(如 # )代表了哪些意思,感謝!

在這里插入圖片描述

一張圖搞定這個問題。PT時序signoff看到的report中只能是真實RC反標&,其他任何符號都是錯的。只要是咱們社區IC訓練營學員的,這個肯定非常熟悉,每次時序signoff分析pt時序報告都會講到這個。

PrimeTime RC反標符號具體含義

數字IC后端筆試面試題庫 | 經典時序計算題

Q4:Memory是否可以擺放在core區域和timing path合理性問題

  1. 圖中所示的timing path是否合理?為什么?如何做優化?

2)Memory是否可以擺放在core區域中間?把memory擺放在core區域的利弊分別是什么?

timing path時序路徑合理性案例分析

Q5:星主,最近做的項目遇到了IR問題 有個違例點在buffer v10上,這個bufferv10驅動的是長線 200多um 領導的讓在長線中間插個buffer 后面也解掉了,請問這是什么原理?

線短了單個buf負載變小,對應電流會變小,新加的buf在不同位置,原先位置的iavg會變小,所以對ir drop確實有點收益。

包括把cell驅動變小或換成閾值電壓更高的cell,其實也是可以改善ir drop的。

數字IC設計后端實現前期預防IR Drop的方法匯總

Q6: TSMC28nm 1P8M Powerplan設計規劃問題

在這里插入圖片描述

Q7: 星主,問一個有趣的事情,同一個db,同樣的命令,為啥nworst 1我這里報只有一個slack,同事那兒就變成三個了?

在這里插入圖片描述

你們當前active的analysis view數量不一致哦,這個還是非常明確的。不能view下slack是不太一樣的。

最后發現是有個同學在flow中將如下變量設置成true了,改成false就一模一樣了。

set_global timing_report_group_based_mode true

Q8:星主,想問一下,設計存在mem2cgate的path,invs有啥命令讓icg靠近mem擺放嗎,或者這類path如何優化timing呢?

一般memory相關的ICG我們都是建議手工擺放好位置,fixed住。優化到ICG enable的timing path,我們主要有以下幾種方法。

1)placement階段設置更大的clock gating check

2)使用early clock flow,在placement階段提前看到ICG和寄存器memory之間的天然skew

3)綜合階段和PR階段控制fanout(可以改善timing)

  1. power aware的clock gating cell placement

在這里插入圖片描述

甚至我們如果想精細化調timing和clock tree,我們還需要manual place這些ICG clock gating cell和相應的寄存器。

Q9: 星主,請教個問題,harden做lvs check結果如下圖,extract open是我給harden打的text,分別為m5的VDDI,m7的VDD,我去掉text我lvs會fail,不去掉的話我這兒顯示open,在top(hell)上也能顯示出來open,所以我這兒的open究竟算不算真錯?另外我給top出gds前還需要打text嗎?

Calibre LVS gds抽取警告問題

模塊內部M5沒有連成一個整體導致的。頂層在模塊蓋上高層的pg后就沒問題了。你給top出gds不需要打text的,因為你出模塊lef給頂層了,頂層可以看得到你模塊內部高層PG的。

Calibre GDS抽取報告解讀

Q10: Calibre插dummy后對時序和IR Drop的影響?

Calibre dummy insertion對timing的影響

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

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

相關文章

給bmp和png,設置BLENDFUNCTION的AlphaFormat不同參數的效果

BLENDFUNCTION是AlphaBlend用控制透明效果的重要參數。 選擇一個32位的png圖片,設置AlphaFormat 為 AC_SRC_ALPHA,效果如上圖。 選擇一個32位的png圖片,設置AlphaFormat 為 0,效果如上圖。 選擇一個24位的bmp圖片,設置…

ChildLife“童年時光杯”足球聯賽啟動 共促青少年健康成長

2024年12月21日至22日,由美國知名嬰幼兒營養品牌ChildLife童年時光贊助的“童年時光杯”青少年足球聯賽將在上海拉開帷幕。本次賽事U7/U8組別共有16支足球隊參賽,包括上海幸運星足球俱樂部旗下的明星球隊,以及其他青少年俱樂部的優秀隊伍&…

面向對象的基本原則【學習、記錄】

1、單一職責原則定義 一個對象應該只包含單一的職責,并且該職責被完整地封裝在一個類中。就一個類而言,應該僅有一個引起它變化的原因。 2、開閉原則定義 一個軟件實體應當對擴展開放,對修改關閉。 3、里氏代換原則定義 如果對每一個類型為S的…

什么是根服務器?有什么作用?

你知道什么是根服務器嗎?在互聯網的龐大架構中,根服務器很多人對它的了解并不深入。那么,根服務器到底是什么,它有什么作用呢? 什么是根服務器? 根服務器是互聯網域名系統(DNS)的一部分,負責管理和維護最頂層的域名信息。簡單…

MTK--mt7921 usb wifi debug

文章目錄 1、代碼編譯2、配置文件修改3、Wifi設置命令4、Wifi debug 淘寶隨便買個7921的usb wifi。 1、代碼編譯 export TEMPLATECONF${PWD}/meta/meta-mediatek-mt8518/conf/base/aud8518sp2-slc-32b-7921-c4a-user source meta/poky/oe-init-build-env bitbake mtk-image-au…

日志層次結構及logger.propagate的作用

一、Python logging 模塊的層次結構 Python 的 logging 模塊提供了一個靈活的日志系統,適用于各種規模的應用程序。其核心設計基于層次化的命名系統,使得日志記錄可以按照組織結構進行管理和配置。 1. Logger(日志器) 定義&…

如何配置OSB連接數據連接/讀取超時

1.Oracle DB OSB中的DBAdapter的查詢超時參數配置沒用,要解決接口超時問題,需要在console中的數據源配置超時參數: oracle.net.CONNECT_TIMEOUT30000 oracle.net.READ_TIMEOUT30000 添加圖片注釋,不超過 140 字(可選…

一起學Git【第六節:查看版本差異】

git diff是 Git 版本控制系統中用于展示差異的強大工具。他可以用于查看文件在工作區、暫存區和版本庫之間的差異、任意兩個指定版本之間的差異和兩個分支之間的差異等,接下來進行詳細的介紹。 1.顯示工作區與暫存區之間的差異 # 顯示工作區和暫存區之間的差異,后面不加參數…

Python數據處理——re庫與pydantic的使用總結與實戰,處理采集到的思科ASA防火墻設備信息

目錄 Python正則表達式re庫的基本用法 引入re庫 各函數功能 總結 使用方法舉例 正則表達式語法與書寫方式 正則表達式的常用操作符 思科ASA防火墻數據 數據1 數據2 書寫正則表達式 Python中pydantic的使用 導入基礎數據模板 根據數據采集目標定義Pydantic數據類型…

Yolo11改進策略:Head改進|DynamicHead,利用注意力機制統一目標檢測頭部|即插即用

摘要 論文介紹 本文介紹了一種名為DynamicHead的模塊,該模塊旨在通過注意力機制統一目標檢測頭部,以提升目標檢測的性能。論文詳細闡述了DynamicHead的工作原理,并通過實驗證明了其在COCO基準測試上的有效性和效率。 創新點 DynamicHead模塊的創新之處在于它首次嘗試在一…

`we_chat_union_id IS NOT NULL` 和 `we_chat_union_id != ‘‘` 這兩個條件之間的區別

文章目錄 1、什么是空字符串?2、兩個引號之間加上空格 好的,我們來詳細解釋一下 we_chat_union_id IS NOT NULL 和 we_chat_union_id ! 這兩個條件之間的區別,以及它們在 SQL 查詢中的作用: 1. we_chat_union_id IS NOT NULL 含…

如何利用AWS監聽存儲桶并上傳到tg bot

業務描述: 需要監聽aws的存儲中的最新消息,發送新的消息推送到指定tg的頻道。 主要流程: 1.上傳消息到s3存儲桶(不做具體描述) 2.通過aws的lambda監聽s3存儲桶的最新消息(txt文件) 3.將txt文件…

HarmonyOS NEXT 實戰之元服務:靜態案例效果---查看國內航班服務

背景: 前幾篇學習了元服務,后面幾期就讓我們開發簡單的元服務吧,里面豐富的內容大家自己加,本期案例 僅供參考 先上本期效果圖 ,里面圖片自行替換 效果圖1完整代碼案例如下: Index代碼 import { authen…

Windows11家庭版啟動Hyper-V

Hyper-V 是微軟的硬件虛擬化產品,允許在 Windows 上以虛擬機形式運行多個操作系統。每個虛擬機都在虛擬硬件上運行,可以創建虛擬硬盤驅動器、虛擬交換機等虛擬設備。使用虛擬化可以運行需要較舊版本的 Windows 或非 Windows 操作系統的軟件,以…

為什么深度學習和神經網絡要使用 GPU?

為什么深度學習和神經網絡要使用 GPU? 本篇文章的目標是幫助初學者了解 CUDA 是什么,以及它如何與 PyTorch 配合使用,更重要的是,我們為何在神經網絡編程中使用 GPU。 圖形處理單元 (GPU) 要了解 CUDA,我們需要對圖…

每天五分鐘機器學習:核函數

本文重點 在學習支持向量機算法之前,我們要繼續學習一些數學基礎,本文我們將學習核函數的概念。當數據線性不可分的時候,此時就需要核函數出場了,它可以將低維不可分的數據映射到高維可分數據,此時就可以完成數據分類了。 核函數的定義 核函數K(x, y)定義為兩個數據點x…

MaaS(Model as a Service)

1.MasS是什么? Model as a Service(MaaS)是一種云計算服務模式,它允許用戶通過互聯網訪問和使用機器學習模型,而不需要自行構建和維護這些模型。MaaS提供了模型的托管、管理和監控,使用戶能夠專注于應用程…

圖像處理-Ch7-快速小波變換和小波包

個人博客!無廣告觀看,因為這節內容太多了,有點放不下,分了三節 文章目錄 快速小波變換(The Fast Wavelet Transform)與兩頻段子帶編譯碼系統的關系例:計算一維小波變換 一維快速小波反變換例:計算一維小波…

KAFKA 權威指南筆記(一)究竟應該配置多少個BROKER?

一個KAFKA集群需要多少個BROKER? 一個單獨的Kafka服務器被叫做BROKER,BROKER可以處理數千個分區以及每秒百萬級別的消息量。由BROKER組成了“集群”(其中由集群控制器角色的BROKER是從成員中選舉出來的,負責控制管理工作&#xf…

【ES6復習筆記】函數參數的默認值(6)

在ES6中,函數參數默認值是一個非常有用的特性,它允許你在定義函數時為參數指定一個默認值。如果在調用函數時沒有提供相應的參數值,那么函數將使用默認值。 1. 形參初始值 具有默認值的參數,一般位置要靠后。這是一個潛規則&…