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

标题: VCS中利用Makefile脚本仿真详细图解(附脚本和源代码)适合新手 [打印本页]

作者: 真我个性    时间: 2016-1-14 11:50
标题: VCS中利用Makefile脚本仿真详细图解(附脚本和源代码)适合新手
本帖最后由 真我个性 于 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脚本) (, 下载次数: 1901 )

(, 下载次数: 178 )



作者: kaijie.huang    时间: 2016-1-14 13:44
合肥君正科技有限公司
作者: student321    时间: 2016-1-14 19:25
kankan
作者: moloh    时间: 2016-1-14 20:11
thanks
作者: swordiel    时间: 2016-1-15 23:44
有一本叫“跟我一起写makefile”,结合起来,从白板写一个makefile把自己的代码run起来时很有成就感的,分享一个自己的简单的makefile

                               
登录/注册后可看大图

作者: richardxingxing    时间: 2016-1-21 09:30
非常感谢分享
作者: yy1989413    时间: 2016-2-3 10:40
谢谢诶分享!!!!!!!!!!!!!!
作者: cyljbhw    时间: 2016-2-28 22:21
太感谢了   正需要  好好学习一下
作者: 导导    时间: 2016-3-2 21:01
谢谢分享!
作者: yy00668    时间: 2016-3-5 13:47
好东西,学习中
作者: chenxl1990    时间: 2016-3-11 13:25
瞅瞅~~
作者: 夕阳路人    时间: 2016-3-12 13:43
回复 1# 真我个性


   厉害
作者: fkrhenryolanga    时间: 2016-3-12 15:02
thnks
作者: shj1988914    时间: 2016-3-17 14:07
非常感谢
作者: 我没逗你玩儿    时间: 2016-3-17 14:20
多谢分享
作者: ppsz77    时间: 2016-4-5 10:09
Makefile在工作中确实能提高效率
作者: legend100    时间: 2016-4-5 11:36
看看。。。。。。。。。
作者: fuckfunk    时间: 2016-4-5 11:39
学习了,谢谢!
作者: mk12363    时间: 2016-4-5 12:19
蠻特別的題材組合 ~~大推
作者: c51arm7    时间: 2016-4-20 21:11
666666666666666666666666666666666666666666666
作者: panqingb    时间: 2016-4-29 09:23
very nice!正好要学习VCS和Makefile呢。
作者: dzplay    时间: 2016-5-13 11:32
回复 1# 真我个性


   感谢分享!建议楼主解释一下附件makefile的代码,直接run是起不来的;
从makefile的内容看,
一来需要安装verdi;
二来需要修改其路径为自己安装的路径;
是否其他的还有啥需要依据个人环境需要变动的地方呢?
作者: xduan23    时间: 2016-5-13 17:11
太感谢了   正需要  好好学习一下
作者: mnkskimo    时间: 2016-5-14 12:53
感謝~~~~~~
作者: xduan23鱼    时间: 2016-5-15 12:46
太感谢了   正需要  好好学习一下
作者: FLYBEAN2010    时间: 2016-6-1 09:32
谢谢分享
作者: 清霜一梦    时间: 2016-6-1 10:42
很有参考意义,看看
作者: 清霜一梦    时间: 2016-6-1 10:55
好东西,如果对命令有解释就更好了
作者: lu20090288    时间: 2016-7-1 19:40
新手来看看
作者: Airlex    时间: 2016-7-14 15:11
谢谢,正需要
作者: calcap    时间: 2016-7-14 20:12
正在学习,谢谢楼主
作者: shajiayu    时间: 2016-7-24 18:18
嗯嗯 不错 看看
作者: dianzidingjide    时间: 2016-7-24 19:48
回复 1# 真我个性


    好
作者: nixiaodao    时间: 2016-8-4 13:48
thanks for you share!!!!!!!!
作者: cniclayout    时间: 2016-9-6 10:49
thanksthanks
作者: yongli1990    时间: 2016-9-6 22:56
下载下来看看
作者: xxxbano    时间: 2016-9-10 01:49
thansk
作者: xxxbano    时间: 2016-9-10 01:51
thansk
作者: amy999    时间: 2016-11-2 16:33

作者: sky_CMOS    时间: 2016-12-16 17:55
谢谢分享
作者: wzc92    时间: 2017-1-16 09:56
很有用,前端正需求这方面
作者: QQben    时间: 2017-1-16 10:12
谢谢分享
作者: sgphoto    时间: 2017-1-30 22:54
many thanks!!
作者: mengfield    时间: 2017-2-1 11:20
非常感谢分享
作者: 自由电子0209    时间: 2017-3-6 20:19
see see
作者: neilsu    时间: 2017-3-12 22:51
谢谢分享
作者: smrecnik    时间: 2017-3-12 22:52
Thanks for sharing
作者: cdting    时间: 2017-3-15 05:15
非常感謝~~~~
作者: cikulangsat    时间: 2017-3-29 08:17
回复 1# 真我个性


    thanks for sharing
作者: 15850262961    时间: 2017-4-23 13:41
谢谢楼主分享
作者: dragonsleep    时间: 2017-6-6 17:16
tanks!!!!!!!
作者: jacky3600    时间: 2017-6-6 23:53
VCS还没跑起来
作者: cdting    时间: 2017-6-15 01:08
非常感謝~~~~
作者: d6821_021362    时间: 2017-11-19 12:25
谢谢作者的无私奉献!
作者: jbh0920    时间: 2018-1-12 17:14
非常好!
作者: asia0704    时间: 2018-3-15 14:49
挺好的,适合我这种新手。
作者: mufengck    时间: 2018-4-17 19:35
回复 1# 真我个性


   学习学习
作者: hanjian518    时间: 2018-5-29 15:22
顶一个啊啊啊
作者: tkmouse    时间: 2018-6-3 00:06
这个就比较6了
作者: freshair_eet    时间: 2018-8-20 18:08
我就想找找自学VCS应该看哪些资料
作者: hnuwuxu    时间: 2019-4-18 23:57
非常好,入门可期

作者: zsy5460    时间: 2019-5-20 08:51

作者: zsy5460    时间: 2019-5-20 08:55
好像下载不了
作者: 13821025113    时间: 2019-5-20 21:15
不错谢谢

作者: 交接班    时间: 2019-6-24 13:52
通过楼主的MAKEFILE,改了tb,自己又跑了个hardreg,很不错
作者: 光辉岁月    时间: 2019-9-4 21:36
学习学习,谢谢分享

作者: adan313    时间: 2019-11-8 11:47
楼主有synopsys的官方makefile吗
作者: tuuyii    时间: 2019-11-18 09:38
感谢,学习一下

作者: jacy_boy    时间: 2019-11-19 16:26
谢谢
作者: vsop    时间: 2019-11-24 16:32
标记一下,好好收藏
作者: IC-LOU    时间: 2019-12-6 11:48
感谢楼主的分享
作者: iNostory    时间: 2020-1-16 09:39
thanks

作者: vsop    时间: 2020-3-10 00:27
谢谢分享~~~
作者: 千里路行者    时间: 2020-3-10 17:34
感谢分享,下载使用。

作者: 新嘴小王安子    时间: 2020-4-3 17:49
这个和普通的shell脚本执行的优缺点能稍微分析一下嘛,我看makefile也是一步一步的执行仿真的每一个步骤,刚开始学习makefile,不太了解
作者: superpanda    时间: 2020-4-4 13:40
基礎

作者: vsop    时间: 2020-4-28 16:47

谢谢分享 ~~~
作者: lbbyxmoran    时间: 2020-8-5 16:35
谢谢分享
作者: clslhy    时间: 2020-9-10 15:51
谢谢分享!
作者: mythvicky    时间: 2020-10-2 00:11

thanks
作者: ly865668105    时间: 2020-10-5 12:30
感谢分享
作者: colindeng    时间: 2020-10-24 10:06
非常感谢分享
作者: zhangrenzhe001    时间: 2021-1-20 19:32
非常感谢,学习了
作者: zhangrenzhe001    时间: 2021-1-20 20:50
非常感谢分享
作者: juneshang    时间: 2021-3-3 17:25
谢谢,很好
作者: 任平生    时间: 2021-3-26 19:55
感谢分享

作者: zimage    时间: 2021-3-31 23:34
这个还比较详细
作者: daneast    时间: 2021-4-20 16:04
实例,很好
作者: genwei    时间: 2021-4-25 19:22
谢谢分享
作者: ssexpo1046    时间: 2021-5-11 22:39
非常感谢分享
作者: xiaofuss_    时间: 2021-5-12 09:17
感谢感谢
作者: 棍子同学    时间: 2021-5-29 16:39
很不错的教程
作者: lansen0815    时间: 2021-6-4 10:10
great  。thanks for share
作者: 周志鹏    时间: 2021-6-9 22:46
谢谢分享
作者: bin_bingo    时间: 2021-6-10 23:13
谢谢分享
作者: clonenight    时间: 2021-6-17 21:24
x谢谢楼主分享,好书。
作者: durbin    时间: 2021-6-21 11:13
good reference!
作者: maassmama    时间: 2021-6-21 14:21
Thanks
作者: 银礼帽    时间: 2021-8-26 11:23
感谢~
作者: cdting    时间: 2021-10-24 12:33
Thanks!!




欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.4