UCLI仿真
UCLI仿真其实是建立在TCL语言之上的。所以在UCLI结构中你可以使用TCL命令来控制UCLI
的执行。下面的命令就是建立UCLI仿真:
% simv [simv_options] –ucli
注意:使用上述命令需要在编译的时候使用-debug_all,debug,debug_pp选项进行编译哦!
在运行UCLI的时候可以通过命令的形式来控制UCLI的执行。如下:
% simv –ucli
ucli % source file.cmds
or
% simv –ucli –do file.cmds
force :用法 force signal value
get:用来获取指定信号的值
call:用来调用
verilog systemVerilog 的系统函数
4 SDF文件的反标
首先SDF文件里面包含了一些器件的固有延迟,内部连线的延迟,端口延迟,时序确认信
息,时序约束信息和脉宽控制信息等内容。
VCS读取SDF文件实际上就是延迟信息的一个反标过程。VCS通过读取SDF文件里面的延
迟值,从而改变原文件的默认延迟值(通常是由原文件默认指定,如果原文件没有指定那么
就是采用仿真工具默认指定的延迟值)。
4.1 采用统一的SDF特性
统一的SDF特性就是允许你通过编译的时候采用下面的选项来反标SDF延迟:
-sdf min|type|max:instance_name:file.sdf
例如:
% vcs -sdf min|type|max:instance_name:file.sdf [compile_options]
% simv
4.2 采用$sdf_annotate 系统任务(+sdfverbos开启vcs记录所有信息的功能e)
可以在你的verilog原文件中通过引用$sdf_annotate系统任务来反标延迟信息。
语法结构如下:
$sdf_annotate ("sdf_file"[, module_instance] [,"sdf_configfile"][,"sdf_logfile"] [,"mtm_spec"]
[,"scale_factors"] [,"scale_type"]);
“sdf_file”
指定sdf文件及其存放路径。
module_instance
指定sdf文件的反标范围。
“sdf_configfile”
指定sdf配置文件。
“sdf_logfile”
指定Sdf的log 生成文件,这个文件会保存vcs在运行过程中产生的error信息和warning信息。
默认情况下vcs不会超过10个以上的error信息/warning 信息记录到log 文件中。为了避免这
个限制,在运行的过程中可以通过+sdfverbose选项来开启vcs记录所有信息的功能。
“mtm_spec”
指定Vcs 反标哪一类延迟信息。可以使用“MINIMUM,TYPICAL,MAXIMUM,TOOL_CONTROL
(default)”。
“scale_factors”
指定minimum,typical和maximum延迟的因子。通过冒号分割成3个字符串,默认值是“1.0:1.0:1.0”
“scale_type”
指定在缩放比例之前使用的SDF 文件里面延迟值。可能的值有
“FROM_TYPICAL”,”FROM_MIMINUM”,”FROM_MAXIMUM”,”FROM_MTM”(默认值)
如果你在你的verilog原文件中添加了$sdf_annotate系统函数,在你编译和运行的时候就不需
要添加什么额外的选项了。