色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

大家需要什么樣的clocktree呢?芯片的動脈CLOCK TREE介紹

冬至子 ? 來源:處芯積律 ? 作者:李博倫 ? 2023-07-21 15:42 ? 次閱讀

我覺得稱時鐘樹為芯片的大動脈一點也不夸張,因為所有flipflop 翻轉都要受到它的控制。而時鐘樹的設計到實現(xiàn)是一個很復雜的過程,從流程上說,它牽扯到使用的工具,流程,flow等。從人的角度講,它需要設計,綜合,dft ,pr, sta 工程師的通力合作。從知識上講它需要一定的芯片架構設計知識,一定的綜合,STA 知識,一定的dft知識,包括一定的pr 長clock tree的知識。我這里結合我的個人有限知識,結合實踐經(jīng)歷以及理解對這些問題做多方面的闡述,難免有缺漏,也是為了拋磚引玉,歡迎同仁討論。集思廣益。

本文所涉及的工具綜合DC, 時序分析PT, 物理實現(xiàn)工具innovus.

大家需要什么樣的clocktree呢?

設計 :我要更少的PLL, (更多的PLL 帶來配值的麻煩,能用各種分頻產(chǎn)生的頻率。盡量用分頻電路產(chǎn)生,能不多加PLL就不要多加。)我要沒有毛刺,PLL jitter抖動更?。ㄔO計上沒有毛刺需要電路結構上的改變 如glitch free mux , PLL jitter需要電路上更給力的模擬單元。)。我要更低的功耗 (設計通過powerpro 添加更多的ICG 上去,ICG的效率提上去。盡量不要有組合邏輯clock gating檢查。)

DFT: 我要配值更少的PLL (盡量相同頻率的邏輯用一個PLL 去拉通,更多的PLL 需要更多的tdr 配值增加面積還帶來不確定性)。我要更少的occ (相同頻率的fanout 盡量墊一個occ, 更少的occ ,更少的面積,處理起來也更簡便)

SYN&PR : 我要更精準的SDC ( 更精準的SDC 去除更多的假path, 在PR SI 分析上也能過濾掉不該分析的部分,還能指導clocktree的生長 )。我要更好的useful skew (需要flow,分析,try run和調整,來達到不平的clock tree 與setup hold 之間微妙的平衡)。我要更長的common path ,更短的clock tree (長的common path 更短的clocktree, 可能需要設計clock tree結構調整, sdc 的調整,ccopt spec 調整, place 調整等等)。

我要PLL 的REF CLOCK 走更短的距離 (PLL ref clock 需要高的時鐘質量。提前有好的規(guī)劃,不要插多余的cell到ref clock 路徑上,pr floorplan 的迭代 控制PLL 與ref clock 的距離, 綜合過程不要給這種net上加東西。)。我要更小的SI (pr clock tree 布線上更好的布線層規(guī)劃,良好的shielding )。我要tree更好的平衡 (該balance的地方balance,不該balance的地方不要相互拖拽,需要良好的ccopt_spec, sdc ,以及setting配合。)

等等,還有很多,所有的需求都需要相互trade off 來達到一個平衡。

我以圖片舉例來挑其中一些問題針對的談談。

能不要多點長tree平衡,盡量不要多點長tree,除非迫不得已。如圖從物理實現(xiàn)角度說 綠色是一個block ,A 和B 兩個clock 從port進來需要相互balance。這種結構block的PR工程師好不容易把A 和B 調的tree平衡。但是到了頂層,頂層pr工程師還需要保證紅色的到A &B兩個hier pin的tree路線是平衡的。對時序收斂是不友好的。

image.png

設計牽扯到從block穿clock出來到頂層的結構那么紅色的這路去頂層的clock路徑不要帶多余的邏輯,如果有多余的邏輯分配到A 那部分去, 因為綠色的地方dft要加occ, 而occ一般是不級聯(lián)的。

image.png

設計中驅動兩個hinst如果是同頻的能用一個occ (紅色) 就盡量不要用兩個(綠色)。造成面積浪費不說,且如果A和B再有timing talk 會導致非 common path 變長。

image.png

分頻模塊在功能模式下的分頻系數(shù)頻率與dft 模式下的分頻系數(shù)盡量一致。當功能模式時候toggle fun_reset 就能讓div模塊配置到需要的系數(shù)上。當dft模式下toggle dft cgu reset 也能讓div模塊配置到相同的系數(shù)上。否則需要dft通過tdr或者其它連線來配值自己想要的參數(shù),增加多余邏輯。不過具體情況具體分析。沒有通解。

image.png

STA 工程師盡量通過良好的使用 set_clock_group -physically_exclusive -logically_exclusive -asyncronus / set_clock_exclusivity 等命令去過濾掉C 位置不應該A B共存導致的SI 分析。

image.png

多種mode sdc 能merge的盡量merge ,不能merge再具體問題具體分析。多個mode sdc會產(chǎn)生更多需要分析的constraint mode 產(chǎn)生更多scenario 耗費更多時間。舉個例子類似我遇到的這種結構的clock 就是相對不那么好做的 A B C三個mux會從ip上去選clock。而且A B C之間相互還需要balance, 那么就是2 *2 *2 = 8 種可能性。關鍵是這8種可能性在真實情況下可能只有5種是真實會產(chǎn)生的。

你如果只通過create_clock create_generated_clock set_clock_group set_false_path 方式來做,那么就會產(chǎn)生過約,因為會額外約束多余那3種可能性,如果我通過給mux sel set_case_analysis 來case的話那么就會產(chǎn)生更多的sdc mode, 更多的view.事實上當時這種類似mode有好幾十種情況。

image.png

合理的使用set_clock_sense set_sense.應用場景有時會有個A clock 高頻clock和B clock 低頻clock 經(jīng)過mux去驅動后面的A INST 與B INST, 真實情況是可能B clock 只會打到A INST 模塊進行搬運數(shù)據(jù), 比如芯片boot階段。它不會去B INST 那么一定要用set_sense 去把B clock在B INST 前面停掉,這有利于timing分析也有利于PR 進行長clock tree。默認情況下innovus create ccopt spec 會轉換 set_sense /set_clock_sense 為 set_ccopt_property -sink_type igore [get_pin xxx] 這樣對于B clock 來說B INST 里面的sink點就不會被balance 。去掉不該balance的 sink點自然tree就會更好。

image.png

合理利用useful skew ECF/ccd 真實的設計中clock是不可能長的完全平的。那么可以通過useful skew 來達到data clock setup&hold 微妙的平衡。

通過分析DC 的timing報告人為通過set_clock_latency -clock xxx [get_pins xxxx]去調整clock tree 長度,讓DC按照不平的clock tree 長度進行優(yōu)化。進入INNOVUS的時候 INNOVUS create_ccopt_spec 會轉換set_clock_latency 命令為

set_ccopt_property -insertion_delay xxx [get_pins xxxx] 來調整clock tree長度,達到更好的平衡。

或者在DC 中開啟ccd , 通過write_scripts 寫出工具根據(jù)組合邏輯和你的設置推出來的tree長度腳本set_clock_latency -offset , 通過腳本轉換set_clock_latency -offset 為標準set_clock_latency -clock xxx [get_pins xxx] SDC ,進入INNOVUS 優(yōu)化。

或者INNOVUS 刪除set_clock_latency 開啟Cadence 自己的useful skew ECF 來自動進行不平clock tree優(yōu)化。

至于結果,不好說,不同設計反映不一,推的過多會導致hold難修。當然Synopsys會推薦DC 可以開hold corner 然后來估計hold的影響,讓推的不要太兇。

針對這種結構一個M clock驅動兩坨邏輯紅色和上面黑色。

通常做法是整一個M 整一個GCLK G1 GCLK G2 然后設置clock_group 來解決。

不要嘗試直接在G2 位置create一個master clk, 然后設置clock_group

這種會導致G2 前面的source latency 丟失,導致無法分析前面路徑的延時SI 等影響,也不能用來signoff

image.png

但是這種類型的SDC 用來INNOVUS ccopt 來長clock tree是極好的。尤其是當你不怎么熟悉innovus的ccopt spec ,但是你又很熟悉sdc和clock結構的時候。

innovus默認create的spec就不會balance 紅色和藍色因為你的G2 地方的create的是一個master_clock

當然別忘了update_constraint update回來,更別忘了手動call update_io_latency/set_propagate_clock 來propagated clock 否則你長完tree你的clock還是ideal的。

最后強調一點,默認innovus create ccopt spec 是不識別sdc里面的 clock_group , false_path 的,它只根據(jù)你的clock 物理連接結構走。 當然有setting可以讓create ccopt spec去識別 clock_group 和false_path ,但是只是大家都不這么做而已。具體原因可能是工具不完善吧,也有可能是這樣創(chuàng)建的spec 文件太大,或者太多的這種ccopt的設置會導致不期望的結果之類的。

著重注意IP 位置的clock ,有的情況是一個ip是liberty ,internal pin會打數(shù)據(jù) D 出來同時這個internalpin又會打clock出來 IP 外面會有flipflop來接數(shù)據(jù),這種path由于launch clock 無法調整。導致timing不好收斂。

image.png

或者是這種IP 作為liberty internal pin會打clock出來給flipflop launch 然后再用這個internalpin到IP 邊界上去check。這種由于capture clock 沒法控制同樣不好收斂。

image.png

針對這種情況及時syn pr, 聯(lián)系vendor 與設計, 確認路徑的正確。設計能retime flipflop 多次打拍就提前做。方便timing收斂。

PR 盡量和dft以及sdc owner多溝通。了解dft test_clock sdc里面是怎么下的。通常情況test_clock 會通過不同的occ去trigger 幾乎所有的flipflop 。一般情況下dft 穿chain是分clock domain 穿的。也就是各個occ是相互不check的。當你的pr sdc為了簡便下的比較粗的情況比如一個create 一個test_clock 完事,沒有在各個occ上做test_clock的分開處理。那么建議在ccopt spec里面把test_clock skew group 設置成none不要讓它去balance。否則它會退拽整個設計的tree。

image.png

設計時鐘樹時候盡量不要讓block 的clock 穿兩個port到頂層再去trigger 兩個flipflop相互拍數(shù)據(jù)。這樣會導致clock branch point 在block內(nèi)部,導致cppr過小timing不好收斂。

image.png

這對這個問題其實還有變形,原理其實都是控制clock tree 的branch point 來控制cppr來優(yōu)化timing

如圖A block 產(chǎn)生clock 到B block 拍數(shù)據(jù)給C block 左邊連接是不是branch point 在A block內(nèi)部這樣cppr 就小。

如果改成右邊的結構 branch point 就在B block cppr 就會變大。當然要注意這時候可能capture path就會過長也許對hold不利。所以要做trade off。本質點在于移動clock branck point.

image.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    113

    文章

    16580

    瀏覽量

    180463
  • 分頻器
    +關注

    關注

    43

    文章

    448

    瀏覽量

    50270
  • SDC
    SDC
    +關注

    關注

    0

    文章

    49

    瀏覽量

    15659
  • DFT算法
    +關注

    關注

    0

    文章

    27

    瀏覽量

    7616
  • PLL電路
    +關注

    關注

    0

    文章

    92

    瀏覽量

    6547
收藏 人收藏

    評論

    相關推薦

    要獲得FFFH和000H輸出,需要什么樣的差分輸入電壓?

    要獲得 FFFH 和 000H 輸出,需要什么樣的差分輸入電壓? 0V(差分)輸入的輸出是什么?
    發(fā)表于 02-17 06:59

    AD16需要什么樣的電腦配置?

    AD16需要什么樣的電腦配置,我的電腦AD10使用很流暢,新裝的AD16卻很卡。
    發(fā)表于 10-09 11:21

    請問CUBEmx需要什么樣的電腦配置才能運行流暢

    ,CPU是i5-4570,內(nèi)存8G依然還是反應很慢。編譯一遍也得將近1分鐘。雖然比筆記本好不少但還是不行。問問大家需要什么樣的CPU才能運行比較流暢?
    發(fā)表于 08-17 06:33

    編程93AA46AE需要什么樣的模塊

    我知道我需要一個PM3來編程93AA46AE,但我需要什么樣的模塊或其他工具? 以上來自于百度翻譯 以下為原文 I understand that I need a PM3 to program the 93AA46AE, but what module do I ne
    發(fā)表于 09-12 14:42

    請問中國需要什么樣的FPGA?

    歐美主流市場需要大尺寸、復雜而且昂貴的FPGA,那中國市場需要什么樣的FPGA
    發(fā)表于 08-02 08:06

    請問開發(fā)6936和69213需要什么樣的開發(fā)工具包?

    CYRF 6936和69213是兩種老芯片,我想知道,它們需要什么樣的開發(fā)套件。謝謝您!
    發(fā)表于 08-09 09:03

    請問一下需要什么樣的整流橋驅動這個電機?

    `問下大家需要什么樣的整流橋驅動這個電機,連一個整流橋就可以了嗎`
    發(fā)表于 08-12 14:37

    什么是Clock Tree

    同步博客地址:從STM32開始的RoboMaster生活:進階篇 V [Clock Tree]項目&教程倉庫:-STM32-RoboMaster-1.0 什么是Clock Tree?1
    發(fā)表于 08-11 08:41

    嵌入式行業(yè)需要什么樣的技術人才?

    點擊上方“大魚機器人”,選擇“置頂/星標公眾號”福利干貨,第一時間送達!嵌入式行業(yè)需要什么樣的技術人才?仔細觀察各種招聘的崗位要求吧,無非是兩方面。(1)通用要求比如什么學歷,多少年工作...
    發(fā)表于 11-08 06:29

    嵌入式這個行業(yè)到底需要什么樣的技術人才

    話說嵌入式這個行業(yè)到底需要什么樣的技術人才?仔細觀察各種招聘的崗位要求吧,無非是1、通用要求:比如什么學歷,多少年工作經(jīng)驗,有創(chuàng)新精神,抗壓能力強,吃苦耐勞,善于溝通,態(tài)度認真等等等等…...
    發(fā)表于 11-08 08:14

    AI時代,我們到底需要什么樣的“大腦”

    AI時代,我們到底需要什么樣的“大腦”當然想要搭建這種深入垂直需求的AI大腦也并非易事,垂直性和功能型越強,越考驗著企業(yè)的技術實力和產(chǎn)品化能力??蛇@恰好也是AI大腦如今最需要樹立的門檻,AI大腦不應該是被隨意套用的概念,而是真正能在技術產(chǎn)業(yè)化過程中發(fā)揮指導作用的指揮官。
    發(fā)表于 07-02 09:13 ?555次閱讀

    智能制造生產(chǎn)模式需要什么樣的自動控制系統(tǒng)

    智能制造的生產(chǎn)模式需要什么樣的自動控制系統(tǒng)?這種控制系統(tǒng)與工業(yè)3.0中的自動化技術有什么區(qū)別?在智能制造中,自動控制技術要做什么樣的演變才能滿足智能制造生產(chǎn)模式的要求?這些都是菲尼克斯電氣開發(fā)PLCnext,以及對PLC系統(tǒng)進行變革和優(yōu)化的初衷。
    發(fā)表于 10-13 15:52 ?2165次閱讀

    嵌入式開發(fā)培訓好學嗎?零基礎嵌入式學習需要什么樣的基礎

    嵌入式作為近些年來最受歡迎的一個軟件編程語言,學習的朋友也是越來越多,那么就有朋友問了嵌入式學習需要什么樣的基礎,今天我們也就圍繞這個話題來給大家分析一下。隨著智能硬件的火熱,嵌入式開發(fā)逐漸
    發(fā)表于 11-03 09:36 ?15次下載
    嵌入式開發(fā)培訓好學嗎?零基礎嵌入式學習<b class='flag-5'>需要什么樣</b>的基礎<b class='flag-5'>呢</b>

    智能汽車CAN FD總線需要什么樣的降噪對策?

    智能汽車CAN FD總線需要什么樣的降噪對策?
    的頭像 發(fā)表于 11-30 09:37 ?723次閱讀
    智能汽車CAN FD總線<b class='flag-5'>需要什么樣</b>的降噪對策?

    AI智能眼鏡都需要什么芯片

    國內(nèi)的廠家又該如何跟上這一潮流趨勢?那咱們國內(nèi)廠商的AI智能眼鏡究竟需要什么樣芯片來支撐它的運行?如果你對以上問題感興趣的話就來聽我嘮嘮吧。接下來介紹設計AI智
    的頭像 發(fā)表于 07-11 08:17 ?1928次閱讀
    AI智能眼鏡都<b class='flag-5'>需要什么</b><b class='flag-5'>芯片</b>
    主站蜘蛛池模板: 朝鲜美女bbwbbw撒尿 | 青柠在线观看视频在线 | 92看看福利午夜影院 | 精品久久久亚洲精品中文字幕 | 美女被触手注入精子强制受孕漫画 | 午夜AV国产欧美亚洲高清在线 | 寂寞夜晚视频在线观看 | 三级黄色网 | 99视频这里只有精品国产 | 国产AV天堂一区二区三区 | 久久亚洲午夜牛牛影视 | 亚洲国产高清福利视频 | 三八成人网| 亚洲在线中文无码首页 | 大地影院免费观看视频 | 最近免费中文字幕大全免费 | 蜜柚视频网在线观看免费 | 男人的天堂色偷偷 | 无限资源好看片2019免费观看 | 一区二一二 | 一受n攻高h全肉np | 嫩草伊人久久精品少妇AV网站 | 最近日本字幕免费高清 | 日韩高清在线亚洲专区 | 亚洲乱亚洲乱妇在线观看 | 久久精品中文騷妇女内射 | 免费观看高清黄页网址大全 | 久久精品热99看 | 亚洲精品在线免费 | 99久久亚洲综合精品 | 国产AV视频一区二区蜜桃 | 小sao货水好多真紧h的视频 | 2019午夜福利757视频第12集 | 亚洲不卡视频在线 | 中国大陆一级毛片免费 | 亚洲va精品中文字幕 | 欧美日韩另类在线专区 | 视频一区在线免费观看 | 捆绑白丝粉色JK震动捧喷白浆 | 亚洲欧美中文字幕网站大全 | 美女扒开尿口直播 |