Linux下Verilog仿真过程(一)
1》新建一個工作目錄,以后相關(guān)的仿真文件都放在此目錄下,如我的目錄為:/home/xiaochuan/scr
2》編寫模塊文件(為了便于管理相關(guān)代碼文件,可以將代碼文件單獨放在一個目錄下,如home/xiaochuan/scr/MyFirstVerilogProject)。
以下是用always語句對1位全加器電路建模的示例,fa_seq.v代碼如下:
module fa_seq(A, B, Cin, Sum, Cout );input A,B,Cin;output Sum,Cout;reg Sum,Cout;reg T1,T2,T3;always @ (A or B or Cin ) beginSum = (A ^ B) ^ Cin;T1 = A & Cin;T2 = B & Cin;T3 =A & B;Cout =(T1 | T2) | T3;end endmodule3》設(shè)計驗證module? fa_seq , top.v代碼如下
module top(); reg PA, PB, PCi; wire PCo, PSum;//Testing module FA_Seq fa_seq F1(.A(PA), .B(PB), .Cin(PCi), .Sum(PSum), .Cout(PCo));initialbegin: ONLY_ONCEreg [3:0] Pal;for(Pal=0; Pal<8;Pal=Pal+1)begin{PA, PB, PCi}=Pal;#5 $display("PA, PB, PCi = %b%bb",PA,PB,PCi,":::PCo,Psum=%b%b",PCo,PSum);endend endmodule完成后,目錄home/xiaochuan/scr/MyFirstVerilogProject下的文件結(jié)構(gòu)如下:
4》開始仿真
4.1》編寫文件列表文件test_fa_filelist.txt,文件內(nèi)容如下
/home/xiaochuan/scr/MyFirstVerilogProject/fa_seq.v /home/xiaochuan/scr/MyFirstVerilogProject/top.v4.2》編寫腳本文件 debug_test_fa.sh
vcs -full64 -sverilog -timescale=1ns/1ns \ -Mupdate -debug_all +nospecify \ +incdir+/usr/synopsys/syn_vd_2010_03/dw/sim_ver \ -file ../test_fa_filelist.txt其中-file ../scr/encodecu_filelist.txt就是上一步所新建的那個文件,注意路徑!!
4.3》新建目錄work,此目錄將用來保存仿真時生成的相關(guān)文件
完成此目錄后,/home/xiaochuan/scr下的文件結(jié)構(gòu)如下
4.4》在目錄work下,運行debug_test_fa.sh文件
執(zhí)行情況如下:
此時work目錄下(之前為空目錄)的文件結(jié)構(gòu)如下:
其中 simv文件就是生成的仿真文件
4.5》運行simv文件
ps:藍(lán)色框中即為仿真輸出。
至此仿真基本結(jié)束。。。。
總結(jié)
以上是生活随笔為你收集整理的Linux下Verilog仿真过程(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 下gedit编辑器的使用
- 下一篇: Linux下Verilog仿真过程(二)