国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IC項目,門級代碼的工藝庫移植

2019-11-06 06:22:45
字體:
來源:轉載
供稿:網友

應用背景笨方法最佳方法關于RAM單元的替換思路

應用背景

IC項目,要求工藝從90nm移植到45nm環境。但是有一些模塊,只有門級代碼描述,而非RTL代碼描述。

笨方法

針對門級代碼,替換單元名稱,替換單元的端口信號。

最佳方法

以DC綜合為例,利用綜合工具,實現門級代碼的工藝庫移植。 1. DC綜合,吃庫文件的時候,有link_librarytarget_library,分別對應源代碼轉換為DC綜合庫過程、以及DC綜合庫轉換為最終目標庫過程。 2. link_library吃90nm的標準單元庫; 3. target_library吃45nm的標準單元庫; 4. 由此實現應用要求。優勢是沒有人為改動,節省大量工作量。可以看做是完美移植,基本無需驗證。 5. 最終用LEC,即形式化驗證工具,比較90nm門級網表和45nm門級網表,達到完美驗證效果。這一步驟是必要的,因為即便RTL綜合,也需要做LEC,因為不能相信綜合過程沒有錯誤。 6. 如果有RAM單元,還需要RAM替換。這一步只能手動,因為RAM是不可綜合的。

關于RAM單元的替換思路

假設有100種(共計200個實例化單元)RAM單元,實際類型肯定只有1r/1r1w/1rw/2r2w等4~5種。 最普遍的做法是,100種RAM單元,建立100個module。 還有一種做法是,利用參數不同,和verilog generate用法;只需要4~5個module聲明。但是實例化部分就要修改200個實例化的名稱。

綜上所述,上述兩種做法,沒有太多區別。不過,個人仍然喜歡第二種做法,因為修改代碼量會少很多;這樣驗證關心的內容也相應減少了。

另外,做RAM替換這樣的行為,建議每一步驟,均使用shell或者perl腳本實現;這樣可以提供一種驗證軟思路,用于多次檢查代碼修改的質量。 還有一點,做這種大量替換行為,一定要做好代碼版本管理,利用svn或者git;git本地代碼版本管理,相對svn,更方便一些。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德昌县| 元阳县| 金门县| 兴海县| 太白县| 太白县| 桂阳县| 民勤县| 临洮县| 溧阳市| 盐山县| 灵武市| 高唐县| 山东省| 阜阳市| 五原县| 麦盖提县| 济阳县| 岫岩| 启东市| 峨眉山市| 敦煌市| 福安市| 孟津县| 麦盖提县| 贺州市| 永昌县| 和硕县| 洛川县| 关岭| 渝北区| 伊金霍洛旗| 惠水县| 许昌县| 运城市| 孟津县| 广饶县| 五莲县| 高碑店市| 宁南县| 大足县|