// Encounter Library Characterizer setup file // Define voltage and temp for process corners Process typical{ voltage = 5.0; temp = 25; Corner = "TT"; Vtn = 0.67; Vtp = 0.92; }; Process best{ voltage = 5.5; temp = 0; Corner = "FF"; Vtn = 0.63; Vtp = 0.89; }; Process worst{ voltage = 4.5; temp = 125; Corner = "SS"; Vtn = 0.71; Vtp = 0.92; }; // define measurement percentages for std_cell measurements Signal std_cell { unit = REL; Vh=1.0 1.0; Vl=0.0 0.0; Vth=0.5 0.5; Vsh=0.8 0.8; Vsl=0.2 0.2; tsmax=2.0n; }; // Define special measurements for our flow // (using 30/70 delay measurement) Signal std_cell_6710 { unit = REL; Vh=1.0 1.0; Vl=0.0 0.0; Vth=0.3 0.7 0.7 0.3; Vsh=0.8 0.8; Vsl=0.2 0.2; tsmax=2.0n; }; Signal VDD5.0V { unit = ABS; Vh=5.0 5.0; Vl=0.0 0.0; Vth=2.5 2.5; Vsh=2.0 2.0; Vsl=0.5 0.5; tsmax=2.0n; }; // Set some parameters for how the simulation will proceed Simulation std_cell{ transient = 0.1n 80n 10p; dc = 0.1 4.5 0.1; bisec = 6.0n 6.0n 100p; resistance = 10MEG; }; // Default indices for the look up tables Index DEFAULT_INDEX{ Slew = 0.100n 0.30n 0.7n 1.0n 2.0n; Load = 0.025p 0.05p 0.1p 0.3p 0.6p; }; // Indices for cells that are named with Xn where // n is the drive strength. X1 is a standard unit-sized // inverter drive. Index X1{ Slew = 0.100n 0.30n 0.7n 1.0n 2.0n; Load = 0.025p 0.05p 0.1p 0.3p 0.6p; }; Index X2{ Slew = 0.100n 0.30n 0.7n 1.0n 2.0n; Load = 0.050p 0.10p 0.2p 0.6p 1.2p; }; Index X4{ Slew = 0.100n 0.30n 0.7n 1.0n 2.0n; Load = 0.1p 0.2p 0.4p 1.2p 2.4p; }; Index X8{ Slew = 0.100n 0.30n 0.7n 1.0n 2.0n; Load = 0.2p 0.4p 0.8p 2.4p 4.8p; }; Index Clk_Slew{ bslew = 0.100n 0.5n 1.0n; }; Index IO5x5{ Slew = 0.1n 0.3n 0.6n 1.3n 3.0n; Load = 5p 10p 20p 50p 75p; }; Group POWR{ PIN = *.Vdd *.Vdd2; }; Group Core_Pins{ PIN = *.DO *.DI ; }; Group Pad_Pins{ PIN = *.YPAD ; }; // Define groups by cell names // Cells not in these groups will get the default indices Group X1{ CELL = *X1 ; }; Group X2{ CELL = *X2 ; }; Group X4{ CELL = *X4 ; }; Group X8{ CELL = *X8 ; }; Group Clk_Slew{ PIN = *.CLK ; }; // Define derating coefficients for margins // 1.0 means no margins. Margin m0 { setup = 1.0 0.0 ; hold = 1.0 0.0 ; release = 1.0 0.0 ; removal = 1.0 0.0 ; recovery = 1.0 0.0 ; width = 1.0 0.0 ; delay = 1.0 0.0 ; power = 1.0 0.0 ; cap = 1.0 0.0 ; } ; Nominal n0 { delay = 0.5 0.5 ; power = 0.5 0.5 ; cap = 0.5 0.5 ; } ; set process(typical,best,worst){ simulation = std_cell; signal = std_cell_6710; margin = m0; nominal = n0; }; set index(typical,best,worst){ Group(X1) = X1; Group(X2) = X2; Group(X4) = X4; Group(X8) = X8; Group(Pad_Pins) = IO5x5; Group(Core_Pins) = X4; Group(Clk_Slew) = Clk_Slew; }; set signal(typical,best,worst){ Group(POWR) = VDD5.0V; };