VCS®/VCSi™User Guide

news/2024/11/24 7:32:23/

        VCS®是一种高性能、高容量的Verilog®模拟器,它将先进的高级抽象验证技术集成到一个开放的本地平台中。VCS是一个编译代码模拟器。它使您能够分析、编译和模拟Verilog、SystemVerilog、OpenVera和SystemC设计描述。它还为您提供了一组模拟和调试功能,以验证您的设计。这些特性为源代码级调试和模拟结果查看提供了功能。VCS通过为RTL功能验证提供最快和最高容量的Verilog仿真,加快了完整的系统验证。

模拟器支持抢占
        VCS支持模拟抢占。如果挂起VCS模拟,VCS将等待安全内存点挂起作业并签入许可证。当稍后恢复VCS模拟时,它将检查许可证,并从暂停的点开始继续模拟。您可以使用ctrl+z或kill–TSTP<pid>来抢占VCS中的模拟

Setting Up the Simulator(设置仿真器)
        本节概述了准备运行VCS的基本步骤。它包括以下主题:


Verifying Your System Configuration(验证系统配置)
        您可以使用syschk.sh脚本检查您的系统和环境是否符合Synopsys产品给定版本的QSC要求。QSC(合格系统配置)代表所有由Synopsys内部维护和测试的系统配置。要检查您所在的系统是否满足QSC要求,请输入:
        % syschk.sh
要启用跟踪,可以取消注释syschk.sh文件中的set-x行,或者输入以下命令:
        % sh -x syschk.sh >& syschk.log
使用syschk.sh-v生成更详细的输出流,包括脚本使用的各种二进制文件的确切路径等。例如:
        % syschk.sh -v​​​​​​​
        注:如果在使用syschk.sh脚本之前将其复制到其他位置,则还必须将syschk.dat数据文件复制到同一目录。您还可以参考VCS发行说明的"Supported Platforms and Products"部分,以获得支持的平台以及推荐的C编译器和链接器版本的列表。

Obtaining a License(获取许可证)
您必须拥有运行VCS的许可证。要启动新许可证,请执行以下操作:
(1)验证许可证文件是否正常运行:​​​​​​​
        ​​​​​​​        ​​​​​​​% lmcksum -c license_file_pathname
        运行此许可实用程序可确保许可证文件未损坏。对于许可文件中的每个INCREMENT语句,您都应该看到一个“OK”。
注:snpslmd平台二进制文件和附带的FlexLM实用程序是单独提供的,不包含在本发行版中。
您可以从Synopsys网站下载这些二进制文件作为Synopsys通用许可(SCL)工具包的一部分,网址为:http://www.synopsys.com/cgi-bin/ASP/sk/smartkeys.cgi
(2)启动许可证服务器:
        % lmgrd -c license_file_pathname -l logfile_pathname
(3)将LM_LICENSE_FILE或SNPSLMD_LICENCE_FILE环境变量设置为指向许可证文件。
        % setenv LM_LICENSE_FILE /u/edatools/vcs/license.dat
        或
        % setenv SNPSLMD_LICENSE_FILE /u/edatools/vcs/license.dat
注释:-可以使用SNPSLMD_LICENSE_FILE环境变量为Synopsys工具显式设置许可证。
        -如果设置了SNPSLMD_LICENSE_FILE环境变量,则VCS将忽略LM_LICENSE_FILE环境参数。

Setting Up Your Environment(设置环境)
要运行VCS,需要设置以下环境变量:
(1)$VCS_HOME环境变量
        将环境变量VCS_HOME设置为安装VCS的路径,如下所示:
        % setenv VCS_HOME installation_path
(2)$PATH环境变量
        将UNIX PATH变量设置为$VCS_HOME/bin,如下所示:
        % set path = ($VCS_HOME/bin $path)
        OR
        % setenv PATH $VCS_HOME/bin:$PATH
(3)LM_LICENSE_FILE 或 SNPSLMD_LICENSE_FILE 环境变量:
        将许可证变量LM_license_FILE或SNPSLMD_license_FILE设置为许可证文件,如下所示:
        % setenv LM_LICENSE_FILE Location_to_the_license_file
        或
        % setenv SNPSLMD_LICENSE_FILE /u/edatools/vcs/license.dat
注释:-可以使用SNPSLMD_LICENSE_FILE环境变量为Synopsys工具显式设置许可证。
        -如果设置了SNPSLMD_LICENSE_FILE环境变量,则VCS将忽略LM_LICENSE_FILE环境参数。

Setting Up Your C Compiler(设置C编译器)
        在Solaris VCS上,需要C编译器来编译中间文件,并链接您模拟的可执行文件。Solaris不包含C编译器,因此,您必须为Solaris购买C编译器或使用gcc。对于Solaris,VCS假定C编译器位于其默认位置(/usr/ccs/bin)。RHEL32、RHEL64和IBM RS/6000 AIX平台都包含C编译器,VCS假定编译器位于其默认位置(/usr/bin)。可以使用环境VCS_CC或-CC编译时选项指定不同的C编译器。

Using the Simulator(使用仿真器)
VCS使用以下步骤来编译和模拟Verilog设计:
        •编译设计
        •仿真设计
VCS提供了VCS可执行文件来编译和完善设计。该可执行文件使用设计或工作库中的中间文件编译设计,生成目标代码,并静态链接它们以生成二进制仿真可执行文件simv。

Simulating the Design(仿真设计)
       
 通过执行二进制仿真可执行文件simv来仿真设计。

Basic Usage Model(基本的使用模型)
        Compilation(编译)
                % vcs [compile_options] Verilog_files
        Simulation(仿真)
                % simv [run_options]

Default Time Unit and Time Precision(默认的时间单元和时间精度)

        默认的时间单元是1s;
        默认的时间精度是1s。





 


http://www.ppmy.cn/news/23611.html

相关文章

MySQL事务管理

文章目录MySQL事务管理事务的概念事务的版本支持事务的提交方式事务的相关演示事务的隔离级别查看与设置隔离级别读未提交&#xff08;Read Uncommitted&#xff09;读提交&#xff08;Read Committed&#xff09;可重复读&#xff08;Repeatable Read&#xff09;串行化&#…

day3——有关java运算符的笔记

今天主要学习的内容有java的运算符 赋值运算符算数运算符关系运算符逻辑运算符位运算符&#xff08;专门写一篇笔记&#xff09;条件运算符运算符的优先级流程控制 赋值运算符 赋值运算符&#xff08;&#xff09;主要用于给变量赋值&#xff0c;可以跟算数运算符相结合&…

操作符详解(上篇)

前言小伙伴们大家好&#xff0c;随着对c的不断学习今天我们将来学习操作符。在初始c语言中也介绍过操作符但也只是点到即可&#xff0c;今天我们将详细了解操作符。操作符分类&#xff1a;算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号…

ffmpeg硬解码与软解码的压测对比

文章目录ffmpeg硬解码与软解码的压测一、基本知识二、压测实验1. 实验条件及工具说明2. 压测脚本3. 实验数据结果ffmpeg硬解码与软解码的压测 一、基本知识 本文基于intel集显进行压测 软解码&#xff1a;cpu对视频进行解码硬解码&#xff1a;显卡或者多媒体处理芯片对视频进…

【Python】Python学习笔记(二)基本输入输出

Python娘来源&#xff1a;https://next.rikunabi.com/tech/docs/ct_s03600.jsp?p002412 目录print()函数不进行自动换行的print()函数打印输出多个字符串只进行换行input()函数使用format方法格式化字符串字符串与数值转换字符串转换为数值数值转换为字符串总结参考资料print(…

【C++】CC++内存管理

就是你被爱情困住了&#xff1f;Wake up bro&#xff01; 文章目录一、C/C内存分布二、C语言中动态内存管理方式三、C中内存管理方式1.new和delete操作内置类型2.new和delete操作自定义类型&#xff08;仅限vs的底层实现机制&#xff0c;new和delete一定要匹配使用&#xff0c;…

3.2 埃尔米特转置

定义 对于复矩阵&#xff0c;转置又不一样&#xff0c;常见的操作是共轭转置&#xff0c;也叫埃尔米特转置Hermitian transpose。埃尔米特转置就是对矩阵先共轭&#xff0c;再转置&#xff0c;一般来说用三种符号表示埃尔米特转置&#xff1a; 第一种符号是AHA^HAH&#xff0c…

java 自定义json解析注解 复杂json解析

java 自定义json解析注解 复杂json解析 工具类 目录java 自定义json解析注解 复杂json解析 工具类1.背景2、需求-各式各样的json一、一星难度json【json对象中不分层】二、二星难度json【json对象中出现层级】三、三星难度json【json对象中存在数组】四、四星难度json【json对象…