VCS是一款常見(jiàn)的Verilog編譯工具,它提供很多編譯選項(xiàng)來(lái)控制編譯過(guò)程及其輸出。本文主要介紹以下兩個(gè)編譯選項(xiàng):
-y
用于指定搜索路徑。例如,如果你將一個(gè)設(shè)計(jì)分為若干個(gè)不同的模塊或模塊庫(kù),并希望在編譯期間找到這些文件,就可以使用-y選項(xiàng)告訴編譯器應(yīng)該去哪里尋找它們。例如,如果你的模塊庫(kù)位于"/path/to/mylib",可以使用以下命令:
vcs -y /path/to/mylib mydesign.v編譯器在編譯mydesign時(shí)會(huì)在"/path/to/mylib"中查找任何需要的文件。
+libext+<.v>+<.svp>
用于指定庫(kù)擴(kuò)展名。默認(rèn)情況下,VCS會(huì)假設(shè)庫(kù)的擴(kuò)展名為".v"。但是,如果你的模塊庫(kù)使用了其他擴(kuò)展名(例如".sv"或".vh"),那么你需要通過(guò)此選項(xiàng)告訴編譯器使用正確的擴(kuò)展名。例如,如果你的模塊庫(kù)使用".svh"作為其擴(kuò)展名,則可以使用以下命令:
vcs +libext+.svh mydesign.v
這樣編譯器在編譯期間將所有包含庫(kù)引用的".svh"文件視為庫(kù)文件。
以上兩個(gè)選項(xiàng)經(jīng)常一起使用。例如,如果你有一個(gè)模塊庫(kù),其文件位于"/path/to/mylib",并且使用".sv"作為擴(kuò)展名,則可以將以下命令用于編譯:
vcs -y /path/to/mylib +libext+.sv mydesign.v
編譯器在編譯過(guò)程中會(huì)在"/path/to/mylib"中查找任何需要的文件,并將所有包含庫(kù)引用的".sv"文件視為庫(kù)文件。
此外,在使用這兩個(gè)選項(xiàng)時(shí)還可以結(jié)合使用其他選項(xiàng)來(lái)指定編譯器的行為。例如:
+incdir+
+define+選項(xiàng):用于定義預(yù)處理器宏??梢酝ㄟ^(guò)此選項(xiàng)為代碼中的條件編譯指令提供值。
+warn=noxxx選項(xiàng):用于禁用特定的警告信息。例如,"+warn=noDNF"將關(guān)閉關(guān)于DNF表達(dá)式的警告。
如下面的示例:
vcs -y /path/to/mylib +libext+.sv +incdir+/path/to/header +define+DEBUG +warn=nodnf mydesign.v
這將啟用以下行為:
編譯器將在"/path/to/mylib"中查找任何需要的文件,并將所有包含庫(kù)引用的".sv"文件視為庫(kù)文件。
編譯器將在"/path/to/header"中查找任何需要的頭文件。
編譯器將為代碼中的"DEBUG"宏設(shè)置值。
編譯器將關(guān)閉關(guān)于DNF表達(dá)式的警告。
最近使用VIP中遇到“cannot find cell in liblist”的編譯錯(cuò)誤,所以特別介紹以上的兩個(gè)選項(xiàng)。如果你在工作中也遇到類似問(wèn)題,可以先檢查一下這兩個(gè)選項(xiàng)是否指定正確。
全文完,感謝閱讀。
審核編輯:湯梓紅
-
模塊
+關(guān)注
關(guān)注
7文章
2626瀏覽量
47211 -
Verilog
+關(guān)注
關(guān)注
28文章
1335瀏覽量
109844 -
VCS
+關(guān)注
關(guān)注
0文章
78瀏覽量
9561 -
編譯器
+關(guān)注
關(guān)注
1文章
1607瀏覽量
48977
原文標(biāo)題:VCS編譯選項(xiàng):-y 及+libext+
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論