版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、模塊電路提取Verilog模型的方法總結陳鋒2018-1-181. 在原理圖目錄,運行icfb。2. 選Tools -> Library Manager 3. 在Library找到要提取的庫(一般是項目名稱),這里選NV3030A1P_GRAM。在Cell里選要提取的頂層模塊,這里選GRAM。View里選schematic,并右擊選open4. 在打開的原理圖Virtioso Schematic菜單里,選Tools -> Simulation -> NC-Verilog5. 在設置窗口里,Run Directory手工填入提取Verilog網表的目錄名,比如xxx/GRAM_
2、run66. Top Level Design里,點Browser,選擇要提取的頂層,我們這里選擇與第3步相同的Library、Cell和View。如下圖,選好后點Close。7. 點左邊“跑步的人”來Initial Design。會看到“三個勾”(Generate Netlist)的圖標顯示出來了。8. 選Setup -> Netlist 9. 設置提取參數。我們需要修改“Netlist These Views”和“Stop Netlisting at Views”,如下圖設置。另外時間和精度也可以在此設置,默認是1ns/1ns,是全局的設置。我建議不要修改,在生成Verilog Ne
3、tlist后,手工修改一些特殊模塊來提高精度即可。設置好后,點Apply,OK。10. 點擊“三個勾”生成Verilog Netlist。稍等片刻后,第三個圖標“模塊圖”顯示出來,說明網表也生成好。11. 我們進入GRAM_run6目錄,并進入子目錄ihnl。會看到很cdsxx開頭的文件夾,再看cdsxx目錄里面有個netlist文件。用文本編輯器打開netlist,你就看到了提取出來的Verilog網表了。12. 我們在GRAM_run6目錄里,用如下的命令來合并各個模塊的Verilog網表。find會查找到所以的名叫“netlist”的文件,用cat顯示出這些文件的內容,再重定向到nv30
4、30_sram.v。13. 用以下命令檢查網表有無語法錯誤。verdi -2001 nologo nv3030_sram.v一般來說,我們網表提取到此結束。14. 但有時,我們還需要修改自動提取的網表。比如:a) 刪除共用的邏輯單元模塊,因為這些模塊很可能已經手動寫好verilog形為級模型。b) 修改部分模塊的精度,因為某些延時模塊希望精確到100ps。下面是一個用python寫的示例腳本。使用方法simplify_sram_netlist.py -i <inputfile> -o <outputfile>#!/home/verify8/chenf/eda/Pytho
5、n-3.6.2/pythonimport sysimport osimport reimport getopt#解析命令參數try: opts, args = getopt.getopt(sys.argv1:, "hi:o:", "ifile=", "ofile=")except getopt.GetoptError: print('simplify_sram_netlist.py -i <inputfile> -o <outputfile>') sys.exit(2)for opt, arg
6、in opts: if opt = '-h': print('simplify_sram_netlist.py -i <inputfile> -o <outputfile>') sys.exit() elif opt in ("-i", "-ifile"): ifileName = arg elif opt in ("-o", "-ofile"): ofileName = arg#讀入待修改的Verilog網表infile = open(ifileName,
7、'r')sfile = infile.read()infile.close()#此處指定要刪除的模塊名libMod = "nand2_lv", "delay3n", "nand3_lv", "ldecv4", "nor3_lv", "inv_lv", "delay5n", "delay500p", "nand4_lv", "tg_lv", "dff_rl", &
8、quot;bushold", "dff_fl", "mux2", "delay1n", "nor2_lv", "rwckt", "sramcell", "inoutbuf"sMod = #分離成單個moduleallmodule = re.findall(r'(module.*?endmodule)', sfile, re.S)if not allmodule: print("Can not find any modul
9、e!")else: for m in allmodule: searchModName = re.search(r'modules(w_+)s', m, re.S) mName = searchModName.group(1) if mName in libMod: #如果是指定要刪掉的模塊,則丟掉 continue else: if mName = "rwckts0": #處理時間單位和精度 strTimescale = "timescale 1ns/100psn" elif mName = "inoutbuf&qu
10、ot;: strTimescale = "timescale 1ns/10psn" else: strTimescale = "timescale 1ns/1nsn" #處理結束后,存入到sMode列表 sModmName = strTimescale + m + 'nn' #對處理完的模塊,按模塊名排序 sModKeys = list(sMod.keys() sModKeys.sort() #把結果寫到新文件 outfile = open(ofileName, 'w') for k in sModKeys: outfile.write(sModk) outfile.flush() outfile.close() 15. 注意:a) 如果模擬電路里有functional View,則需要檢查提取的對應模塊是網表和自己寫的verilog模型。b) 需要檢查Verilog網表里的晶體管級的模型,如nmos、pmos、cmos、tran等。并確認是否是必須的,如果不是請?zhí)鎿Q成形為級模型。因為晶體管級模型仿真會慢很多。c) 確認是否包含沒有邏輯功能的驅
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級數學(四則混合運算帶括號)計算題專項練習與答案匯編
- 2025年元旦假期安全教育(歡度假期安全為要)
- 河南省平頂山市汝州市2024-2025學年四年級上學期期中語文試卷
- 山西省呂梁市交城縣2024-2025學年八年級上學期期中考試地理試題(含答案)
- 湖北省鄂東南省級示范高中教育教學改革聯盟學校2024-2025學年高一上學期期中聯考語文試題(含答案)
- 2024秋期河南開放大學《婚姻家庭法學》一平臺無紙化考試(作業(yè)練習2)試題及答案
- 剛性醫(yī)用內窺鏡產業(yè)運行及前景預測報告
- 小冊子手冊產業(yè)規(guī)劃專項研究報告
- 兩輪機動車運輸行業(yè)相關項目經營管理報告
- 印刷的紙標簽產業(yè)深度調研及未來發(fā)展現狀趨勢
- 管道施工技術培訓
- 思辨與創(chuàng)新智慧樹知到期末考試答案章節(jié)答案2024年復旦大學
- 七年級上冊歷史知識點解析
- 【2022新版】ai《智慧辦公》解決方案課件
- 保險機構法人名單(截至2023年12月末)
- 全國職業(yè)規(guī)劃大賽成長賽道
- 湖南省長沙市長郡教育集團等校聯考2023-2024學年九年級下學期4月期中語文試題
- 2024年中考語文記敘文閱讀專講專練詞語理解
- 新高考教學質量考核方案
- 山西省太原市2023-2024學年五年級上學期期中數學試卷
- 4.1DNA是主要的遺傳物質課件高一下學期生物人教版必修2
評論
0/150
提交評論