1. 程式人生 > >verdi載入vhdl和verilog混合RTL設計的方法

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完成載入。