ETS (Encounter Timing System) Multi-Mode Multi-Corner ECO for hold SI timing fixing Bing Shao, Lois Li, Xia Ai (VIA Tech) Abstract: In this paper, we describe the new feature of ETS (Encounter Timing System) named Multi-Mode Multi-Corner ECO (Engineering Change Order), and show utility with the example of the running scripts. By running on two real cases to fixing the post-Route hold SI timing, we give the summary of the results of timing and TAT and memory. 1 Overview With the development of technology and increasing of integrated scale, at 40nm and the high technologies, many cores and many modes should be sign off for the process variation and working scenario. For example, one of our designs at TSMC 40nm, we should sign-off at 4 setup views and 8 hold views and 8 function modes. As we know, at the post Route stages, optimization of the implementation tools should keep many factor in consideration such as timing optimization, area reduction, DRV fixing and routing, so the capability of PR tools is limited, and run time is very long for multi-corners, so another methodology for post-Route timing and SI timing fixing is prefer to be incremental to save the run time and memory usage. And ECO (Engineer Change Order) methodology is used to clean up the remaining timing violations, there are many point tools or features can do the ECO such as Tweaker(Dorado), Olympus(Mentor), ETS(CADNECE). Timing was not optimized across all analysis views during implementation flow to avoid over-fixing and designer is relying on Sign-Off stage to catch real violations, it is the main reason of requirement for the ECO. And there is other reasons for the ECO such as block level vs top level timing analysis do not match which may be caused by timing budgeting was not precise or not always performed (for Hold timing); additional corners and/or modes are added at the time of signoff; timing model differences between implementation and sign-Off. 2 ETS MMMC Signoff ECO Feature It is the new feature available in ETS to address the concerns mentioned above. It is easy to plug-in in any SignOff analysis flow and allows users to clean up the remaining timing violations. This feature capacity allows fixing timing violations on large designs (multi-million instances) with many analysis views. The Key Features of ETS MMMC ECO is as the following: • • • • • • • Focus on timing convergence by being MMMC-aware, STA Sign-Off aware, SI-aware and Physical-aware (optional). Concurrent and distributed timing analysis. Highly scalable. Targets minimal buffer insertion and resizing for timing closure. The local density and congestion will be considered when adding buffers in Physical-aware mode. Support for MSV designs. Honoring all modules/instances/cells/nets/clocks specific attributes. Needs only one single ECO loop to close timing. 3 MMMC Sign-Off ECO flow The integrated Sign-Off ECO flow is composed of three parts generally. Firstly, generate the timing ECO at ETS and write the ECO files. Secondly, read the ECO files to implementation tools such as EDI (Encounter Digital Implementation), doing ECO placement and ECO routing, and running Sign-Off QRC Extraction. Finally, we should do sign-off STA using timing sign-Off tools such as ETS to check the timing after ECO base on the extraction after ECO database. As the following picture showing: Pic 3-1 MMMC sign-Off ECO flow 4 Two methods to perform MMMC Sign-Off ECO in ETS There are two methods to perform MMMC sign-off ECO, and the user can select the way to do according the requirement. a. Timing fixing with embedded Distributed Timing Analysis In this mode, the software will load the design/libraries data, run Distributed Timing Analysis to collect the timing information per view, optimize timing, and finally re-time the design based on the ECO change committed. This is the simplest use model since everything is automated in single step. It requires that the number of CPUs available is more or equal to the amount of Setup + Hold unique active views. b. Timing fixing with previously generated ECO db from ETS. In this mode the tool will load the design/libraries data, then read the previously generated ECO timing db, optimize timing and report the final timing based on the evaluated timing. This allows the user to run fixing on many more views, since there is no limit on the amount of active views. 5 Two modes to perform MMMC Sign-Off ECO in ETS There are also two modes to run the ECO, one is logic mode, and the other is physical-aware mode. At logic mode, we just read the logic information to ETS, while at physical-aware mode, we should read the physical information to ETS such as physical library, and DEF file. Physical-aware mode can get much better results than logical mode, as the following results from CDN’s report showing. At our real case, ETS running at logic mode degrade the setup timing mostly because the large detour when ecoRoute in EDI, and when come to physical-aware mode, the correlation between ETS and EDI is very good. The following is the example of the scripts for logic mode and physical-aware mode for the reference. a. Timing fixing with embedded Distributed TA using Logical mode read_lib $liberty read_verilog $netlist set_top_module my_top source viewDefinition.tcl set_distribute_host -local set_multi_cpu_usage -localCpu 8 set_eco_opt_mode –buffer_cell_list “BUFX1 BUFX2 BUFX4 BUFX6 BUFX8 DLYX1 DLYX2 DLYX4" eco_opt_design –hold –analysis_script sta.tcl Note: sta.tcl must contain read_spef command for every active rc_corner, and SI analysis settings in case SI timing is requested for SignOff. b. Timing fixing with embedded Distributed TA using Physical-aware mode read_lib $liberty read_lib –lef $lef read_verilog $netlist set_top_module my_top source viewDefinition.tcl read_def $def_file set_distribute_host -local set_multi_cpu_usage -localCpu 8 set_eco_opt_mode –buffer_cell_list “BUFX1 BUFX2 BUFX4 BUFX6 BUFX8 DLYX1 DLYX2 DLYX4" eco_opt_design –hold –analysis_script sta.tcl ECO timing DB generation using D-MMMC : set_distribute_host -local set_multi_cpu_usage -localCpu 8 distribute_read_design \-design_script loadDesign.tcl -outdir . distribute_views -views $setup_and_hold_views \-script sta.tcl Content example for sta.tcl : read_spef -rc_corner rc_max max.spef.gz read_spef -rc_corner rc_min1 min1.spef.gz read_spef -rc_corner rc_min2 min2.spef.gz set_eco_opt_mode –save_eco_opt_db mySignOffTGDir write_eco_opt_db Timing fixing using previously generated ECO timing DB : source loadDesign.tcl set_analysis_view –setup [list $setup_views] \-hold [list $hold_views] set_distribute_host -local set_multi_cpu_usage -localCpu 8 set_eco_opt_mode –load_eco_opt_db mySignOffTGDir set_eco_opt_mode –buffer_cell_list “BUFX1 BUFX2 BUFX4 BUFX6 BUFX8 DLYX1 DLYX2 DLYX4" eco_opt_design –hold –analysis_script sta.tcl Note: The eco_opt_design command will automatically skip the set_eco_opt_mode and write_eco_opt_db commands from sta.tcl file because ECO timing DB information is already provided. Same methodology applies to Physical-Aware mode. 6 Case study of MMMC Sign-Off ECO We have evaluation the ETS-MMMC sign-off ECO at physical-aware mode for two real projects. Both of them can get the good results for base timing and SI timing, ETS-ECO get some better results with littler memory usage at some short run-time than other point tools. The following is the results of ETS-MMC ECO including SI timing for reference. a. The results of case A T40 process, 2M instances Frequency • 500MHz Stage • PostRoute setup timing clean, not fix hold timing yet. Corner • 1 setup view, 3 hold view b. The results of case B T40 process, 1.4M instances Frequency • 1.4GHz Stage • PostRoute setup timing clean, one loop fix hold timing in one function hold view in EDI yet. Corner 4 setup view, 8 function hold view, 8 atpg hold view 7 Summary As the requirement of incremental ECO methodology for the postRoute hold timing fixing, ETS-ECO show the good performance at timing closure and memory usage and run-time as the following table showing the advantage. n ETS advantage Can perform MMMC hold fixing well on large design with multianalysis views. The run time and memory consumption are acceptable. The physical-aware mode will bring good correlation between EDI & ETS. More easy to plug-in in signoff flow And we also hope ETS can get much more enhancement as the following points Not only insert buffer to fixing the hold timing, we hope there are other method such as useful skew and resize cells to decrease the increment of the size area. Post-Route scan chain re-order method for the hold timing violation at testing mode. ETS MMMC-ECO will be very competitive if it can read the SDF from PT, and get good correlation with PT/SI.