日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 艾思后端實(shí)現(xiàn)

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

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

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

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

  1. 完成inst1的模塊代碼設(shè)計(jì)

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

  3. 完成inst2的模塊代碼設(shè)計(jì)

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

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

  6. 完成top-level的連線

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

  1. inst1

  2. inst2

  3. top-level

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

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

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

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

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

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

  1. HDL analysis 和 elaboration

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

  3. 運(yùn)行compile_ultra和DFT insertion

  4. 創(chuàng)建Block Abstraction view

  5. 生成DDC和網(wǎng)表

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

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

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

  1. design1.ddc 和 design1.v

  2. design2.ddc 和 design1.v

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

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

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

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

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

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

  5. 在保證link無誤的情況下,讀入designFC.sdc和designFC.upf,運(yùn)行compile_ultra和DFT insertion

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

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

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

    • 時(shí)序約束信息

    • UPF信息

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

    • 邊界時(shí)序信息

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

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

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

  • top-level的SDC包含了整個(gè)top-level和block-level的時(shí)序約束

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

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

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


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


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉