linux 程序仿真,Linux下Verilog仿真过程(一)

1》新建一个工作目录,以后相关的仿真文件都放在此目录下,如我的目录为:/home/xiaochuan/scr

2》编写模块文件(为了便于管理相关代码文件,可以将代码文件单独放在一个目录下,如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 )

begin

Sum = (A ^ B) ^ Cin;

T1 = A & Cin;

T2 = B & Cin;

T3 =A & B;

Cout =(T1 | T2) | T3;

end

endmodule

3》设计验证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));

initial

begin: ONLY_ONCE

reg [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);

end

end

endmodule

完成后,目录home/xiaochuan/scr/MyFirstVerilogProject下的文件结构如下:

0818b9ca8b590ca3270a3433284dd417.png

4》开始仿真

4.1》编写文件列表文件test_fa_filelist.txt,文件内容如下

/home/xiaochuan/scr/MyFirstVerilogProject/fa_seq.v

/home/xiaochuan/scr/MyFirstVerilogProject/top.v

4.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,此目录将用来保存仿真时生成的相关文件

完成此目录后,/home/xiaochuan/scr下的文件结构如下

0818b9ca8b590ca3270a3433284dd417.png

4.4》在目录work下,运行debug_test_fa.sh文件

执行情况如下:

0818b9ca8b590ca3270a3433284dd417.png

此时work目录下(之前为空目录)的文件结构如下:

0818b9ca8b590ca3270a3433284dd417.png

其中 simv文件就是生成的仿真文件

4.5》运行simv文件

0818b9ca8b590ca3270a3433284dd417.png

ps:蓝色框中即为仿真输出。

至此仿真基本结束。。。。



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值