![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell+VCS学习
文章平均质量分 79
Shell+VCS学习
zianren
这个作者很懒,什么都没留下…
展开
-
知识随笔1
墨汁的tb虽然不同,但是都是手机在rtl的dsc_top中。原创 2023-05-12 16:05:20 · 81 阅读 · 1 评论 -
Shell+VCS学习3---VCS-lint
首先是不加+define+的情况,A的打印结果是100(用的是`ifndef,命令行没有定义A的话就进入这一条语句);在编译命令中还可以+define+A=666,实现参数的传递,num打印123,A打印666,如果此时不加=666或者不加+define+,display就会报错,miss or empty argument,因为没有数据。在编译命令行中加入+define+A时,num打印值为123,+define+B时为456,定义其他或者不加+define+时打印789,XXX可以为自己的一些代码。原创 2023-05-05 14:31:28 · 1124 阅读 · 0 评论 -
vcs -libmap
(4) 如果两个top都不指定: vcs会将每个module都视为top, 而lib_cfg也不生效(其实也相当于没指定-top lib_cfg), 结果与第(2)点相同: 无法精细指定.可以看到,使用三步法的时候,编译需要用synopsys_sim.setup来声明库文件,否则在elaboration的时候看不到LIB_G0和LIB_G1。这样vcs编译器会使用libmap文件中的指向来存放编译输出结果,生成额外的lib_g0库和lib_g1库。也就是各自采用各自的库,这就需要libmap来实现。原创 2023-05-05 11:07:16 · 2538 阅读 · 0 评论 -
Shell+VCS学习1
y 指定一个库文件目录,目录下的文件名和module名要一致,且要用+libext+来指定文件类型,这里的.v文件里面就只能放一个和文件名同名的module,VCS会来这个目录下找源代码中例化的但在源代码中找不到的module。字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。原创 2023-04-28 17:53:55 · 920 阅读 · 0 评论 -
Shell+VCS学习3---VCS命令
VCS的功能可以大致分为两个大类:编译和仿真。VCS编译的过程,就是经过一系列的操作,将verilog代码转换为可执行文件(.svim),接下来就是用dve进行仿真过程生成.vpd波形文件。VCS是编译型verilog仿真器,处理verilog的源码过程如下:VCS先将verilog/systemverilog文件转化为C文件,在linux下编译链接生成可执行文件,在linux下运行simv即可得到仿真结果。原创 2023-05-04 18:10:39 · 8546 阅读 · 0 评论 -
Shell+VCS学习2
使用输入重定向的方式则每次只占用一行数据的内存,而且是在当前shell环境下执行的,while内的变量赋值、数组赋值在退出while后仍然有效。输出read通过输入重定向,把file的第一行所有的内容赋值给变量line,循环体内的命令一般包含对变量line的处理;然后循环处理file的第二行、第三行。。。一直到file的最后一行。还记得while根据其后的命令退出状态来判断是否执行循环体吗?是的,read命令也有退出状态,当它从文件file中读到内容时,退出状态为0,循环继续进行;原创 2023-05-04 10:40:29 · 1351 阅读 · 0 评论