在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 67062|回复: 123

[原创] VCS中利用Makefile脚本仿真详细图解(附脚本和源代码)适合新手

[复制链接]
发表于 2016-1-14 11:50:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 真我个性 于 2016-1-14 14:07 编辑

VCS中利用Makefile脚本仿真

1.可仿真的Verilog文件

通常是写一个module.v文件,然后写一个test benchmodule_tb.v文件,该文件中例化module。可仿真的Verilog文件是指test benchmodule_tb.v

VCSmodule_tb.v除了声明timescale,初始化信号输入和例化module外,还需要加上波形输出函数$vcdpluson()和仿真时间控制函数$finish(),如下;


本文先写一个简单的tb,先不包括例化module,仅仅只定义几个reg信号。下面为gen_circulation.v,其基本功能是生成多个重复波形,仿真时间为100ns,该文件在附件的gen_circulation文件夹中。具体可参考《Verilog HDL设计与实战》第10章。


2、通过Makefile脚本进行编译和仿真

采用Makefile脚本可以方便在VCS中的编译compile和仿真simulate以及清除文件clean,具体内容可以查看附件gen_circulation/Makefile。这里只讲解操作。

1)首先确认安装了VCS软件,然后在gen_circulation文件夹中打开terminal,输入make compile f=gen_circulation.v,然后可以看到下图编译成功的信息。通过makefile实际上输入的命令为vcs -sverilog -debug_all +notimingcheck +nospecify+v2k -l com.log gen_circulation.v,这些都可以不理会。


2)然后在terminal中输入make simulate,可以有如下仿真成功的信息。通过makefile实际上输入的命令为./simv -l sim.log +notimingcheck +nospecify,这些也可以不理会。

注:前面的make compile f=
gen_circulation.v make simulate两步可以合为一步执行make all f=
gen_circulation.v


3)最后terminal中输入dve,打开波形查看的界面。


4File à Open Database 选择对应的vcdplus.vpd文件


5)选择a,b,c,右键选择Add to waves à New wave view,这样就显示出了波形


6)现在就可以查看波形。通过Makefile脚本进行编译和仿真的操作过程已结束,后面是一个稍微复杂一点的test bench,即含有module例化的test bench仿真。

7)如果要清空gen_circulation文件夹中仿真过程产生的文件,可以在terminal中输入 make clean
通过makefile实际上输入的命令为rm -rf csrc DVEfiles simv simv.daidir ucli.key VCS*rm -rf *.log *.vpd *.ddc *.svf *.SDF *Synth*Netlist* work vsim* transcript,这些也可以不理会。



3 含有module例化的test bench仿真half_adder

half_adder文件夹下有三个文件half_adder.vhalf_adder_tb.vMakefile,文件内容如下,

half_adder.v


half_adder_tb.v


terminal中输入

make all f=half_adder_tb.v


然后查看波形



4 总结

Makefile脚本能大大简化VCS中的仿真。


附:查看verilog对应的门级结构

VCS中不能查看verilog对应的门级结构,但是DC可以读入verilog文件对应到DC自带的GETCH库,然后打开gui查看门级结构。如果需要综合,则需要添加实际的库文件和时序约束。这里并没有综合,只是映射到DC自带的逻辑库GETCH库上。

1)启动DC

dc_shell -topographical -64bit | tee log


2)读入verilog文件

dc_shell-topo>read_verilog half_adder.v

3)打开gui界面

dc_shell-topo>start_gui

4)查看电路结构



附件为图文版《VCS中利用Makefile脚本仿真详细图解》以及gen_circulation和 half_adder的源文件(包括Makefile脚本) VCS中利用Makefile脚本仿真详细图解(附脚本和源代码).zip (306.2 KB, 下载次数: 1881 )

1.jpg

发表于 2016-1-14 13:44:14 | 显示全部楼层
合肥君正科技有限公司
发表于 2016-1-14 19:25:05 | 显示全部楼层
kankan
发表于 2016-1-14 20:11:17 | 显示全部楼层
thanks
发表于 2016-1-15 23:44:09 | 显示全部楼层
有一本叫“跟我一起写makefile”,结合起来,从白板写一个makefile把自己的代码run起来时很有成就感的,分享一个自己的简单的makefile

                               
登录/注册后可看大图
发表于 2016-1-21 09:30:09 | 显示全部楼层
非常感谢分享
发表于 2016-2-3 10:40:22 | 显示全部楼层
谢谢诶分享!!!!!!!!!!!!!!
发表于 2016-2-28 22:21:31 | 显示全部楼层
太感谢了   正需要  好好学习一下
发表于 2016-3-2 21:01:16 | 显示全部楼层
谢谢分享!
发表于 2016-3-5 13:47:10 | 显示全部楼层
好东西,学习中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 20:38 , Processed in 0.023082 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表