IUS

后端提取的sdf中可能是有negative timing 在interconnect上的,可能的原因是crosstalk之类的问题导致。

                                negative timing在FF,clock的delay超过data的delay。

这时,需要sdf和lib中的specify模型都支持negative timing才不会报错。

$setuphold支持negative timing,$setup不支持negative timing。

 

用IUS进行gate-level的仿真时,可以加option -noneg_tchk来将所有的负值都变为0,来进行仿真。

                                                             -nontcglitch,关闭glitch supression的信息显示。

IUS在跑simulation之前,snapshot编译好之后,会调用random的task,命令:ncsim -svseed {n|random}

                                                                                                        ncsim -svseed 1234

                                                                                                                  -svseed  random

 

option -tfile+timing_file:指定一个timing file,关闭某个instance或者portion的timing check。

            

          -top:用irun跑的时候,来指定top-level unit。

          -access +rw:提供读写权限。

          -compile/-c  只进行compile。

          -run 进行simulation

          -pulse_r/-pulse_e:设置path delay的limit。-pulse_r reject_percent -pulse_e error_percent

          -pulse_int_r/-pulse_int_e:设置interconnect的limit。

                         reject_limit = (reject_percent/100) *delay   error_limit = (error_percent/100)*delay

                         Reject 0 <=pulse< reject limit  (输出pulse宽度太小,直接忽略)

                         Set to error reject limit<= pulse < error limit

                         Pass pulse >= error limit

          -sdf_cmd_file +filename:指定sdf文件,控制sdf annotation。

                         filename文件总,使用COMPILED_SDF_FILE来分别知名不同block的sdf文件以及相应的scope

          

          

          -input+file:指定一个tcl命令文件,用在simulation中。

        

          -ncvlogargs "list_of_options"

          -ncvhdlargs "list_of_options"

          -ncelabargs "list_of_options"

          -ncsimargs "list_of_options"

 

timing check的很多options集中在ncelab过程中:

ncelab   -nonotifier              Disable notifier register

ncelab   -notimingchecks           Disable timing checks

ncelab   -noneg_tchk                     Set negative valus in timing check to zero

ncelab   -no_tchk_msg         Do not display timing check violation messages

ncelab   -delay_mode    distributed          ignore specify block delays

 

如果需要在simulator中设置breakpoint,那字啊compile的过程中,必须设置-linedebug option

irun中可以直接设置 -nclibdirpath来制定snapshot的路径,进行仿真。

 

ncsdfc可以编译和解压缩sdf文件。

对于VHDL文件,必须手工用ncsdfc来编译文件。

对于verilog文件,如果使用$sdf_annotate来进行annotation,如果annotator检测到SDF文件是没有编译过的,elaborate会自动的编译sdf文件。

如果使用SDF command文件,必须用ncsdfc事先编译。

ncsdfc [-options] sdf_filename

ncsdfc  dcache.sdf  -output  mysdf.sdf.X   (-output重命名)

           -COmpile  (default option) 

ncprotect scale.sdf      (产生protected file)

 

posted @ 2016-10-02 11:22  _9_8  阅读(3249)  评论(1编辑  收藏  举报