ghong6003的个人空间 https://blog.eetop.cn/1430538 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

AOCV:Advanced On-Chip Variation

热度 2已有 5189 次阅读| 2018-1-25 16:33 |个人分类:STA|系统分类:芯片设计

Reference: PrimeTime_AOCV_APPNote_6.0.pdf
1. What's the difference between OCV and AOCV?

    (1) OCV(on-chip variations):using a global derating value to add design margin
    (2) AOCV:AOCV models the random and systematic variations across an IC that affect timing by using variable derating factors that consider the location and the logic depth of each path being analyzed. By using context-specific derating values instead of a single global derating value, you can reduce excessive design margins and have fewer timing violations

2. How PT work with AOCV?
    (1) PrimeTime uses derating tables to specify the AOCV information. PrimeTime calculates and applies variable derating factors that consider the location and the depth of each path being analyzed.
    (2)In PrimeTime, the AOCV solution is integrated into the graph-based and path-based analysis capabilities, which enables a successive refinement strategy of analysis that is already used today with traditional static timing analysis (STA). Graph-based and path-based analysis with AOCV is analogous to graph-based and path-based analysis in the traditional static timing analysis context.

3.What's the difference between Graph-based and Path-based AOCV?
    (1)Graph-based AOCV analysis
     Delivers fast, design-wide analysis using the update_timing command. With AOCV, pessimism is reduced compared to OCV analysis. For most designs, graph-based AOCV is sufficient for signoff.
     Graph-based AOCV is a prerequisite for further analysis and margin reduction using path-based AOCV analysis on selected critical paths.
    (2) Path-based AOCV analysis
     Provides additional pessimism reduction by performing path-specific recalculation on critical paths that are still violating after graph-based AOCV.
     Uses path-specific path-depth and location-based bounding box values to determine path-specific derating values.
     Does not worsen a path’s slack.
    (3)You must perform. graph-based AOCV analysis before running any path-based AOCV analysis. Note that path-based AOCV analysis is computationally intensive. As with traditional static timing and OCV analysis, path-based complexity scales with the number of paths analyzed, and its runtime can be exponential.
    (4)To perform. graph-based AOCV analysis, PrimeTime chooses conservative values of path-depth and location-based bounding box to bound the worst-case path through a cell. By design, graph-based analysis always provides a conservative analysis compared to path-based analysis to prevent an optimistic calculation. For example, in graph-based AOCV analysis, the “depth” count for a cell does not exceed that of the path of minimum depth that traverses that cell; otherwise, the analysis might be optimistic for the minimum-depth path.
    (5)The AOCV metrics computation is different for graph-based and path-based AOCV. In graph-based AOCV, the AOCV metrics are calculated for all paths through each timing arc. In path-based mode, the AOCV metrics are calculated specific to the path being analyzed.

4. How Path-Based AOCV Metrics Computation??
    (1)In path-based AOCV, the metrics are calculated on a per path basis. The path depth is determined by counting the number of objects, which can be either leaf cells or nets, in a path. The net path depths might be different from the cell path depths.
    (2)Cell path distance is determined by computing the diagonal of a box that encompasses all of the cells in the path.
    (3) net path distance is determined by computing the diagonal of a box that
encompasses all of the nets in the path
    (4) PrimeTime assumes that the variation in the common path is zero.
    (5) For an AOCV flow, it is strongly recommended that you set the pba_aocvm_only_mode variable to true so that path-specific AOCV metrics are used

5. How Graph-based AOCV Metrics Computation?

    (1)PrimeTime computes depth and distance metrics conservatively for each object
    (2)Note that arcs in the clock network can have separate depth and distance values for launch, capture, and data.
    (3)In graph-based analysis, there are multiple possible common points for a cell. This is because many paths, each with different launch and capture devices, can pass through a cell in the data path.

6. AOCV Flow:

    (1) AOCV setup
         1)read in the design,
         2)load the parasitics with coordinate information,
                   Importing SPEF with physical locations
                   pt_shell> set_app_var read_parasitics_load_locations true
                   pt_shell> read_parasitics …
         3) apply the constraints,
         4)enable AOCV analysis,
           To enable graph-based AOCV analysis, set the timing_aocvm_enable_analysis variable to true:
            pt_shell> set_app_var timing_aocvm_enable_analysis true
         5)specify AOCV information
          To load AOCV derating information from a disk file, use the read_aocvm command:
          pt_shell> read_aocvm aocv_file_name
    (2) AOCV reporting phases
         1)Reporting AOCV Deratings 
         *)To display AOCV information, including AOCV derating table data, use the report_aocvm command.
          pt_shell> report_aocvm
          *)If you specify a timing path in the object_list argument, PrimeTime displays path metrics (distance, launch depth, and capture depth) for that path
          pt_shell> report_aocvm [get_timing_path -from ff1/ck -to ff2/D -path full_clock_expanded -pba_mode path]
          *)If you specify a timing arc in the object_list argument, PrimeTime displays graph-based AOCV metrics for that arc.
          pt_shell> report_aocvm [get_timing_arc -from u0/A -to f0/Y]
         2)Reporting AOCV Analysis Results
         *) When AOCV analysis is enabled, all of the graph-based reporting commands reflect AOCV results.
         pt_shell> report_constraint
         pt_shell> report_clock_timing –derate …
         pt_shell> report_timing –nworst 2000000 –max_paths 2000000 –derate
         *)For path-based AOCV analysis, the report_timing command with the -pba_mode path option displays the timing report with AOCV derating factors.
         pt_shell> report_timing -pba_mode path
         pt_shell> get_timing_paths -pba_mode path
         *)To perform. an exhaustive path search for the worst recalculated timing, use the report_timing command with the -pba_mode exhaustive option.
         pt_shell> report_timing –pba_mode exhaustive -slack_lesser_than 0
         *)For an AOCV flow, it is strongly recommended that you set the pba_aocvm_only_mode variable to true so that path-specific AOCV metrics are used
          pt_shell> set_app_var pba_aocvm_only_mode true

7.AOCV File Format
    (1)version: aocv_format_version
        Valid version numbers are 1.0, 2.0, and 3.0. To use the path_type field, set the version field to 2.0. To use the group_name field, set the version field to 3.0.
    (2) group_name: name
    (3) object_type: design | cell| lib_cell
    (4) rf_type: rise | fall| rise fall
    (5) delay_type: cell | net | cell net
    (6) derate_type: early | late
    (7) object_spec: [patterns] [-filter expression]
    (8) voltage: floating_number
    (9) path_type: data | clock | data clock
    (10) depth: list_of_floating_numbers
    (11) distance: list_of_floating_numbers
    (12) table: array_of_NxM_floating_numbers

8. Additional AOCV Capabilities:
    (1) Clock and Data Network AOCV Analysis (Default)
    (2) Restricting AOCV Analysis to Clock Network
         pt_shell> set_app_var timing_aocvm_analysis_mode clock_network_only
    (3) Computing Single Path Metrics for All Path Objects
         pt_shell> set_app_var timing_aocvm_analysis_mode single_path_metrics
    (4) Combining Launch and Capture Depth Analysis
         pt_shell> set_app_var timing_aocvm_analysis_mode combined_launch_capture_depth     
    (5) Separating AOCV Derating Values for Clock and Data Paths
         pt_shell> set_app_var timing_aocvm_analysis_mode separate_data_and_clock_metrics
    (6) AOCV Coefficients
    (7) Guard-Banding in AOCV
    (8) Using OCV Deratings in AOCV Analysis
    (9) Incremental Timing Deratings
    (10) Applying Voltage-Dependent AOCV
    (11) AOCV Table Groups
    (12) Encrypting AOCV Information
           pt_shell > write_binary_aocvm aocvm_file binary_file

9. Interaction with Other PrimeTime Features
    (1) Clock Reconvergence Pessimism Removal (CRPR),When the timing_remove_clock_reconvergence_pessimism variable is set to true, graph-based derating values are used in the common path for path-based AOCV analysis. If CRPR is disabled, the common portion of the path is not derated for path-based AOCV analysis.it is strongly recommended that you enable CRPR during an AOCV analysis
    (2) AOCV Behavior. in same_transition Mode :When the timing_clock_reconvergence_pessimism variable is set to same_transition, and there is a clock-edge mismatch at the common point, the AOCV metrics are computed over the entire launch and capture paths. The resulting deratings apply to the entirety of those paths
    (3) Distributed Multi-Scenario Analysis
    (4) Hierarchical AOCV Flow
    (5) Crosstalk Delta Delay Derating with AOCV
    (6) Cell Timing Check Derating with AOCV
    (7) Combined Advanced On-Chip Variation and Variation-Aware Analysis

10.Optional Path-Based AOCV Analysis
       *all flows that perform. AOCV analysis need to start with graph-based AOCV analysis. It is strongly recommended not to run traditional OCV analysis
       When a design is close to timing closure using AOCV graph-based analysis results, you can analyze additional paths for greater pessimism reduction using AOCV path-based analysis. There are two methods of using AOCV path-based analysis:
                Regular mode (-pba_mode path option)
                Exhaustive mode (-pba_mode exhaustive option)
        (1) AOCV Path-Based Analysis in Regular Mode(report_timing -pba_mode path), A design should be brought as close to timing closure as possible with AOCV graph-based analysis before using AOCV path-based analysis.
        (2) AOCV Path-Based Analysis in Exhaustive Mode(report_timing -pba_mode exhaustive), If there are large differences in slack values between the graph-based analysis and path-based analysis, PrimeTime might need to analyze millions of paths per endpoint to ensure that the worst one has been found.
            Large -nworst values can significantly increase the runtime of a search. The pba_exhaustive_endpoint_path_limit variable helps prevent excessive runtime

11.What's the difference of object_type(design | cell | lib_cell), and when to specify the AOCV file object_type?
            (1) design means that the lib_cells in this AOCV table will be used to the design block which specified by design hierarchy.
            (2) cell means that this AOCV will be used to specified cell with the cells hierarchy.
            (3) lib_cell means the lib cell used AOCV table and the lib name and cell name specified by object_spec option in AOCV table

12. How to generate the AOCV file? who provide the file and it's parameters?
          (1) AOCV table file can be generaged by use Synopsys SilicomSmart tool , SiliconSmart provides two approaches for statistical characterization: sensitivity based and Monte Carlo based.

13. Difference Variations:
    (1) die-to-die variation: modeled by PVT(Process, Voltage, Temperature)
    (2) on-chip variation

14. What's Sigma and Mean?
    (1) Sigma is statistics value which used to calculate the biasis.
    (2) Sigma/Mean more little means more little biasis.

15. What's Monte Carlo Simulation?
    (1) Statistics

16 . What's the delay_type(rise and fall) , and derating type(early and late) in AOCV file, when they will be used ?
          (1) Through a path, if the output transfer form. H -> L , it's fall; L -> H, it's rise;
          (2) When report setup in PT, data path use late to calculate, and clock path use late value to calculate.

17. When to use the path depth in AOCV file?
       The path depth mean all the cells in the path, if the path depth is 10, then all the cells in the path use depth 10 value to calculate the timing.

18. What the relationship of cell size and AOCV value?
          The little size cell have more little derating value, so the nanometer design need to do AOCV analysis.

19. What's the difference of CRPR (early and late)  and AOCV (early and late)?

       (1) CRPR use the cells max/min delay to calculate data and clock path( max for data, and min for clock when do setup check)(max for clock and min for data when do hold check)

      (2) AOCV early and late is a parameter which used to multiply to the max/min delay value.(max*late and min*early to calculate the delay)

     (3) AOCV reports are more pessimistic.

 
2

点赞

刚表态过的朋友 (2 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 1

    关注
  • 3

    粉丝
  • 0

    好友
  • 2

    获赞
  • 1

    评论
  • 1539

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 03:40 , Processed in 0.015194 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部