衡阳派盒市场营销有限公司

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

談?wù)勑酒械膶哟位脑O(shè)計(hierarchy design)

sanyue7758 ? 來源:艾思后端實現(xiàn) ? 2023-10-18 16:09 ? 次閱讀

層次化設(shè)計適當(dāng)下非常流行的設(shè)計思路,隨著芯片的規(guī)模越來越大,fullchip的數(shù)據(jù)量和復(fù)雜度和過去已經(jīng)不能同日而語了,無論是工具的runtime還是QoR,直接完成full-chip的工作越來越不現(xiàn)實。所以,在這里,就需要引入 層次化的設(shè)計(hierarchy design) 的概念,

從芯片的規(guī)劃開始,層次化的理念貫穿整個設(shè)計流程,下面的各個設(shè)計方面都會受到不同程度的影響

RTL
UPF
verification
DFT
Timing constraint
synthesis
EC
layout
STA
stream-out
layout verification
Power analysis

一個項目的開始,需要根據(jù)實際的需要確定層次,這主要是基于模塊功能規(guī)模,一起來看下面這個實例

wKgZomUvkseAKKElAADh8YzDQ7A180.jpg

wKgaomUvkviAGMxFAACjLVunxHA960.jpg

可以看出,從整個SOC的設(shè)計當(dāng)中,主要的partition分割是兩種,top和none-top。理論上講,所有的none-top,互相之間都沒有依賴關(guān)系(dependency),除非它本身也是一個小top,具體可見下面的示例:

1fda3a0e-6d8d-11ee-939d-92fbcf53809c.jpg

這里的top和sub-top_1就是所謂的hierarchy design,在一個芯片里邊,top通常只有一個,但是可能會有多個sub-top,甚至是sub-sub-top,這取決于芯片層次化的深度和芯片的復(fù)雜度。可以預(yù)見,層次化越多,單個partition的復(fù)雜度會降低,但是給top的partition劃分帶來了更多的工作量,譬如

UPF
SDC
physical partition boundary

還有一個影響就是dependency,所有的sub-top,都和top一樣,在后端實現(xiàn)的時候(synthesis/layout),任何的top的后端工作,都需要sub partition的支持,譬如上圖,要想開始sub-top1的synthesis,就必須先要完成 sub_par_1_1,sub_par_1_2,sub_par_1_3的綜合工作。

這就是runtime的瓶頸。實際項目中,為了減少這方面的影響,通常都會有一些變通的手段,來快速支持頂層設(shè)計,這個小技巧的具體細(xì)節(jié),也會在本系列文章里邊提及。

業(yè)界里邊還有一種更為前衛(wèi)的partition的設(shè)計,被稱為abut-partition的設(shè)計,簡單的講就是沒有top的概念,所有的partition都是完全貼合的,譬如下面這個floorplan的partition的框圖

1fe04d36-6d8d-11ee-939d-92fbcf53809c.png

這種架構(gòu)更為簡練,所有的設(shè)計全部都推到了partition,從物理實現(xiàn)上來講,top level已經(jīng)不包含任何的leaf cell,所有的存在就是一些連線關(guān)系、PG、terminal以及co-design routing了,這種極簡的abut設(shè)計有其優(yōu)越性,也有一些限制。

一個完整的層次化設(shè)計,在代碼設(shè)計階段,就應(yīng)該樹立層次化的理念。這里邊主要由以下幾個考量

簡化大規(guī)模設(shè)計的必經(jīng)之路
后端實現(xiàn)的真實需求
驗證和設(shè)計的一致性
相關(guān)配套、支持文件的參照點(SDC、UPF等等)

從架構(gòu)入手,合理分布RTL的層次結(jié)構(gòu),讓整個設(shè)計看起來張弛有道。這個思路體現(xiàn)如下

1fee0eee-6d8d-11ee-939d-92fbcf53809c.gif

前端設(shè)計人員按照下面的思路過程來設(shè)計代碼

完成inst1的模塊代碼設(shè)計

完成inst1的內(nèi)部連線

完成inst2的模塊代碼設(shè)計

完成inst2的內(nèi)部連線

完成top-level的模塊代碼設(shè)計

完成top-level的連線

可以看到,這里邊涉及了三個部分的設(shè)計

inst1

inst2

top-level

通常來講,合理的分配各個模塊可以加速full-chip的收斂。從上面的例子可以看出,top-level的東西比較簡單,只有一個控制邏輯和PAD,主要的功能都在子模塊里邊,這樣的好處是非常明顯的

子模塊的實際內(nèi)容多,但是總體規(guī)模不會很大,綜合和版圖的可控性會很好

相互關(guān)聯(lián)密切的功能IP封裝在一個模塊里,有利于時序收斂和后端工具優(yōu)化

top-level的主要用途就是穿線,以及中心控制和PAD等等,有利于整體功能布局的規(guī)劃,主要精力要放到interface的時序上,以及可繞通性。

每一個模塊都有一套自己獨立的文件結(jié)構(gòu),譬如inst1對應(yīng)的是design1,整個design1的文件架構(gòu)類似如下:

1ff7e996-6d8d-11ee-939d-92fbcf53809c.png

有了這些文件,design1的綜合就可以開始了。綜合的流程通常比較簡單,這里不做過多的討論,基本流程可以參見下面的列表

HDL analysis 和 elaboration

read_sdc和read_upf 以及一些基礎(chǔ)配置

運行compile_ultra和DFT insertion

創(chuàng)建Block Abstraction view

生成DDC和網(wǎng)表

重要的第四步時一定要執(zhí)行的,這里生成了后面層次化設(shè)計的重要信息

對應(yīng)的,這里也列一下inst2(design2)的文件目錄結(jié)構(gòu)

1ffedd00-6d8d-11ee-939d-92fbcf53809c.jpg

使用綜合器,分別可以得到下面的文件

design1.ddc 和 design1.v

design2.ddc 和 design1.v

基于不同的DCT/DCG環(huán)境,可以開始根植于如下目錄結(jié)構(gòu)的頂層綜合

20056d32-6d8d-11ee-939d-92fbcf53809c.png

頂層綜合的思路會有一些不同,具體流程如下

配置block implementation的狀態(tài)

讀入底層帶有Block Abstraction的DDC(不要讀入子模塊netlist,會導(dǎo)致非常多的困惑),工具回顯如下例

200b4cde-6d8d-11ee-939d-92fbcf53809c.png

HDL analysis 只分析top-level的verilog,譬如:top_ctrl_design.v、PAD_design.v 、designFC.v

elaboration的時候,一定要注意一下子模塊的鏈接狀態(tài),保證模塊信息都可以被正確掛載進來

在保證link無誤的情況下,讀入designFC.sdc和designFC.upf,運行compile_ultra和DFT insertion

生成DDC和網(wǎng)表,完成top-level的綜合

對應(yīng)的,在做層次化的設(shè)計的時候, 需要注意下面的事項:

調(diào)用底層模塊的時候,一定要使用帶有block Abstraction的DDC,DDC里邊包含了block的

時序約束信息

UPF信息

時鐘結(jié)構(gòu)信息

邊界時序信息

top-level的UPF只有頂層的low power需求

頂層的LS、ISOLATION的需求,如果被約束的cell在頂層

頂層和block的PG連接關(guān)系

top-level的SDC包含了整個top-level和block-level的時序約束

頂層的SDC一定要和block的SDC,在block級別呈現(xiàn)出高度的一致性,譬如純粹block 內(nèi)部的MCP、false path等等

如果時鐘的源頭在頂層,block級別的clock無需二次聲明,譬如下面示例

20118c66-6d8d-11ee-939d-92fbcf53809c.png

在design1/desing2綜合的時候,分別在各自的sdc里邊定義pclk,如果把視角放到頂層,那么畫風(fēng)是這樣的

201701b4-6d8d-11ee-939d-92fbcf53809c.png

可以看到,從toplevel來看的話,以前的design1/design2的pclk,其實都是從top-level的pll驅(qū)動的,在top-level構(gòu)建SDC的時候,只需要生命pll的clock就可以了(Pll_clk),剩下的就交給工具自動衍生。

寫到這里,相信讀者們對層次化設(shè)計流程有一個比較具體的了解了。





審核編輯:劉清

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

    關(guān)注

    11

    文章

    715

    瀏覽量

    65528
  • 芯片設(shè)計
    +關(guān)注

    關(guān)注

    15

    文章

    1028

    瀏覽量

    55008
  • SoC芯片
    +關(guān)注

    關(guān)注

    1

    文章

    617

    瀏覽量

    35040
  • PHY
    PHY
    +關(guān)注

    關(guān)注

    2

    文章

    305

    瀏覽量

    51864
  • SDC
    SDC
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    15581

原文標(biāo)題:芯片中的層次化的設(shè)計(hierarchy design)

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    使用層次式電路時,發(fā)現(xiàn)Descend Hierarchy是灰色的,不可選

    使用層次式電路時,發(fā)現(xiàn)Descend Hierarchy是灰色的,不可選,但是我的Implementation是設(shè)置過的,Descend Hierarchy還是灰色的,這是為什么啊?求高手解答
    發(fā)表于 11-15 17:00

    【AD問答 11】 怎么創(chuàng)建層次的原理圖形式

    本帖最后由 cooldog123pp 于 2020-3-30 14:27 編輯 隨著電路的日益復(fù)雜,電路的設(shè)計方法也是趨向層次結(jié)構(gòu)(Hierarchy)設(shè)計者可以先分別繪制及處理還每個子電路
    發(fā)表于 03-13 11:13

    層次式電路設(shè)計與平坦式電路設(shè)計的區(qū)別

    層次式電路設(shè)計(Hierarchical Design):通常是在設(shè)計比較復(fù)雜的電路和系統(tǒng)時采用的一種自上而下的電路設(shè)計方法,即首先在一張圖紙上設(shè)計電路總體框圖,然后再在另外層次圖紙上設(shè)計每個框圖
    發(fā)表于 08-20 09:54

    “按層次結(jié)構(gòu)使用”中的LUT數(shù)量不正確

    嗨,我正在使用“-detail”選項進行MAP,并在MAP結(jié)束時獲得“按層次結(jié)構(gòu)使用”報告。在本報告中,頂層模塊“ref_design_v5lxt250_x1”的LUT數(shù)量為24953!|模塊|分區(qū)
    發(fā)表于 10-09 15:29

    映射報告怎么按層次結(jié)構(gòu)使用

    。在“按層次結(jié)構(gòu)使用”一章中列出了一些功能塊,但并非全部。使用硬件的總和也與工作表頂部的摘要不同。 (例如,根據(jù)摘要,使用了8個乘數(shù),但我在詳細(xì)列表中找不到任何使用過的乘數(shù))。是否有選項顯示所有
    發(fā)表于 10-15 11:50

    包含層次結(jié)構(gòu)窗口完全空白

    您好,我使用MPLAB X IDE V4.15i已經(jīng)打開了一個具有相當(dāng)復(fù)雜層次的包含文件的項目。它沒有錯誤地構(gòu)建。當(dāng)我查看包含層次結(jié)構(gòu)窗口時,如幫助文件中所描述的,窗口打開,但它是完全空白的。這發(fā)生
    發(fā)表于 10-18 15:55

    FPGA編輯器中的塊層次結(jié)構(gòu)不正確

    親愛的大家我的設(shè)計有一個靜態(tài)部分和兩個部分可重配置模塊。在FPGA編輯器中,我找到了一個空置站點并在那里添加了一個組件,然后將該組件連接到部分模塊的網(wǎng)絡(luò),但是我收到了以下錯誤: - 塊層次結(jié)構(gòu)不正確
    發(fā)表于 11-09 11:36

    在Vivado 2015.2塊設(shè)計上打開子層次結(jié)構(gòu)彈出一個新的Block Design窗口

    假設(shè)我在Vivado 2015.2的Block Design中有三層設(shè)計。此塊設(shè)計看起來像Hierarchy_0(Hierarchy_1(Hierarchy_2))。當(dāng)我雙擊
    發(fā)表于 12-25 10:58

    層次結(jié)構(gòu)設(shè)計是否意味著將一個大模塊分成幾個子模塊?

    ;hierarchy design", which makes me a little confused. I have following questions;1. Does
    發(fā)表于 03-21 12:42

    Parametric_Hierarchy

    Parametric Hierarchy,好東西,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 02-18 16:34 ?0次下載

    層次設(shè)計方法講解

      層次設(shè)計是指在一個大型設(shè)計任務(wù)中,將目標(biāo)層分解,在各個層次上進行設(shè)計的方法。
    的頭像 發(fā)表于 11-19 07:08 ?5774次閱讀

    談?wù)?/b>汽車芯片安全(下篇)

    繼《談?wù)?/b>汽車芯片安全-上篇》之后,本文針對芯片安全存儲、FOTA、安全診斷、安全運行環(huán)境做了進一步闡述。1.安全存儲1.1 OTP存儲器一次性可編程存儲器(On Chip One Time
    發(fā)表于 12-09 15:06 ?13次下載
    <b class='flag-5'>談?wù)?/b>汽車<b class='flag-5'>芯片</b>安全(下篇)

    芯片中的CP測試是什么

    芯片中的CP一般指的是CP測試,也就是晶圓測試(Chip Probing)。
    的頭像 發(fā)表于 07-12 17:00 ?1.7w次閱讀
    <b class='flag-5'>芯片中</b>的CP測試是什么

    芯片設(shè)計復(fù)雜性處理之層次結(jié)構(gòu)概念分析

     考慮當(dāng)今使用的層次結(jié)構(gòu)形式的最簡單方法是要求工程師從概念上設(shè)計一個系統(tǒng)。他們可能會開始繪制一個包含大塊的框圖,其中包含 CPU、編碼器、顯示子系統(tǒng)等標(biāo)簽。這不是一個功能層次結(jié)構(gòu),盡管許多劃分的塊被認(rèn)為是提供功能的。這也不是純粹的結(jié)構(gòu)分解,因為在
    發(fā)表于 11-22 09:59 ?1306次閱讀
    <b class='flag-5'>芯片</b>設(shè)計復(fù)雜性處理之<b class='flag-5'>層次</b>結(jié)構(gòu)概念分析

    芯片中的存儲器有哪些

    芯片中的存儲器是芯片功能實現(xiàn)的重要組成部分,它們負(fù)責(zé)存儲和處理數(shù)據(jù)。根據(jù)功能、特性及應(yīng)用場景的不同,芯片中的存儲器可以分為多種類型。以下是對芯片中主要存儲器的詳細(xì)介紹。
    的頭像 發(fā)表于 07-29 16:55 ?1319次閱讀
    全讯网分析| 百家乐9点| 淘宝皇冠网店| 百家乐捡揽方法| 百家乐赌博机| 澳门百家乐娱乐城注册| 博彩现金网| 金公主百家乐现金网| 华宝娱乐城| 新加坡百家乐赌法| 太阳城百家乐官网下载网址| 月亮城百家乐的玩法技巧和规则| 百家乐官网赌博平台| 大发888游戏大厅下载| 百家乐官网全部规| 云鼎娱乐城怎么存钱| 百家乐官网法则| 戰神国际娱乐城| 百家乐长龙技巧| MG百家乐官网大转轮| 永利娱乐| 百家乐桌出租| 哪个百家乐官网投注平台信誉好 | 犹太人百家乐官网的玩法技巧和规则| 竞彩足球推荐| 百家乐押注最高是多少| 郑州百家乐官网高手| 棋牌室| 百家乐官网游戏筹码| 百家乐官网从哪而来| 大发888娱乐城娱乐城| 个体老板做生意的风水| 百家乐官网最全打法| 大发888娱乐大发体育| 永利百家乐游戏| E乐博百家乐官网现金网| 大发888官方下载168| 保单百家乐游戏机| 百家乐官网娱乐城地址| 娱乐城网站| 骰子百家乐的玩法技巧和规则|