verdi載入vhdl和verilog混合RTL設計的方法
採用三步法完成混合語言RTL設計的載入。
step1. 用vhdlcom將所有的VHDL RTL程式碼編譯成庫
1.1 將所有的vhdl檔案放到vhdl.f檔案中,如:
vhdl.f
---------
my_design.vhd
my_lib.vhd
tb_my_design.vhd
1.2 編譯成庫
vhdlcom -f vhdl.f
編譯完成後,在執行路徑下可看到自動生成的一個庫資料夾work.lib++
注意:
a) 一般情況下vhdlcom命令不需要加其他引數。若出現vhdl版本問題,可考慮
增加-vhdl08等引數:vhdlcom -vhdl08 -f verilog.f
b) 編譯後的log為vhdlcomLog/compiler.log
c) -lib 引數可指定一個庫名。不指定,則預設庫命為work。所有的生成的庫
的庫名都是自由附加了".lib++"字尾。對於混合模擬vhdl和verilog的庫名要保持一致,
否則可能出現其中一個庫無法識別的問題(verdi版本為2015,可能後續版本解決了該問
題)。例:vhdlcom -lib mylib -f vhdl.f,生成mylib.lib++庫
step2. 用vericom將所有的verilog RTL程式碼編譯成庫
2.1 將所有的verilog檔案放到verilog.f檔案中,如:
verilog.f
---------
my_verilog_design.v
my_verilog_lib.v
tb_top_design.v
以上tb_top_design為頂層設計.
2.2 編譯成庫
vericom -f verilog.f
編譯完成後,可看到work.lib++庫中新增了my_verilog_design.tdc等庫。
注意:
a) 一般情況下vericom命令不需要加其他引數。若出現verilog版本問題,可考
慮增加-2001等引數:vericom -2001 -f verilog.f
b) 編譯後的log為vericomLog/compiler.log
c) -lib 引數可指定一個庫名。不指定,則預設庫命為work。所有的生成的庫
的庫名都是自由附加了".lib++"字尾。庫名與vhdl庫名要保持一致,否則可能出現其中
一個庫無法識別的問題(verdi版本為2015,可能後續版本解決了該問題)。例:
vericom -lib mylib -f verilog.f,新增的庫檔案被新增至mylib.lib++庫
step3. 用verdi載入已編譯的庫,並指定top design
3.1 用命令列直接載入
verdi -lib work -top tb_top_design &
3.2 GUI載入
verdi &
開啟verdi後:File -〉import design -〉From Library,然後在Library中選
擇work庫,再在右欄的Design unit中找到tb_top_design, 點選ok完成載入。