/* * SPGFF - Dual-edge triggered synopsys model * Characterized pre-layout using supply=1.8V and temp=25 * THIS MODEL IS MEANT TO BE INCLUDED WITH THE * TSMC 0.18u CMOS SYNOPSYS LIBRARY MODEL * */ cell (DETFFX1) { cell_footprint : dff; area : 56.5488; pin(D) { direction : input; capacitance : 0.00855; internal_power() { rise_power(passive_energy_template_1x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); values ("0.0062, 0.0056, 0.0055, 0.0055, 0.0054, 0.0054, 0.0059"); } fall_power(passive_energy_template_1x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); values ("0.0013, 0.0007, 0.0004, 0.0003, 0.0002, 0.0002, 0.0003"); } } timing() { related_pin : "CK"; timing_type : setup_rising; rise_constraint(setup_template_3x2) { index_1 ("0.0300, 0.9000, 3.0000"); index_2 ("0.0300, 3.0000"); values ( \ "0.0, -1.1", \ "0.8, -0.7", \ "2.4, 0.02"); } fall_constraint(setup_template_3x2) { index_1 ("0.0300, 0.9000, 3.0000"); index_2 ("0.0300, 3.0000"); values ( \ "-0.02, -1.1", \ "0.5, -0.8", \ "2.0, 0.8"); } } timing() { related_pin : "CK"; timing_type : hold_rising; rise_constraint(hold_template_3x2) { index_1 ("0.0300, 0.9000, 3.0000"); index_2 ("0.0300, 3.0000"); values ( \ "-0.08, -1.65", \ "0.48, -1.16", \ "1.7, -0.16"); } fall_constraint(hold_template_3x2) { index_1 ("0.0300, 0.9000, 3.0000"); index_2 ("0.0300, 3.0000"); values ( \ "-0.08, -1.5", \ ".20, -1.1", \ "0.9, 0.06"); } } } pin(CK) { direction : input; clock : true; capacitance : 0.00984; internal_power() { rise_power(passive_energy_template_1x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); values ("0.0640, 0.0641, 0.0626, 0.0719, 0.0834, 0.0981, 0.1161"); } fall_power(passive_energy_template_1x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); values ("0.0709, 0.0710, 0.0737, 0.0830, 0.0934, 0.0981, 0.116"); } } min_pulse_width_high : 0.1800; min_pulse_width_low : 0.2500; } ff(IQ,IQN) { clocked_on : "CK"; next_state : "D"; } pin(Q) { direction : output; capacitance : 0.0; function : "IQ"; internal_power() { related_pin : "CK"; equal_or_opposite_output : "QN"; rise_power(energy_template_7x3x3) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.08400, 0.31150"); index_3 ("0.00035, 0.08400, 0.31150"); values ( \ "0.0444, 0.04644, 0.03768", "0.04932, 0.04428, 0.03648", "0.04956, 0.04752, 0.03648" \ "0.04308, 0.04476, 0.03684", "0.0474, 0.04284, 0.03444", "0.04764, 0.04608, 0.03444" \ "0.04284, 0.04344, 0.03504", "0.04764, 0.0456, 0.03744", "0.04788, 0.04896, 0.03384" \ "0.04764, 0.04356, 0.03492", "0.04728, 0.04392, 0.03612", "0.04752, 0.04716, 0.03612" \ "0.04728, 0.04488, 0.03588", "0.04728, 0.04368, 0.03588", "0.04764, 0.04692, 0.03588" \ "0.04908, 0.04452, 0.0366", "0.0486, 0.04608, 0.0378", "0.04884, 0.04932, 0.0378" \ "0.04908, 0.0462, 0.03672", "0.04908, 0.04752, 0.03792", "0.04896, 0.04848, 0.03792"); } fall_power(energy_template_7x3x3) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.08400, 0.31150"); index_3 ("0.00035, 0.08400, 0.31150"); values ( \ "0.04272, 0.04332, 0.04344", "0.04068, 0.04116, 0.04404", "0.03168, 0.03288, 0.03288" \ "0.04128, 0.04212, 0.04236", "0.04128, 0.0396, 0.0426", "0.03324, 0.03084, 0.03084" \ "0.04164, 0.042, 0.042", "0.0414, 0.0402, 0.0432", "0.03264, 0.03144, 0.03144" \ "0.04344, 0.04248, 0.0426", "0.0408, 0.04044, 0.04344", "0.03252, 0.03252, 0.03252" \ "0.0456, 0.04416, 0.04428", "0.04272, 0.0408, 0.04404", "0.03468, 0.03228, 0.03348" \ "0.048, 0.0456, 0.04548", "0.04452, 0.04152, 0.0444", "0.0366, 0.0342, 0.0342" \ "0.04932, 0.04668, 0.04656", "0.04716, 0.04668, 0.04776", "0.03792, 0.03672, 0.03672"); } } timing() { related_pin : "CK"; timing_type : rising_edge; timing_sense : non_unate; cell_rise(delay_template_7x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.02100, 0.03850, 0.08400, 0.14700, 0.23100, 0.31150"); values ( \ "0.1995, 0.2256, 0.2467, 0.2982, 0.3643, 0.4502, 0.5361", \ "0.2091, 0.2366, 0.2573, 0.3096, 0.3759, 0.4618, 0.5438", \ "0.2688, 0.2928, 0.3129, 0.3637, 0.4294, 0.5159, 0.5978", \ "0.3391, 0.3667, 0.3879, 0.4397, 0.5073, 0.5935, 0.6743", \ "0.4161, 0.4443, 0.4663, 0.5188, 0.5852, 0.6714, 0.7525", \ "0.4922, 0.5197, 0.5416, 0.5947, 0.6608, 0.7473, 0.8283", \ "0.571, 0.5959, 0.6181, 0.6715, 0.7378, 0.8245, 0.9081"); } rise_transition(delay_template_7x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.02100, 0.03850, 0.08400, 0.14700, 0.23100, 0.31150"); values ( \ "0.1016, 0.1484, 0.1944, 0.2826, 0.4081, 0.5781, 0.7439", \ "0.1039, 0.1475, 0.1922, 0.2818, 0.4078, 0.5784, 0.7432", \ "0.09903, 0.1431, 0.1864, 0.2682, 0.4062, 0.5767, 0.7426", \ "0.1091, 0.1499, 0.187, 0.2827, 0.4039, 0.5765, 0.745", \ "0.1074, 0.1598, 0.1889, 0.2797, 0.4116, 0.5805, 0.7462", \ "0.111, 0.1643, 0.1951, 0.2892, 0.4141, 0.5767, 0.7468", \ "0.1241, 0.1648, 0.2096, 0.2953, 0.4168, 0.5842, 0.7474"); } cell_fall(delay_template_7x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.02100, 0.03850, 0.08400, 0.14700, 0.23100, 0.31150"); values ( \ "0.1727, 0.1948, 0.2111, 0.2526, 0.3097, 0.3847, 0.4592", \ "0.1831, 0.2065, 0.2209, 0.2641, 0.3196, 0.3982, 0.4729", \ "0.2217, 0.2483, 0.2689, 0.3201, 0.384, 0.4647, 0.5397", \ "0.3104, 0.3382, 0.3589, 0.4094, 0.4729, 0.553, 0.6276", \ "0.4029, 0.433, 0.4538, 0.5046, 0.5681, 0.6485, 0.7228", \ "0.4969, 0.5268, 0.548, 0.5998, 0.662, 0.7423, 0.8157", \ "0.5999, 0.6297, 0.6513, 0.7025, 0.7688, 0.848, 0.9223"); } fall_transition(delay_template_7x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.02100, 0.03850, 0.08400, 0.14700, 0.23100, 0.31150"); values ( \ "0.0969, 0.1381, 0.1738, 0.2515, 0.3619, 0.5104, 0.6411", \ "0.09871, 0.1405, 0.1676, 0.2541, 0.3642, 0.5113, 0.6407", \ "0.1007, 0.1401, 0.1746, 0.2523, 0.3621, 0.5102, 0.6443", \ "0.1139, 0.15, 0.1743, 0.2537, 0.3659, 0.507, 0.6442", \ "0.1205, 0.1606, 0.1855, 0.2639, 0.3655, 0.5083, 0.6445", \ "0.1276, 0.1725, 0.1859, 0.2632, 0.3746, 0.5051, 0.6427", \ "0.1394, 0.1797, 0.1961, 0.2748, 0.3754, 0.5146, 0.6486"); } } max_capacitance : 0.31150; } pin(QN) { direction : output; capacitance : 0.0; function : "IQN"; timing() { related_pin : "CK"; timing_type : rising_edge; timing_sense : non_unate; cell_rise(delay_template_7x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.02100, 0.03850, 0.08400, 0.14700, 0.23100, 0.31150"); values ( \ "0.1674, 0.229, 0.2791, 0.3901, 0.5481, 0.7411, 0.9239", \ "0.18, 0.2394, 0.2875, 0.4029, 0.5618, 0.7548, 0.9377", \ "0.2476, 0.3092, 0.355, 0.4701, 0.628, 0.821, 1.005", \ "0.3397, 0.4018, 0.4466, 0.5638, 0.7147, 0.9085, 1.092", \ "0.431, 0.4956, 0.5425, 0.6657, 0.8093, 1.003, 1.188", \ "0.5271, 0.5914, 0.6308, 0.7497, 0.9023, 1.096, 1.28", \ "0.6308, 0.7023, 0.7347, 0.8568, 1.009, 1.203, 1.387"); } rise_transition(delay_template_7x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.02100, 0.03850, 0.08400, 0.14700, 0.23100, 0.31150"); values ( \ "0.0344, 0.07428, 0.1209, 0.2222, 0.3365, 0.5016, 0.654", \ "0.03359, 0.08082, 0.1268, 0.2098, 0.3429, 0.504, 0.6531", \ "0.03126, 0.08521, 0.1253, 0.2156, 0.3423, 0.5039, 0.6533", \ "0.03693, 0.07917, 0.116, 0.2153, 0.3324, 0.4948, 0.6532", \ "0.02986, 0.0741, 0.1118, 0.2161, 0.3439, 0.5012, 0.6483", \ "0.03571, 0.07618, 0.1333, 0.2072, 0.3431, 0.4956, 0.6563", \ "0.03475, 0.08051, 0.1232, 0.2076, 0.3433, 0.5023, 0.6515"); } cell_fall(delay_template_7x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.02100, 0.03850, 0.08400, 0.14700, 0.23100, 0.31150"); values ( \ "0.2112, 0.2644, 0.3032, 0.4075, 0.5407, 0.7305, 0.9101", \ "0.2261, 0.2758, 0.3161, 0.4187, 0.5527, 0.7392, 0.9195", \ "0.2815, 0.3316, 0.3698, 0.4716, 0.5968, 0.7744, 0.9547", \ "0.3521, 0.4043, 0.4437, 0.5466, 0.6765, 0.8436, 1.006", \ "0.4298, 0.4832, 0.5242, 0.6236, 0.7526, 0.9194, 1.085", \ "0.505, 0.5591, 0.6056, 0.6951, 0.8267, 0.9986, 1.159", \ "0.5814, 0.6357, 0.6742, 0.7753, 0.9042, 1.076, 1.239"); } fall_transition(delay_template_7x7) { index_1 ("0.0300, 0.1000, 0.4000, 0.9000, 1.5000, 2.2000, 3.0000"); index_2 ("0.00035, 0.02100, 0.03850, 0.08400, 0.14700, 0.23100, 0.31150"); values ( \ "0.0377, 0.07867, 0.1266, 0.2091, 0.3409, 0.4995, 0.6563", \ "0.0441, 0.07951, 0.1228, 0.2069, 0.3434, 0.5023, 0.6559", \ "0.03974, 0.08495, 0.1151, 0.2103, 0.3413, 0.4985, 0.6576", \ "0.03363, 0.07974, 0.1242, 0.2116, 0.3392, 0.5012, 0.6575", \ "0.0371, 0.08578, 0.136, 0.2242, 0.3485, 0.495, 0.657", \ "0.03739, 0.115, 0.1392, 0.2145, 0.3427, 0.5069, 0.6598", \ "0.04843, 0.09975, 0.1252, 0.2294, 0.3437, 0.5065, 0.6595"); } } max_capacitance : 0.31150; } cell_leakage_power : 0.2513; }