前段時間看到網上有人在使用debussy軟件對Verilog代碼進行調試,而且都稱贊其是多么的好用,看着很是饞人,說吧,現在用的是quartus與modelsim的聯調,似乎還是可以的,但就是每次稍微改一下代碼,想要添加一些輸出信號的時候,又得改很多地方,而且仿真時間也越來越長,尤其是現在自己做的設計是越來越大,想着這個沒接觸過的debussy軟件究竟怎么個好法,能不能解決我的這些問題呢?不管怎樣,試一試就知道了,但每次安裝軟件的時候,就要破解啊什么的,找各種資料,很是麻煩,但是我的好奇心呢又迫使我硬着頭皮搞這個軟件,今天整整搞了一天,總算是,搞定了,debug的好日子就在后頭了哦。下面記錄一些中間的步驟。實現了不打開modelsim的GUI,使用批處理文件,執行之后,就可以出現debussy的界面了。
一、關於debussy軟件破解
用ultra edit 的hex模式將后面5個文件中的55 8B EC 81 EC 90 01 00 00 C7 45 FC 替換為33 C0 C3 81 EC 90 01 00 00 C7 45 FC,這五個文件是debussy.exe、nce2report.exe、nCompare.exe、netlistcom.exe、snslmgrd.exe測試過了,這種破解方法絕對可行。這五個.exe的路徑是在安裝盤的C:\Novas\Debussy\bin,打開進行替換即可。
二、更改配置:
1 安裝、和諧軟件。略。
2 拷貝文件..\Novas\Debussy\share\PLI\modelsim_pli\WINNT\novas.dll至文件夾..\modeltech_6.5\win32。
3 取消文件..\modeltech_6.5\modelsim.ini的只讀屬性后,打開。
找到 “; Veriuser = veriuser.sl”替換為“Veriuser = novas.dll”,(這里一定要注意前面的分號也要刪除掉,否則無法正確運行,在這里差點吃大虧)
保存;關閉;設為只讀。
配置完,以后就一勞永逸了。
三、然后是各個文件的安排,在一個主文件夾里,新建文件夾rtl,用來放置設計文件和testbench文件,與其並行放置的是rtl.f、run.bat、sim.do三個文件,可以參考下圖:
1、編寫欲仿真的文件和testbench放在rtl文件夾中,在寫testbench時,除遵守一般規則外,需要在其中另外添加如下代碼,用來產生debussy所需要的波形文件。
// dump fsdb file for debussy
initial begin
$fsdbDumpfile("wave.fsdb");
$fsdbDumpvars;
end
2、編寫HDL文件列表文件,供ModelSim和Debussy使用。
rtl.f如下:
rtl/cmd_control.v
rtl/cmd_control_test.v
rtl/cmd_gen.v
rtl/cmd_send.v
rtl/data_detect.v
rtl/data_process.v
rtl/miller2_dec.v
rtl/uart_tx.v
3、編寫ModelSim命令行腳本文件。
sim.do如下:
vlib work
vlog -f rtl.f
vsim work.cmd_control_tst
run 1000ms
quit
4、編寫批處理腳步文件,調用命令行ModelSim生成波形文件,再調用Debusyy查看。
run.bat如下:
::關閉回顯
@ECHO OFF
::設置軟件路徑
SET debussy=C:\Novas\Debussy\bin\Debussy.exe
SET vsim=D:\modeltech_6.5g\win32\vsim.exe
::ModelSim Command
%vsim% -c -do sim.do
::刪除ModelSim生成的相關文件
RD work /s /q
DEL transcript vsim.wlf /q
::Debussy Command
%bussy% -f rtl.f -ssf wave.fsdb -2001
::刪除波形文件
DEL wave.fsdb /q
::刪除Debussy生成的相關文件
RD Debussy.exeLog /s /q
DEL debussy.rc /q
::退出命令行
EXIT
5、雙擊運行run.bat
四、幾個注意的地方
bat文件在任何情況下都是通用的,除非不需要刪除一些文件時,可以更改下里面的程序;
source file的路徑rtl一定記得要加上;
.v文件的開頭都應該加上timescale;
rtl.f中文件的路徑,注意路徑用的是/,而不是\,實踐證明路徑是可以隨意更改的,保證路徑正確
sim.do文件中頂層文件的修改,即testbench,切忌這個文件后面不加.v,並且run 后面的時間不能為1s,報錯說是invalid time value
testbench文件即可直接拷貝.vt文件過去,但是有一點要注意,要添加debussy的那幾個函數,不然無法生成fsdb文件,而且要保存為.v文件
每個文件上都要加上'timescale的時間定義
至此,大功告成。
參考:http://www.cnblogs.com/yuphone/archive/2010/05/31/1747871.html