• 第一讲:vcs simulation basic


    要求:

        1.complie a verilog/systemverilog design using vcs

        2.simulate a verilog/systemverilog design


    vcs ===> c===>binary(编译之后有一个目录csrc生成)

    step1 : compile

    step2: simv

                                                                   link

    verilog/sv files ==> c files ==> object files ====> simv(executable)

     PLI code links to simv not to vcs

    vcs source_files [compile_time_options]   <==generate simv binary executable file

    command line options:

    -Mupdate   //incremental compilation ***

    -R             //Run after compile

    -gui          

    -l <filename>  //set log file name  ***

    -sverilog //enable sv   ***

    +v2k  //verilog 2001 support **

    -v lib_file  //search unresolveed module reference in file lib_file ***

    -y lib_dir  //search unresolved module reference in files residing in directory lib_dir ***

    +libext+lib_ext //use file extension lib_ext when searching for files in lib dir    ***

    NOTE:  -v lib_files -y lib_dir +libext lib_ext 一般三个一起使用的,其实就是想让VCS解析引用某个module,必须告诉他到那个目录(-y lib_dir)下的某一个文件(-v lib_file),而且此文件的扩张名为lib_ext(+libext lib_ext)

    +incdir+inc_dir   //search include files ****

    -f filelist //可以放置所有的src或者vcs options   ****

    -o filename //指定可执行文件名字,取代 simv  (一般不用)

    +define+<macro_name> = <value> // 这个可以增加验证平台的灵活,经常用***


    simv [run_time_options]

    -s //一般不用

    - E echo //一般不用

    - l logname //必用***
    $plusargs() switch //有时会用的

    这里有个疑问:系统函数的调用好像是在simv时,难道这是造成Verdi无法拉出task中信号值得原因吗???

    关于如何在项目中加 define,还有很多种方式的,值得总结一下,总体1.命令行中 +define+DEFINE_NAME 2.文件中直接'define DEFINE_NAME 3.文件中`include "define.v"然后命令行中设置 +incdir includ_dir。

  • 相关阅读:
    SaltStack(六) 案例练习
    SaltStack(五) SaltStack与ZeroMQ
    SaltStack(四) 配置管理
    SaltStack(三) 远程执行
    js 阳历、阴历互转
    把一个服务器的数据库导入到另一台服务器中
    vue项目 px自动转vw
    oracle创建自增序列和触发器
    svn 无法clean up的解决方案
    vue 后台获取路由表,addRouters动态路由
  • 原文地址:https://www.cnblogs.com/chip/p/4780108.html
Copyright © 2020-2023  润新知