VCS基本选项命令介绍

VCS基本选项命令介绍
⼀:如何执⾏(编译执⾏)
1:编译链接⽣成⼆进制可执⾏⽂件
  $vcs source_file[compile_time_options],  例如 vcs +v2k filename.v -debug_all  (+2k指2001版本)
    compile_time_options 可选项
        A:基本可选项
        -Mupdate    :增量编译,再次编译时只编译改变的⽂件,提⾼速率
    -R                :run after compilation,编译后继续执⾏run
      -gui            :打开DVE图形界⾯
      -l<filename>:set log file name,⽤于写编译信息,⼤型项⽬中经常使⽤,如 -l compile.log
    -sverilog      :⽀持system verilog
      +v2k    :⽀持verilog2001的标准
库仑定律教案      B:⼯艺库可选项
      -v lib_file  :lib_file(⼯艺库名字) RTL代码⾥涉及到⼯艺库
   -y lib_dir  :告诉vcs到哪⾥这个⼯艺库
    +libext+lib_ext:当⽤到很多库,代替-v
    +incdir+inc_dir:代码⾥如果有include,使⽤这个命令告诉vcs包含⽂件的位置。verilog代码⾥⾯写`include "filename.vh"
        C: ⽂件可选项
   -f file              :当有很多源代码时,将这些源代码整合到file⾥
    D:修改可执⾏⽂件名字
-o foo    :可执⾏⽂件名为simv,使⽤此命令改名字;      如 -o my_simv
    F:define ⼀个宏
    +define +<macro_name>=<value> :macro_name 宏名;value 初始化值;    如+define+INCR_COUNTER
2:执⾏
  $simv[run_tiime_options]
例如  ./sim -gui &(./指在当前⽂件,sim指编译得到的可执⾏⽂件,gui指打开vcs的gui界⾯-dve,&指后台执⾏)将会得到执⾏的PID 值
-s  结束仿真时间供配电系统
$plusargs() 动态接收参数
-E echo
-l logfile  把仿真信息写⼊logfile⽂件⾥
⼆:基本知识
1:  verilog compiled simulator;包含PLI 1.0/VPI接⼝(调⽤c++/c的程序);
2:  ⽀持多抽象层仿真
    ⾏为级描述(验证,不可综合) - RTL级描述(设计,寄存器传输级) - Gate-level(门级,RTL级经过综合得到,与具体⼯艺            库相关,TSMC,SMIC,CSMC)
三:vcs debug
peg6000  三种debug⽅法:system task calls,VCS UCLI,VCS DVE(GUI)
  考虑因素:速度,信号可见性,信号。。可⽤性
1:  system task calls
    $display 打印变量赋值前值
   $montor 打印变量赋值后值,变量值改变,打印值也变
    $time  仿真时间
    $readmemb  将⽂件⾥的内容读⼊存储器中,读⼆进制binary
    $readmemh 将⽂件⾥的内容读⼊存储器中,读⼗六进制hexadmecimal
2:  VCS UCLI命令⾏  效果不好  $vcs filename +v2k -ucli -R
3:  DVE嘌呤代谢紊乱
    根据此笔记的⼀打开DVE软件,DVE⽀持交互式仿真(在终端输⼊命令),⽀持后仿分析
tips1:task⾥⾯的参数在波形上显⽰不出来,所以最好使⽤display显⽰出来
    tips2:debug
      f10 单步执⾏(括号加外箭头),f11单步且进⼊函数体执⾏(括号加内箭头);每次单步仿真结束需点下箭头重新仿真⽅可再次仿真
tips3:波形知识点
F键:波形⾃动,全屏
     group:将多个信号组成⼀组
     set radix:波形的不同显⽰形式,⼗进制,⼆进制....状态机显⽰状态为set radix - state name
     波形⾥⾯具体数字有没有出现:右上⾓空-value-数字-前后点,可发现有没有这个数字
     compare:选中⽐较的两个图形-signal-compare-name输⼊-creat-close
     构造bus:选中信号-set bus-观察bus后的总线波形
    tips4:DPI  (在verilog⾥调⽤c语⾔的代码)
第⼀步:写⼀个c⽂件,c⽂件要求:#include“svdpi.h“
    第⼆步:在verilog源⽂件⾥添加调⽤c代码的语句
    第三步:在终端执⾏编译命令时,添加c代码⽂件以及sverilog命令
柔道教学    第四步:终端执⾏ ./simv
    显⽰hello,verilog
四:post-processing with VCD+ files
   VCD(verilog change dump)是VCS的早期波形⽂件,VCD+是VCD压缩⽂件;⼤的项⽬波形⽂件很占内存与影响速度,所以产⽣了VCD波形⽂件,记录寄存器的值,层次等;将⼀些系统函数(例如$vcdpluson)嵌⼊到源代码中,编译仿真产⽣VCD⽂件(后缀名为vdp),打开DVE,参考log⽂档与波形⽂件,快速解决bug。
1:什么时候使⽤VCD+
  当debug⼀个成熟的设计时,当仿真分析需要多名设计⼈员参与时,当仿真采⽤script(如makefile)时
2:VCD+的系统函数
  $vcdpluson(level_number,module_instance)从module这个模块开始,记录number-1层
      level_number:  0-记录特定模块的所有层次模块
              1-记录特定模块的顶层模块
              n-记录特定模块向内的n个模块
      module_instance:以此模块为基准
  $vcdplusoff(module_instance) 关闭郑和下西洋的条件
3:VCD+的编译执⾏
  compiling:  vcs files vcdplus_switches other_switches
        files: sources files
        vcdplus_switches: 更改vcd⽂件名,否则在simulator后默认⽣成vcdplus.vpd⽂件。+vpdfile
                 +vdpfilename.vpd
        other wsitches: vcs的其他开关选项;
        还有debug选项开关选项:-debug,-debug_all, debug_pp
  simulate:  ./simv
  打开DVE,打开vcd⽂件:dve -vpd vcdplus.vpd。  或者dve &—>file—>open database—>vcdplus.vpd
4:在源代码如何添加系统函数
   `ifdef dumpme
    $vcdpluson();
   `endif
  通过是否定义dumpme(⼀般在脚本的complier⾥定义宏)+define+dumpme
5:$test$plusargs  键盘动态接收参数
6 :  在已有makefile⽂件的基础上,使⽤VCD⽂件的步骤
  make clean -> make com -> make sim -> dve &(或者dve -dvp vcdplus.vpd) -> 查看波形,可双击波形上的某个数值进⼊源代码 - >debug   
7:readmemb:将⽂件⾥的内容存在数组⾥。⼀般在VCD⽂件⾥没有数组的波形,可使⽤$vcdplusmemon将数组导⼊。
8:$display
   $display("hello verilog  ",`__FILE__,`__LINE__);  //打出具体⽂件具体⾏的hello verilog,两个下划线
   //打出的hello,verilog为红⾊字体

本文发布于:2024-09-22 20:22:29,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/190698.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编译   波形   打开   信号   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议