1. 程式人生 > >IC數字前端設計開發29 (vim verilog自動化工具)

IC數字前端設計開發29 (vim verilog自動化工具)

來自:http://bbs.eetop.cn/thread-335755-3-1.html

 

Python中,怎麼在字串裡嵌入雙引號或者單引號

兩種方法:

1、在雙引號前面加個轉義符 \ ,即反斜槓。如"Hello  \"W \"orld",會輸出  Hello "W"orld

2、用單引號引起整個字串,如'Hello "W"orld',同樣輸出  Hello "W"orld

     同理也可以在字串裡嵌入單引號,如"Hello 'W'orld",輸出 Hello 'W'orld
 

 

 

 

 

依論壇朋友需求,簡單講下指令碼的安裝和使用方法。寫得比較簡陋,請大家見諒哈,後面可能會更新,如果大家不清楚,可以回貼。



安裝方法:
將壓縮包解壓後,將其中.vim/plugin/automatic.vim 拷貝到你home目錄下相同目錄中(.vim/plugin/),同時也拷貝.vim/afterhome目錄下.vim/ after目錄下是一些圖示,預設是linux平臺下的圖示。

重新開啟gvim,會發現gvim會多幾個選單,其中就有一個verilog選單,點開後會有一系列子選單,其中就有Autoinst


-- 約束:verilog

檔名與模組名保持一致, 一個verilog檔案只定義一個模組。 
-- 如果大量依賴本指令碼的話,建議每個.v檔案用模板的方式產生(模組的新增Header可以自行修改,搜尋automatic.vim檔案AddHeader,請比照相同的語法格式自行根據情況修改),然後用ctags_gen *.v  *.v為所有工程用到的.v檔案,生成tags檔案,使用指令碼時,需要該tags檔案。
-- 因為指令碼是使用tags檔案來尋找檔案,所以需要這個東西,ctags_gen是用perl寫的一個簡單指令碼,用於尋找module name,注意只有module name後面帶有autoarg
,才會把它新增進來。


使用:
1. 自動模組例化功能
        a) 首先需要被例化模組和呼叫模組的.v檔案需要在同一個目錄,然後在呼叫模組.v檔案新增如下行:
              a u_a (autoinst);   // a 為模組名,  請將autoinst兩邊【】修改為多行註釋符,論壇不允許使用那個字元
             注:如果例化時必須要修改parameter,而導致模組名a與例項化名u_a(autoinst)不處在同一行,請在autoinst行新增輔助模組名a後再使用,使用完成後將模組名a再刪除,以簡化指令碼的設計複雜度。
        b) 滑鼠點中模組例項化行(autoinst關鍵字所在行),然後選擇選單Verilog -> AutoInst 即完成自動例化功能

2. 自動模組例化連線更新功能:   此功能用於提示當子模組有介面改變後,快速的知道有哪些模組被新增或者被刪除
        提示會用註釋的方式在模組port例化行的末尾加上,修改連線程式碼後,請自行刪除。
        // INST_NEW  表示當前行,為子模組新增加的訊號
        // INST_DEL   表示當前行,子模組已經將此訊號刪除,
       a)  滑鼠點中模組例項化行(autoinst關鍵字所在行),然後選擇選單 Verilog -> AutoInstUpdate,       AutoInstUpdateOrder 是將連線順序重新排布為子模組介面定義的順序,方便對應

3. 新增例化模組的埠方向
      a)   滑鼠點中模組例項化行(autoinst關鍵字所在行),然後選擇選單 Verilog -> AppendPortDirectionToInst

4. 自動定義wire / reg型別功能,
           此功能強烈依賴使用者良好的verilog編碼習慣,自己嘗試後請慎重選擇試用   選單Verilog -> AutoDef, 指令碼會在autodef(請用註釋符包起來)位置開始自動定義資料型別,當然不能識別所有的結構,未完全定義部分(會有提示,但測試中有遇到沒有完全提示的情況)請自行新增到autodef {{{   }}} 結構之外, 避免重新autodef時被指令碼刪除。

5. 其它功能可以嘗試摸索一下,應該是挺簡單的。

 

工具下載地址:

https://download.csdn.net/download/times_poem/10782178