中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何做physical aware synthesis及需要注意的點

發布時間:2021-12-20 11:16:58 來源:億速云 閱讀:655 作者:柒染 欄目:互聯網科技

這期內容當中小編將會給大家帶來有關如何做physical aware synthesis及需要注意的點,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

方法學上,感謝DEF 架起了前后端之間的橋梁,DEF 將 floorplan 的信息傳遞給綜合工具,使其可以在邏輯優化時考慮真實的『物理信息』,并根據DEF 的約束做placement 及global route , 依據global route的結果估算net delay,與此同時也做congestion 優化,完成所謂的 physical aware synthesis。

如何做physical aware synthesis及需要注意的點

工具端,C跟S都跳脫不出方法學,只是實現方式上有所差別而已,S家的physical synthesis 除了要設physical 相關的變量之外,大概還需要額外三個東西(此處完全憑不靠譜的記憶,如有謬誤請指正):1) dc_shell -topo; 2) create MilkWay DB; 3) compile_ultra -spg。本文將以C 家的Genus 為例來陳訴如何做physical aware synthesis。講工具的套路都是從輸入跟輸出說起,然后再一一展開,下圖是從Genus physical RAK上摳的圖(RAK是一系列簡單的lib,C家每個工具都有多個RAK, 在C家網站上可以下載到,強烈建議下載學習)。

如何做physical aware synthesis及需要注意的點

Genus physical 的輸入除了 lib/rtl/sdc 之外,還必須要有tech lef/ std cell lef/ macro cell lef; DEF; QRC tech file。

LEF: tech lef/std cell lef/ RAM lef 由foundry 提供,sub-block lef 由后端提供。

  • 用命令:set_attribute lef_library $lef_files 讀入,必須將tech lef 放在lef file list的首位;必須要讀全用到的所有cell 的lef,否則在log 中會看到警告:『由于某個cell 的物理信息不可用,所以該cell 被設成了不可用。』

  • Genus 從LEF 中讀入如下信息:

  • CAPACITANCE CPERSQ

  • EDGECAPACITANCE

  • RESISTANCE RPERSQ

  • SITE

  • WIDTH 

  • Coupling capacitance

  • Capacitanceper unit of area

  • Fringing capacitance

QRC: QRC由foundry 提供,是個加密文件。

  • 用命令:set_attribute qrc_table_file $qrc_files 讀入.

  • Genus 從QRC 中讀入如下信息:

  • PROCESS_VARIATION

  • BASIC_CAP_TABLE

  • width

  • Cc

  • Carea

  • Cfrg

DEF: floorplan 信息,由后端提供,后端大佬們說這是P&R 的靈魂所在,是基石是一切成功的基礎。

  • 在Innovus 用Defout -floorplan -NoStdCell寫出一個包含以下部分的DEF,此處有注釋。

如何做physical aware synthesis及需要注意的點

  • 在Genus 中用命令read_def 讀入DEF file. Genus在讀DEF 時會check DEF 的Quality 并會報出相關的warning, 讀完DEF 后會生成一個如下的summary 報告,請修正需要修正的Error 跟Warning。

如何做physical aware synthesis及需要注意的點

  • 讀完DEF 后用命令 check_floorplan 進一步check DEF 的quality, 并及時修正Error 跟 Warning。

如何做physical aware synthesis及需要注意的點

在輸入干凈了之后就可以命令工具開始做帶物理信息的邏輯優化了,Genus 采用的是early physical,即從最開始就帶著physical 信息做優化。Genus physical整個優化過程由syn_gen -physical, syn_map -physical, syn_opt -physical/ spatial 三步構成。建議在做完每一步優化后就寫一個db 出來,在debug 的時候可以根據需求讀入不同階段的db, 比如debug 前后端module placement 的 correlation, 可以讀入syn_gen 后的DB 起GUI highlight module place 跟Innovus 的module place 對比。

如何做physical aware synthesis及需要注意的點

Genus physical 有兩種flow, 兩個flow 的區別是:

  • syn_opt 所用option 不同,一種是:syn_opt -physical. 另一種是:syn_opt -saptial。

  • syn_opt -physical 會調用Innovus 來做placement 跟global route,結果是legalize 的,后端如果吃入Genus 寫出的netlist + DEF 則只需要run place_opt_design -incr 即可。

  • syn_opt -spatial 用Genus 內嵌的placement 引擎做placement 跟 global route,結果不是legalize 的,后端需要run full place_opt_design.

  • 兩個flow 的相關變量有差別,用戶可以根據自己的設計、工藝跟團隊構成選擇相應flow。

綜合完成后,需要check 綜合的quality,對于physical aware synthesis 除了PPA 還需要關注 overflow,此處說兩點:

  • 用report_timing -physical -gui 可以在layout 中highlight 出完整的timing path,是debug timing最基本的一招而且十分有效,可以看數據流、看走線,看bufferring. 

  • report congestion可以report 出overflow,打開congestion map 去看congestion 是由什么引起的,然后對癥下藥。如:跟macro 相關的congestion 需去找后端確認floorplan 是否需要調整;跟結構相關的congestion 是否在綜合時需要對這些結構設置map_to_mux, 以使其保持mux 結構而非替換成大量的OAI/ AOI; 如是cell堆積引起的congestion,找AE 確認是否有變量讓工具可以將congestion 嚴重區域的cell 推散。

上述就是小編為大家分享的如何做physical aware synthesis及需要注意的點了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临潭县| 铅山县| 博湖县| 出国| 茌平县| 汝南县| 罗源县| 嫩江县| 瑞安市| 交城县| 兰州市| 台湾省| 沙洋县| 天峻县| 萨迦县| 新疆| 东山县| 博客| 昔阳县| 永康市| 河池市| 武定县| 金昌市| 高阳县| 宜兴市| 德化县| 都昌县| 黄梅县| 德州市| 瑞昌市| 萝北县| 静海县| 平塘县| 嘉鱼县| 广灵县| 湘乡市| 望都县| 株洲市| 宁安市| 孝感市| 五大连池市|