Synopsys Formality Workshop 2013

来源:互联网 发布:多功能电子计算软件 编辑:程序博客网 时间:2024/06/11 04:27
四月底忙里偷闲去参加了为期两天的Formality的workshop。讲师还是那个讲师,不过相比于2010年底的听的那次Formalityworkshop2005,内容有很大的调整和更新,尤其是使用Formality的策略和debug的各种方法技巧,都总结的比较清晰、可操作。推荐有机会去的同学们再去听一下。
有个小道消息是,Synopsys也正在开发测试他们的自动ECO方案,与LEC的类似。回来之后提炼了一下笔记,很粗略,供大家和自己参考。被我们部门的总监看到了,笑称Formality是个屌丝才用的软件,不值得花力气在上面。我问为啥,说之前有个项目用LEC发现了Formality没有发现的不同。好吧,综合和Formalcheck用同一家的软件,确实有点自圆其说的意思。大家有没有遇到Formality发现不了的问题呢?

-Possible results: succeeded/failed/inconclusive/not run
-Two types of failure: Flase Negative/True Negative
-Complete Formality scripts can be generated automaticallyfrom SVF
    fm_mk_scriptmydesign.svf -o fm.tcl
    fm_shell -ffm.tcl
-Synplify can generate SVF
-Logic Cone
    Inputs:Registers/Primary Input Ports/Black Box Ouput Pins
    Compare Points:Registers/Primary Output Ports/Black Box Input Pins
-set synopsys_auto_setup true
    Can usesynopsys_auto_setup_filter to limit effect ofsynopsys_auto_setup
       set synopsys_auto_setup_filter{hdlin_ignore_parallel_case}
-SVF is verified and applied since the phaseMatch
-Automatically determines multiple SVF file processing order(timestamp)
-Saved containers are portable across Formality releases
-Probe points allow one to compare nets in failing logic cones(self-defined compare points)
   set_probe_points
    verify-probe
-Multiple StageVerification    
    The fewer the designtransforms the eaiser to debug
    When bringing up adesign it always easiest to debug each stage in turn
    You can do this providedyou write a netlist and SVF for each step
-The guidance summary is the best place to start debug
    report_svf_operation-status rejected -command reg_constant
   report_setup_status
-Hard(inconclusive) Verification
   set_verification_priority(SVP) [get_designs {*crc*}] # inDC
    setsimplified_verification_mode true
-Get to failing points fast
    setverification_effort_level super_low
-Multicore support
    Up to 4 cores with asingle license
    set_host_options-max_core
-RTL Hardware vs. Simulation mismatch
    sethdlin_error_on_mismatch_message false
    lappendhdlin_warn_on_mismatch_message FMR_ELAB-116
   report_hdlin_mismatches
-Examples of mismatch
    case pragmas
       //synopsys full_case
       //synopsys parallel_case
    One can instructFormality to have same interpretation as DC
       set hdlin_ignore_parallel_case false
       set hdlin_ignore_full_case false
    black box
    undrivensignals
    multiply drivennets
    RTL nameinterpretation
       guide_enviroment
-Sequential optimizations
    clock gating
       compile_ultr -gate_clock
       set verification_clock_gate_hold_mode any(synopsys_auto_setup)
       set verification_clock_gate_edge_analysis true(new)
    registermerging
       guide_reg_merging
       verify r:/xxx1 r:/xxx2 (single pointverify)
       set_constraint coupled $ref/a1_reg $ref/a2_reg(emergency work-around)
    registerreplication
       set compile_register_replication true (DCG,default false)
       setcompile_register_replication_across_hierarchy true (DCG, defaultfalse)
       guide_reg_duplication
       set_user_match $ref/a1_reg$ref/a2_reg
       verify i:/xxx1 i:/xxx2
       set_register_replication -num_copies 2A_reg
       register_replication_naming_style (default%s_rep%d)
    phaseinversion
       guide_inv_push
       verify -invertedr:/xxx i:/xxx
       set_inv_push/set_user_match-inverted
    adaptiveretiming
       compile_ultra -retime
    pipelineretiming
    constant registerremoval
       guide_reg_constant
       verify r:/WORK/top/potentially_constant_reg-constant0
       set_constant $ref/a_reg 0
    unread registerremoval
       Matched unread compare points are not verifiedby default
       set verification_verify_unread_compare_pointstrue
       verify
       report_matched_points -status unread
       report_unmatched_points -statusunread
-Structural Transforms
    Datapath
       Tree transforms
       Share transforms
       Sum of products
    Ungrouping
       guide_ungroup
   Uniquification
       DC performs different optimizations sincedifferent contexts
    Boundaryoptimization
    Others
-DesignWare
    DC use built-in DW, butFormality use that HDL_DWROOTindicates
-Hierarchical Verification
   write_hierarchical_verification_script
    Isolation
       set_cutpoint -type pin $ref/inst/P
       set_cutpoint -type pin $impl/inst/P
       probe points/cut-points
           probe: don't have to go back tosetup
           cut:   canonly be applied during setup
-ECO Verification
    fm_eco_to_svf (UNIXcommand)
       analyze RTL files and produce supplementary SVFguidance
    generate_eco_map_file(FM command)
       guide_eco_map


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子字写的难看怎么办 企业k宝锁死了怎么办 建行信用卡密码忘了怎么办 主卧对着卫生间怎么办 不会画农场的画怎么办 泰迪骨折了怎么办护理 狗狗的腿骨折了怎么办 狗狗摔了一下腿瘸了怎么办 狗狗前腿摔瘸了怎么办 狗摔跤腿瘸了怎么办 小狗的前腿弯了怎么办 两周的小狗缺钙怎么办 狗腿关节断了怎么办 五岁儿童抵抗力差怎么办 3岁儿童抵抗力差怎么办 四岁儿童抵抗力差怎么办 我孩子和我相冲怎么办 儿子不热母亲怎么办?单身呀? 大兔子吃小兔子怎么办 车窗贴膜里面有灰尘怎么办 陌陌小游戏不能玩游戏怎么办 电脑游戏里面的出现俄文怎么办 龙之谷手游转职业装备怎么办 如果函数值和类型不一致怎么办 qq提现不到账怎么办 提现的钱不到账怎么办 联璧金融提现不到账怎么办 孕早期拉稀拉水怎么办 兔子嘴巴摔烂了怎么办 猫咪耳朵里有黑的东西怎么办 兔子的腿骨折了怎么办 德牧耳朵立不起来怎么办 童鞋魔术贴太长了怎么办? 许昌国贸360手机没电怎么办 滴滤油膜泡泡不破怎么办 商铺转让不出去怎么办 手机导航gps信号弱怎么办 卖家收到退货有破损怎么办 手办寄快递盒子坏了怎么办 淘宝收到衣服破损的怎么办 收到的快递少了怎么办