要求:

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。

第一讲:vcs simulation basic的更多相关文章

  1. CS193P - 2016年秋 第一讲 课程简介

    Stanford 的 CS193P 课程可能是最好的 ios 入门开发视频了.iOS 更新很快,这个课程的最新内容也通常是一年以内发布的. 最新的课程发布于2016年春季.目前可以通过 iTunes ...

  2. POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格

    第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工 ...

  3. 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立

    原文:<ArcGIS Engine+C#实例开发教程>第一讲桌面GIS应用程序框架的建立 摘要:本讲主要是使用MapControl.PageLayoutControl.ToolbarCon ...

  4. 32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用

    32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用 一丶32位(x86也称为80386)与8086(16位)汇编的区别 1.寄存器的改变 AX 变为 EAX  可以这样想,16位通 ...

  5. 异常处理第一讲(SEH),筛选器异常,以及__asm的扩展,寄存器注入简介

    异常处理第一讲(SSH),筛选器异常,以及__asm的扩展 博客园IBinary原创  博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 一丶__Asm的 ...

  6. 常见注入手法第一讲EIP寄存器注入

    常见注入手法第一讲EIP寄存器注入 博客园IBinary原创  博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 鉴于注入手法太多,所以这里自己整理一下, ...

  7. 逆向实用干货分享,Hook技术第一讲,之Hook Windows API

    逆向实用干货分享,Hook技术第一讲,之Hook Windows API 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) ...

  8. PE文件格式详解,第一讲,DOS头文件格式

    PE文件格式详解,第一讲,DOS头文件格式 今天讲解PE文件格式的DOS头文件格式 首先我们要理解,什么是文件格式,我们常说的EXE可执行程序,就是一个文件格式,那么我们要了解它里面到底存了什么内容 ...

  9. 逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构

    逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打 ...

随机推荐

  1. Linux下的录屏软件Kazam

    发现Ubuntu下一个很好用的录屏软件kazam,Ubuntu官方源中就有. 1.安装 $ sudo apt-get install kazam 2.使用 使用很简单,除了截图,还可以录制屏幕视频.既 ...

  2. Log2Net的架构简介

    在开始介绍源码之前,我们有必要了解下整个系统的大致需求,设计架构,观其大略,这样才能从总体上把握为何细节上要如此设计,不至于在代码的海洋中迷失,时不时吐槽为何要这么多代码.高屋建瓴地把控系统的全局,孜 ...

  3. 关于${pageContext.request.contextPath}的理解(转载)

    ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> . 也就是取出部署的应用程 ...

  4. April Fools Contest 2017 A

    Description Input The input contains a single integer a (1 ≤ a ≤ 30). Output Output a single integer ...

  5. JAVA常用知识总结(一)

    try catch finally 的详细用法: public static int testBasic(){ int i = 1; try{ i++; System.out.println(&quo ...

  6. c#学习系列之关键字where

    where 子句用于指定类型约束,这些约束可以作为泛型声明中定义的类型参数的变量.    1.接口约束.         例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就 ...

  7. [转]浅谈.NET下的多线程和并行计算(二)线程基本知识

    本文转自:http://www.cnblogs.com/lovecindywang/archive/2009/12/25/1632213.html 首先来看看如何创建线程: Console.Write ...

  8. P1179 数字统计

    题目描述 请统计某个给定范围[L, R]的所有整数中,数字 2 出现的次数. 比如给定范围[2, 22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出 现 1 次 ...

  9. go获取当前执行的位置程序

    func getCurrentPath() string { _, filename, _, ok := runtime.Caller(1) var cwdPath string if ok { cw ...

  10. Java入门小知识

    软件开发什么是软件?  一系列按照特定顺序组织的计算机数据和指令的集合什么是开发?  制作软件 人机交互  软件的出现实现了人与计算机之间的更好的交互交互方式   图形化界面:这种方式简单直观,使用者 ...