(原創) 如何徹底刪除SOPC Builder所遺留下的code? (SOC) (SOPC Builder) (Nios II)
Abstract
初學者學習SOPC Builder時,會發現儘管我在SOPC Builder移除了某些ip,但project內仍殘留該ip的code,隨著時間日積月累,垃圾code越來越多,想刪除又怕誤刪了不該刪的code,該怎麼解決這個問題呢?
Introduction
Quartus II的project中檔案很多,已經為人所詬病,但最少每個module是自己寫的,該不該刪除自己很清楚,但加入Nios II與SOPC Builder後,檔案眾多的問題則更雪上加霜。當我們在SOPC Builder加入某ip後,SOPC Builder會在project根目錄下產生code,但是若我們從SOPC Builder移除某ip後,SOPC Builder並不會替我們從project根目錄將之前加入的code刪除,由於這些ip大都是Altera所提供,不是自己寫的,自己刪除又怕刪錯檔案,經過日積月累,垃圾code將越來越多...。
在此我分享一個project管理技巧,日後就能徹底刪除SOPC Builder所遺留下的code。
Solution
Step 1:
將project的根目錄另外開3個子目錄:hardware、software、ip
Nios II EDS預設就會自動建立software目錄,SOPC Builder預設也會自動讀取ip目錄下自己寫的ip,hardware目錄是我自己加上的,目的是為了放自己寫的Verilog module。
為什麼要這樣做呢?
由下圖可知,根目錄有以3種檔案:
1.深藍色為SOPC Builder所產生的code。
2.紫色為Quartus II project所需的檔案與top module。
3.咖啡色為SOPC Builder所需的檔案。
也就是說,SOPC Builder產生的code會放在project的根目錄,所以我們就將根目錄淨空讓給SOPC Builder,而將自己寫的Verilog module移到hardware目錄下,日後若要刪除SOPC Builder所產生的code,只要將Quartus II project與SOPC Builder以外的檔案(深藍色部分)全部刪除即可,然後重新讓SOPC Builder去Generate。
Step 2:
hardware目錄下放自己寫的Verilog module
若你是將友晶的範例加上Nios II,則可將原範例的code全部搬到hardware下。
Step 3:
software目錄放Nios II的C code
Conclusion
透過這個小技巧,以後就不用擔心SOPC Builder所產生的code殺不乾淨,而且軟體、硬體與ip的目錄分得清清楚楚,日後維護也方便。