后仿检查
- 数模接口
- 异步路径
- 时序紧张的同步路径
- 时钟和复位
- 不定态扩散问题
重要用例和场景
- 启动
- 复位
- 时钟切换
后仿网表
- post-synth netlist
- post-dft netlist
- post-pnr netlist
- post-pnr netlist with PG
通常后仿用例
- 跨时钟域异步关系
- 上下电和启动流程
- 数模接口时序关系
- 时钟复位相关:时钟无毛刺切换、复位去毛刺滤波、复位解复位顺序等
- 加了false path或multicycle path的路径
- 对时钟加频偏
- memory内容初始化或不初始化
检查
- 复位后,register X态
- 复位后,重要模块输入输出状态
Violation处理
violation file
- 跨时钟域数据传输同步的第一级DFF
- 异步复位同步释放电路的Rn和CK端之间Path
- POR复位生效前的violation log需要忽略
- violation log要按IP模块划分
- 提供各个violation log的waive方法,建议用脚本处理后给设计者review
X态分析
遇到X态,试着从以下几个角度分析。
- 是否所有的DUT input端口都给予了一个确定值?
- 没有复位端的寄存器有没有作初始化?
- DUT里有哪些Memory, 是否有必要进行初始化?
- 如果是Timing violation引起的X态,则需要先分析Timing violation
对环境建议
- 环境中不要用force
- 不要过多使用编译期宏
- 把变化控制留在runtime
VCS相关
options
use for zero delay GLS
+nospecify
+notimingcheck
don't use them for Post-PR netlist
VCS options
-sdf min|typ|max:instance_name:file.sdf
+sdfverbose
+optconfigfile=noTiming.cfg
-sdf_logfile
noTiming Config file Format
module {list_of_module_identifiers} {list_of_attributes};
or
instance {list_of_module_identifiers_and_hierarchical_names} {list_of_attributes};
or
tree [(depth)] {list_of_module_identifiers} {list_of_attributes};
Attributes for timing:
noIopath
: Disables module path delays in the specified module instances.Iopath
: Enables module path delays in the specified module instances.noSpecify
: Disables the specify blocks in the specified module instances.Specify
: Enables specify blocks in the specified module instances.noTiming
: Disables timing checks in the specified module instances.Timing
: Enables timing checks in the specified module instances.
举例:
后端提供一个sync cell的list, 然后写成noTiming config file.
instance {tb_top.u_dut.u_sync_cell0} {noTiming};
system task for sdf
$sdf_annotate ("sdf_file"[, module_instance] [,"sdf_configfile"][,"sdf_logfile"][,"mtm_spec"] [,"scale_factors"][,"scale_type"]);
"sdf_file"
: Specifies the path to an SDF file.- module_instance: Specifies the scope where back-annotation starts. The default is the scope of the module instance that calls $sdf_annotate.
"sdf_configfile"
: Specifies the SDF configuration file. For more information on the SDF configuration file, see the “SDF Configuration File” section."sdf_logfile"
: Specifies an SDF log file to which VCS sends error messages and warnings. By default, VCS displays no more than ten warnings and ten error messages about back-annotation and writes no more than that in the log file you specify with the -l option. However, if you specify the SDF log file with this argument, the SDF log file receives all messages about back-annotation. You can also use the +sdfverbose runtime option to enable the display of all back-annotation messages."mtm_spec"
: Specifies which delay values of min:typ:max triplets VCS back- annotates. Its possible values are "MINIMUM", "TYPICAL", "MAXIMUM", or "TOOL_CONTROL" (default)."scale_factors"
: Specifies the multiplier for the minimum, typical, and maximum components of delay triplets. It is a colon separated string of three positive, real numbers "1.0:1.0:1.0" by default."scale_type"
: Specifies the delay value from each triplet in the SDF file for use before scaling. Its possible values are "FROM_TYPICAL", "FROM_MIMINUM", "FROM_MAXIMUM", and "FROM_MTM" (default).
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。