Linux下Verilog仿真过程(一)

原创 2014年11月02日 15:35:33

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下的文件结构如下:

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下的文件结构如下


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

执行情况如下:

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

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

4.5》运行simv文件

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

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



Linux 下的verilog

  • 2009年11月10日 15:51
  • 1.06MB
  • 下载

makefile调用、编译、执行过程(verilog&cpp)

1、理解makefile是如何工作 见makfile中文手册 2.4节内容。 2、首先编写各种需赋值的变量 3、调用shell下命令方式: eg:UNAME = $(shelluname) ...
  • A670449625
  • A670449625
  • 2017年01月05日 11:03
  • 405

Linux下Verilog仿真过程(二)

上一篇
  • cxc19890214
  • cxc19890214
  • 2014年11月02日 17:02
  • 1403

使用开源软件进行Verilog HDL仿真-安装篇

本系列文章介绍使用开源软件Icarus Verilog和gtkwave进行HDL前端仿真。   一、软件简介  Icarus VerilogIcarus Verilog 是一款开源的verilog仿真...
  • yennar
  • yennar
  • 2009年08月02日 10:46
  • 3824

全平台轻量级 Verilog 编译器 & 仿真环境

一组轻量级且全平台 ( Linux+Windows+macOS ) 的 Verilog 编译仿真工具组: Icarus Verilog + gtkwave...
  • He11o_Liu
  • He11o_Liu
  • 2017年03月22日 21:38
  • 1789

Verilog HDL仿真激励的产生

一、变量初始化变量初始化的基本原则为:可综合代码中完成内部变量的初始化,Testbench中完成可综合代码所需的各类接口信号的初始化。初始化的方法有两种:一种是通过initial语句块初始化;另一种是...
  • formerman
  • formerman
  • 2009年09月13日 19:48
  • 11012

Verilog HDL常用的行为仿真描述语句(一)

一、循环语句1、forever语句forever语句必须写在initial模块中,主要用于产生周期性波形。2、利用for、while循环语句完成遍历for、while语句常用于完成遍历测试。当设计代码...
  • formerman
  • formerman
  • 2009年09月13日 14:40
  • 4277

Linux下Verilog仿真过程(一)

1》编写测试模块fa_seq.v
  • cxc19890214
  • cxc19890214
  • 2014年11月02日 15:35
  • 2488

Linux下Verilog仿真过程(二)

上一篇
  • cxc19890214
  • cxc19890214
  • 2014年11月02日 17:02
  • 1403

verilog之四位全加器的编译及仿真(用开源免费的软件——iverilog+GTKWave)

原文地址: http://www.cnblogs.com/CodeWorkerLiMing/archive/2012/04/18/2455945.html 四位全加器的verilog的代码比...
  • Reg_chen
  • Reg_chen
  • 2015年05月20日 20:28
  • 2739
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下Verilog仿真过程(一)
举报原因:
原因补充:

(最多只允许输入30个字)