EETOP 创芯网论坛 (原名:电子顶级开发网)
标题: VCS中利用Makefile脚本仿真详细图解(附脚本和源代码)适合新手 [打印本页]
作者: 真我个性 时间: 2016-1-14 11:50
标题: VCS中利用Makefile脚本仿真详细图解(附脚本和源代码)适合新手
本帖最后由 真我个性 于 2016-1-14 14:07 编辑
VCS中利用Makefile脚本仿真
1.可仿真的Verilog文件
通常是写一个module.v文件,然后写一个test bench即module_tb.v文件,该文件中例化module。可仿真的Verilog文件是指test bench即module_tb.v。
在VCS中module_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,打开波形查看的界面。
(4)File à 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.v,half_adder_tb.v和Makefile,文件内容如下,
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 |