亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

PR中數據輸入的示例分析

發布時間:2022-01-15 13:44:01 來源:億速云 閱讀:163 作者:小新 欄目:互聯網科技

小編給大家分享一下PR中數據輸入的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!


在Innovus 中預定義了一坨init_XXX 的變量,用戶需要將對應輸入文件指定給對應的變量,然后執行init_design 工具就會將所有文件依次讀入,對于verilog netlist 老驢扒拉了幾個flow 關鍵的init 變量有:

  • init_design_settop , 這個變量默認值是1,意思是要求客戶指定當前設計的top 名字給變量init_top_cell; 如果將該變量設成0, 則讓工具自己識別top. 建議,用默認值,用戶自己指定top.
  • init_lef_file , 將tech-lef + other lefs 指定給這個變量,這里有個問題,如果某個lef file 在init_design 之前沒加上,要增量讀入該怎么 辦?在Innovus common ui 中用命令: read_physical -add_lefs XX 可以增量讀入lef.
  • init_mmmc_file, 指定viewDefinition.tcl, viewDefinition 中的library_set 指定了所有要用的library, rc_corner 指定了對應的QRC file, constraint_mode 指定了SDC 文件。

  • init_verilog, 指定網表文件。

  • init_pwr_net, 指定 global power nets.

  • init_gnd_net, 指定 global ground nets.

  • init_cpf_file, 如果是多電壓域設計,用于指定CPF 文件,如果power intent 是用1801 描述的,則不能用該變量指定1801 文件,需要用命令read_power_intent -1801 $1801_file 讀入,如果在viewDefinition 中用到了power domain 則應該在init_design 之前讀入,init_design 之后再執行 commit_power_intent. read_power_intent 這個命令的使用方式跟Genus 一致,在Genus 中多了一步apply_power_intent, 用于將設計跟power domain 綁定,commit_power_intent 用于插入low power cell. 

至此,所有輸入文件都指定完畢,執行init_design 就會將對應文件讀入,init_design 讀取文件的順序還沒看,按照邏輯猜測一下讀入順序:library -> tech-lef -> lef -> QRC -> cpf -> netlist -> SDC.    

PR中數據輸入的示例分析


除了上面那一坨指定輸入文件的init_XXX 變量之外,還有一坨用于控制輸入過程的init_OOO 變量:  
  • init_design_netlisttype , 用于指定netlist 的format 是verilog 還是OA, 老驢目前只學習verilog 部分,所有OA 相關的都忽略掉。
  • init_ignore_pgpin_polarity_check , 用于指定一個leaf cell pin name 的list, 告訴工具在globalNetConnect 或在CPF 中connect supply net 時忽略極性檢查. 這貨好像對1801 flow 沒用,正好這周一解了個相關的問題,當時遇到的問題是1801 flow, 在commit_power_intent 時工具報Error: IMPDB-1220 跟WARN: IMPDB-1278, 對于這種問題在Innovus 中先用命令 dbGet [dbGet top.nets.name PMD0_VDD -p].isPwr 來檢查工具將對應的supply net 認成了什么。在老驢遇到的case 中,是在1801 中用connect_supply_net 要將一個analog Ground 連到一個analog IP 上,但是在1801 中只定義了supply net 并沒有指定該net 用于Ground 所以工具將其認成了Power. 解的辦法是在1801 中為其create 一個supply set 并將其指定為ground.

PR中數據輸入的示例分析

  • init_verilog_tolerate_port_mismatch , 這個變量默認值是0, 不能容忍module 定義的port 比實例化時的port 少,如果將其設為1 工具在解析netlist 時如果發現module 的port 比實例化時的port 少,工具會在module 上創建一個port, 老驢以為這個變量在設計臟的時候特別有用。
  • init_lef_check_mask_shifts ,  用于檢查tech-lef 和MACRO sections 中 FIXEDMASK 跟LAYERMASKSHIFT 是否沖突,該變量默認值是off 就是不檢查,如果設為on 工具發現沖突會報錯并停掉,如果設為bypass 工具發現沖突只報錯不停止,其實老驢還不知道FIXEDMASK 跟LAYERMASKSHIFT 在不同工藝中有多重要,先放到這里,萬一以后發現重要呢,方便找。
  • init_import_mode , 用于指定setImportMode 的option, 如 set init_import_mode {-discardFloatingVNets true -keepEmptyModule true},此處留個問題:是不是默認innovus 會將empty module 刪掉?如果是,那綜合netlist 中有沒有empty module 應該都無所謂吧?如果是,為什么有的后端一定要求把empty module 刪掉?
  • init_design_uniquify , 控制innovus 解析netlist 時是否做uniquify, 既然innovus 要求netlist 是unique 的,那為毛不把該變量的默認值設為1?
 

以上是“PR中數據輸入的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

pr
AI

黑山县| 桐柏县| 镇安县| 盐边县| 鄂州市| 宁海县| 科尔| 绥宁县| 开原市| 合作市| 桂阳县| 沧源| 湘乡市| 嘉义县| 宣城市| 阿勒泰市| 乳山市| 红原县| 昌都县| 台南市| 莲花县| 莆田市| 淮滨县| 肇庆市| 汝城县| 永济市| 清河县| 崇礼县| 吴桥县| 正蓝旗| 墨脱县| 三江| 绵阳市| 新源县| 长沙市| 万荣县| 恭城| 东莞市| 莫力| 连城县| 新田县|