| /* |
| * Copyright 2022 GlobalFoundries PDK Authors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * Single Port SRAM cell name : gf180mcu_fd_ip_sram__sram256x8m8wm1 |
| * Technology : GF 180nm 5V Green |
| * |
| * --------- |
| * Pin name: |
| * --------- |
| * Input Pins : CLK CEN GWEN WEN[7:0] A[7:0] D[7:0] |
| * Inout Pins: VDD VSS |
| * Output Pins: Q[7:0] |
| * |
| * Revision History: 1.0 (Initial Release: June 20, 2014) |
| */ |
| |
| library(gf180mcu_fd_ip_sram__sram256x8m8wm1__tt_025C_5v00) { |
| delay_model : table_lookup; |
| revision : 1.0; |
| date : "June 20, 2014"; |
| comment : "GF 180nm 5V Green"; |
| voltage_unit : "1V"; |
| time_unit : "1ns"; |
| current_unit : "1mA"; |
| leakage_power_unit : "1mW"; |
| nom_process : 1; |
| nom_temperature : 25; |
| nom_voltage : 5.0; |
| capacitive_load_unit (1,pf); |
| pulling_resistance_unit : "1kohm"; |
| |
| /* additional header data */ |
| default_fanout_load : 1; |
| default_inout_pin_cap : 0.045; |
| default_input_pin_cap : 0.045; |
| default_output_pin_cap : 0; |
| default_max_transition : 1.547; |
| default_cell_leakage_power : 0; |
| |
| /* default attributes */ |
| slew_derate_from_library : 1.000; |
| slew_lower_threshold_pct_fall : 10.000; |
| slew_upper_threshold_pct_fall : 90.000; |
| slew_lower_threshold_pct_rise : 10.000; |
| slew_upper_threshold_pct_rise : 90.000; |
| input_threshold_pct_fall : 50.000; |
| input_threshold_pct_rise : 50.000; |
| output_threshold_pct_fall : 50.000; |
| output_threshold_pct_rise : 50.000; |
| default_leakage_power_density : 0; |
| |
| /* k-factors */ |
| k_process_recovery_fall : 1; |
| k_process_recovery_rise : 1; |
| k_process_cell_fall : 1; |
| k_process_cell_leakage_power : 0; |
| k_process_cell_rise : 1; |
| k_process_fall_transition : 1; |
| k_process_hold_fall : 1; |
| k_process_hold_rise : 1; |
| k_process_internal_power : 0; |
| k_process_min_pulse_width_high : 1; |
| k_process_min_pulse_width_low : 1; |
| k_process_setup_fall : 1; |
| k_process_setup_rise : 1; |
| k_process_wire_cap : 0; |
| k_process_wire_res : 0; |
| k_process_pin_cap : 0; |
| k_process_rise_transition : 1; |
| k_temp_cell_fall : 0.000; |
| k_temp_cell_rise : 0.000; |
| k_temp_hold_fall : 0.000; |
| k_temp_hold_rise : 0.000; |
| k_temp_min_pulse_width_high : 0.000; |
| k_temp_min_pulse_width_low : 0.000; |
| k_temp_min_period : 0.000; |
| k_temp_rise_propagation : 0.000; |
| k_temp_fall_propagation : 0.000; |
| k_temp_rise_transition : 0.000; |
| k_temp_fall_transition : 0.000; |
| k_temp_recovery_fall : 0.000; |
| k_temp_recovery_rise : 0.000; |
| k_temp_setup_fall : 0.000; |
| k_temp_setup_rise : 0.000; |
| k_volt_cell_fall : 0.000; |
| k_volt_cell_rise : 0.000; |
| k_volt_hold_fall : 0.000; |
| k_volt_hold_rise : 0.000; |
| k_volt_min_pulse_width_high : 0.000; |
| k_volt_min_pulse_width_low : 0.000; |
| k_volt_min_period : 0.000; |
| k_volt_recovery_fall : 0.000; |
| k_volt_recovery_rise : 0.000; |
| k_volt_setup_fall : 0.000; |
| k_volt_setup_rise : 0.000; |
| k_volt_rise_propagation : 0.000; |
| k_volt_fall_propagation : 0.000; |
| k_volt_rise_transition : 0.000; |
| k_volt_fall_transition : 0.000; |
| |
| voltage_map (VDD, 5.0); |
| voltage_map (VSS, 0.00); |
| operating_conditions(tt_5p0v_25C) { |
| process : 1; |
| temperature : 25; |
| voltage : 5.0; |
| tree_type : balanced_tree; |
| } |
| |
| default_operating_conditions : tt_5p0v_25C; |
| wire_load("Estimate") { |
| resistance : 1.44e-05; |
| capacitance : 0.00018; |
| area : 1.7; |
| slope : 500; |
| fanout_length (1,500); |
| } |
| power_lut_template(power_template) { |
| variable_1 : input_transition_time; |
| index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| } |
| lu_table_template(q_delay_template) { |
| variable_1 : input_net_transition; |
| variable_2 : total_output_net_capacitance; |
| index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| index_2 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| } |
| lu_table_template(q_slew_template) { |
| variable_1 : total_output_net_capacitance; |
| index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| } |
| lu_table_template(constraint_template) { |
| variable_1 : related_pin_transition; |
| variable_2 : constrained_pin_transition; |
| index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| index_2 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| } |
| |
| library_features(report_delay_calculation); |
| |
| type (A_BUS) { |
| base_type : array; |
| data_type : bit; |
| bit_width : 8; |
| bit_from : 7; |
| bit_to : 0; |
| downto : true; |
| } |
| type (Q_BUS) { |
| base_type : array; |
| data_type : bit; |
| bit_width : 8; |
| bit_from : 7; |
| bit_to : 0; |
| downto : true; |
| } |
| cell(gf180mcu_fd_ip_sram__sram256x8m8wm1) { |
| area : 147212.4368; |
| dont_use : TRUE; |
| dont_touch : TRUE; |
| interface_timing : TRUE; |
| memory() { |
| type : ram; |
| address_width : 8; |
| word_width : 8; |
| } |
| |
| bus(Q) { |
| bus_type : Q_BUS; |
| direction : output; |
| max_capacitance : 1.119; |
| memory_read() { |
| address : A; |
| } |
| timing() { |
| related_pin : "CLK"; |
| timing_type : rising_edge; |
| timing_sense : non_unate; |
| when : "((!CEN) & (GWEN))"; |
| sdf_cond : "CEN== 1'b0 && GWEN== 1'b1"; |
| cell_rise(q_delay_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119"); |
| values ( \ |
| "4.56924, 4.58664, 4.647, 4.74636, 4.8942, 5.0994, 5.36832", \ |
| "4.5726, 4.58808, 4.65036, 4.74732, 4.8972, 5.10216, 5.3682", \ |
| "4.57788, 4.5966, 4.65096, 4.75116, 4.90224, 5.1084, 5.37408", \ |
| "4.58376, 4.60212, 4.66188, 4.761, 4.911, 5.11476, 5.38416", \ |
| "4.59036, 4.6062, 4.66932, 4.76688, 4.91916, 5.121, 5.39028", \ |
| "4.59924, 4.61844, 4.67292, 4.77552, 4.91916, 5.12604, 5.39652", \ |
| "4.58808, 4.6104, 4.66632, 4.76412, 4.91076, 5.11704, 5.38512" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119"); |
| values ( \ |
| "0.16728, 0.193944, 0.293448, 0.47322, 0.760944, 1.18441, 1.73928" \ |
| ) |
| |
| } |
| cell_fall(q_delay_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119"); |
| values ( \ |
| "4.71576, 4.73436, 4.79244, 4.88376, 5.0052, 5.15532, 5.35128", \ |
| "4.7178, 4.73592, 4.7952, 4.88532, 5.00844, 5.16204, 5.34984", \ |
| "4.72368, 4.74216, 4.79928, 4.88916, 5.0124, 5.16552, 5.3568", \ |
| "4.72848, 4.7508, 4.80864, 4.8996, 5.01948, 5.1726, 5.36388", \ |
| "4.73496, 4.755, 4.81572, 4.90644, 5.03088, 5.17776, 5.37192", \ |
| "4.74444, 4.7658, 4.82196, 4.9146, 5.0298, 5.18496, 5.37792", \ |
| "4.73496, 4.75788, 4.81104, 4.90116, 5.02224, 5.17548, 5.36976" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119"); |
| values ( \ |
| "0.175236, 0.196392, 0.263148, 0.378876, 0.5466, 0.788136, 1.10702" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.298056; |
| clock : true; |
| max_transition : 1.547; |
| min_pulse_width_high : 2.6907; |
| min_pulse_width_low : 2.666055; |
| min_period : 6.11805; |
| |
| /* WRITE POWER */ |
| internal_power() { |
| when : "!CEN & !GWEN & (!WEN[0] | !WEN[1] | !WEN[2] | !WEN[3] | !WEN[4] | !WEN[5] | !WEN[6] | !WEN[7])"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("939.625, 939.625, 939.625, 939.625, 939.625, 939.625, 939.625"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("939.625, 939.625, 939.625, 939.625, 939.625, 939.625, 939.625"); |
| } |
| } |
| /* DISABLED POWER */ |
| internal_power() { |
| when : "CEN"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015"); |
| } |
| } |
| /* READ POWER */ |
| internal_power() { |
| when : "!CEN & GWEN"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("841.225, 841.225, 841.225, 841.225, 841.225, 841.225, 841.225"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("841.225, 841.225, 841.225, 841.225, 841.225, 841.225, 841.225"); |
| } |
| } |
| } |
| |
| pg_pin(VDD) { |
| voltage_name : VDD; |
| pg_type : primary_power; |
| } |
| pg_pin(VSS) { |
| voltage_name : VSS; |
| pg_type : primary_ground; |
| } |
| pin(CEN) { |
| direction : input; |
| capacitance : 0.0182857; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.435039, 0.43054, 0.423115, 0.429814, 0.454465, 0.485716, 0.522511", \ |
| "0.433994, 0.429308, 0.422136, 0.429077, 0.45342, 0.485859, 0.516164", \ |
| "0.432421, 0.429264, 0.421146, 0.428054, 0.448701, 0.474155, 0.507628", \ |
| "0.431508, 0.428241, 0.420816, 0.427867, 0.452199, 0.474276, 0.488114", \ |
| "0.431926, 0.427966, 0.420651, 0.427515, 0.448107, 0.473935, 0.493053", \ |
| "0.432553, 0.42746, 0.420079, 0.427229, 0.451572, 0.473649, 0.484836", \ |
| "0.432366, 0.428186, 0.420123, 0.425447, 0.451396, 0.473143, 0.490556" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.406043, 0.407836, 0.418022, 0.444125, 0.495627, 0.558151, 0.627693", \ |
| "0.40491, 0.407033, 0.416977, 0.443168, 0.494659, 0.555731, 0.626714", \ |
| "0.403579, 0.406153, 0.415976, 0.442134, 0.493119, 0.556094, 0.62414", \ |
| "0.404558, 0.405812, 0.415778, 0.441892, 0.493405, 0.554532, 0.625438", \ |
| "0.403425, 0.405493, 0.415415, 0.441584, 0.49302, 0.555555, 0.625086", \ |
| "0.40293, 0.405218, 0.415151, 0.441991, 0.491645, 0.555269, 0.624811", \ |
| "0.402787, 0.405064, 0.414975, 0.441012, 0.491502, 0.555093, 0.623139" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "1.10807, 1.11256, 1.12, 1.11329, 1.08865, 1.07075, 1.04697", \ |
| "1.114, 1.11869, 1.12586, 1.11892, 1.09458, 1.07467, 1.05867", \ |
| "1.12508, 1.12824, 1.13636, 1.12945, 1.1088, 1.08335, 1.06281", \ |
| "1.1552, 1.15848, 1.1659, 1.15885, 1.13452, 1.11243, 1.0986", \ |
| "1.19611, 1.20007, 1.20737, 1.20052, 1.17992, 1.1541, 1.13497", \ |
| "1.2305, 1.23559, 1.24298, 1.23582, 1.21147, 1.1894, 1.17821", \ |
| "1.25854, 1.26273, 1.27083, 1.26544, 1.23952, 1.21778, 1.20129" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "1.13707, 1.13528, 1.12508, 1.09898, 1.04749, 0.984951, 0.91542", \ |
| "1.14309, 1.14098, 1.13102, 1.10483, 1.05334, 0.992266, 0.921283", \ |
| "1.15392, 1.15135, 1.14153, 1.11536, 1.06438, 1.00141, 0.933361", \ |
| "1.18216, 1.18089, 1.17094, 1.14483, 1.09331, 1.03219, 0.961279", \ |
| "1.22461, 1.22254, 1.21261, 1.18645, 1.13501, 1.07248, 1.00295", \ |
| "1.26012, 1.25784, 1.24789, 1.22106, 1.1714, 1.10778, 1.03825", \ |
| "1.2881, 1.2859, 1.276, 1.24991, 1.19942, 1.13583, 1.06778" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0494975; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.59026, 0.593956, 0.60588, 0.633644, 0.678403, 0.734525, 0.790658", \ |
| "0.588511, 0.592196, 0.603867, 0.631961, 0.676654, 0.733403, 0.789767", \ |
| "0.575058, 0.579766, 0.591668, 0.619311, 0.664169, 0.721083, 0.775533", \ |
| "0.549054, 0.553718, 0.5654, 0.593329, 0.638209, 0.6952, 0.749793", \ |
| "0.506539, 0.510169, 0.521928, 0.549802, 0.594605, 0.651376, 0.705078", \ |
| "0.466862, 0.471548, 0.4829, 0.511115, 0.555973, 0.612964, 0.667788", \ |
| "0.430166, 0.434654, 0.446182, 0.47443, 0.519288, 0.576312, 0.630322" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.628111, 0.631158, 0.649693, 0.68926, 0.756932, 0.846945, 0.951995", \ |
| "0.625702, 0.62964, 0.647757, 0.687918, 0.755348, 0.845064, 0.95062", \ |
| "0.613855, 0.617177, 0.63547, 0.675037, 0.741048, 0.832722, 0.937783", \ |
| "0.586729, 0.591074, 0.609301, 0.647911, 0.716683, 0.806564, 0.912582", \ |
| "0.543499, 0.547712, 0.565785, 0.604329, 0.673277, 0.763037, 0.868307", \ |
| "0.504691, 0.508871, 0.527098, 0.565323, 0.634777, 0.724636, 0.829928", \ |
| "0.468633, 0.472274, 0.49038, 0.528935, 0.597927, 0.687654, 0.793144" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.846736, 0.845548, 0.833822, 0.807598, 0.777843, 0.751652, 0.73326", \ |
| "0.850333, 0.849035, 0.837496, 0.811305, 0.781396, 0.755766, 0.736901", \ |
| "0.850223, 0.84964, 0.837474, 0.81103, 0.781495, 0.755865, 0.737022", \ |
| "0.855921, 0.855756, 0.843557, 0.817212, 0.787446, 0.761728, 0.742874", \ |
| "0.865766, 0.865271, 0.853083, 0.826672, 0.79673, 0.771045, 0.752708", \ |
| "0.86845, 0.86724, 0.855756, 0.829455, 0.799601, 0.773971, 0.755106", \ |
| "0.862741, 0.861322, 0.849871, 0.823559, 0.793705, 0.768064, 0.748704" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.475178, 0.471449, 0.452903, 0.410696, 0.344223, 0.26255, 0.159353", \ |
| "0.480084, 0.474012, 0.455334, 0.413985, 0.348403, 0.266961, 0.162017", \ |
| "0.477565, 0.473605, 0.455906, 0.413941, 0.348975, 0.265719, 0.160392", \ |
| "0.484011, 0.479853, 0.461582, 0.421256, 0.355124, 0.272941, 0.169489", \ |
| "0.493284, 0.489808, 0.471097, 0.430573, 0.364309, 0.2794, 0.177078", \ |
| "0.51986, 0.515108, 0.496705, 0.458843, 0.3872, 0.298661, 0.199863", \ |
| "0.574486, 0.570229, 0.552299, 0.513513, 0.443003, 0.35508, 0.255575" \ |
| ) |
| } |
| } |
| } |
| bus(WEN) { |
| bus_type : Q_BUS; |
| direction : input; |
| capacitance : 0.00784667; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0, 0, 0, 0, 0, 0, 0", \ |
| "0, 0, 0, 0, 0, 0, 0", \ |
| "0, 0, 0, 0, 0, 0, 0", \ |
| "0, 0, 0, 0, 0, 0, 0", \ |
| "0, 0, 0, 0, 0, 0, 0", \ |
| "0, 0, 0, 0, 0, 0, 0", \ |
| "0, 0, 0, 0, 0, 0, 0" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.255199, 0.259273, 0.277871, 0.319352, 0.384956, 0.467346, 0.570658", \ |
| "0.248316, 0.255679, 0.273519, 0.315436, 0.379676, 0.461428, 0.566852", \ |
| "0.251206, 0.255124, 0.272809, 0.315337, 0.379698, 0.462836, 0.568304", \ |
| "0.245983, 0.250582, 0.268654, 0.308847, 0.375397, 0.456104, 0.560967", \ |
| "0.236476, 0.240114, 0.25853, 0.298551, 0.365376, 0.44902, 0.552475", \ |
| "0.232035, 0.236233, 0.255134, 0.294943, 0.362582, 0.444587, 0.547316", \ |
| "0.234754, 0.242908, 0.260467, 0.300751, 0.368522, 0.452265, 0.554884" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.846736, 0.845548, 0.834251, 0.808423, 0.777843, 0.751652, 0.73326", \ |
| "0.850333, 0.849035, 0.837749, 0.811921, 0.781396, 0.755766, 0.736901", \ |
| "0.850223, 0.84964, 0.837749, 0.811921, 0.781495, 0.755865, 0.737022", \ |
| "0.855921, 0.855756, 0.8437, 0.817872, 0.787446, 0.761728, 0.742874", \ |
| "0.865766, 0.865271, 0.853083, 0.826881, 0.79673, 0.771045, 0.752708", \ |
| "0.86845, 0.86724, 0.855943, 0.830115, 0.799601, 0.773971, 0.755106", \ |
| "0.862741, 0.861322, 0.850014, 0.824186, 0.793705, 0.768064, 0.748704" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.475178, 0.471449, 0.452903, 0.411895, 0.344784, 0.262831, 0.159353", \ |
| "0.48026, 0.474232, 0.455873, 0.415877, 0.349316, 0.268338, 0.162017", \ |
| "0.477565, 0.473979, 0.455906, 0.41459, 0.348975, 0.265719, 0.160392", \ |
| "0.484011, 0.479853, 0.461582, 0.422323, 0.355124, 0.274344, 0.169489", \ |
| "0.493944, 0.489808, 0.471097, 0.431629, 0.364309, 0.2794, 0.177078", \ |
| "0.496837, 0.492591, 0.473682, 0.434445, 0.365838, 0.28424, 0.180464", \ |
| "0.493526, 0.487025, 0.46794, 0.428692, 0.360217, 0.276254, 0.173187" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0404163; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.514866, 0.51073, 0.505769, 0.511808, 0.547426, 0.58674, 0.621632", \ |
| "0.510818, 0.506671, 0.501897, 0.511709, 0.542883, 0.583121, 0.615648", \ |
| "0.511302, 0.505835, 0.500544, 0.50974, 0.542168, 0.581658, 0.616121", \ |
| "0.505076, 0.49973, 0.495715, 0.504823, 0.53746, 0.577478, 0.611006", \ |
| "0.494989, 0.491425, 0.485474, 0.494461, 0.527098, 0.56683, 0.600765", \ |
| "0.493042, 0.487817, 0.482383, 0.491645, 0.523798, 0.563178, 0.598246", \ |
| "0.496848, 0.494307, 0.488235, 0.496584, 0.529793, 0.568348, 0.60357" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.682451, 0.683661, 0.692549, 0.722414, 0.775192, 0.847814, 0.933724", \ |
| "0.678051, 0.677754, 0.689535, 0.718025, 0.771969, 0.843667, 0.928015", \ |
| "0.677391, 0.679305, 0.690745, 0.71764, 0.77187, 0.841643, 0.927212", \ |
| "0.671242, 0.6743, 0.68563, 0.713152, 0.765666, 0.837584, 0.922416", \ |
| "0.659956, 0.664323, 0.674278, 0.70224, 0.753588, 0.826254, 0.916047", \ |
| "0.658856, 0.660088, 0.670186, 0.698423, 0.752114, 0.823757, 0.909755", \ |
| "0.664059, 0.667348, 0.676357, 0.705628, 0.756514, 0.828982, 0.916146" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.535073, 0.538538, 0.541244, 0.539121, 0.539022, 0.537922, 0.536657", \ |
| "0.538714, 0.542278, 0.544874, 0.542762, 0.542663, 0.541552, 0.540287", \ |
| "0.551364, 0.554961, 0.557799, 0.555797, 0.555445, 0.554213, 0.55308", \ |
| "0.57409, 0.577555, 0.580261, 0.578138, 0.578039, 0.576939, 0.575674", \ |
| "0.617166, 0.620928, 0.623524, 0.621654, 0.621302, 0.620202, 0.618937", \ |
| "0.65901, 0.66264, 0.665291, 0.663421, 0.663069, 0.661969, 0.660704", \ |
| "0.694265, 0.696927, 0.700436, 0.698324, 0.698225, 0.697114, 0.69586" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.547503, 0.544995, 0.532411, 0.516538, 0.515867, 0.520652, 0.528759", \ |
| "0.551133, 0.54846, 0.536041, 0.520377, 0.519255, 0.524282, 0.533148", \ |
| "0.563508, 0.561253, 0.548834, 0.532939, 0.53229, 0.537075, 0.545941", \ |
| "0.58652, 0.583847, 0.571637, 0.555566, 0.554642, 0.559669, 0.567776", \ |
| "0.629541, 0.627121, 0.614691, 0.598829, 0.597905, 0.602932, 0.609136", \ |
| "0.671528, 0.668877, 0.656469, 0.640794, 0.639914, 0.644688, 0.652047", \ |
| "0.706673, 0.704033, 0.691823, 0.675741, 0.674817, 0.679844, 0.68871" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.0164131; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.474419, 0.479633, 0.488642, 0.500786, 0.496551, 0.476663, 0.440737", \ |
| "0.470976, 0.474892, 0.486244, 0.496507, 0.491513, 0.474903, 0.435666", \ |
| "0.470426, 0.473484, 0.484924, 0.494186, 0.491579, 0.473253, 0.433103", \ |
| "0.466158, 0.469172, 0.479127, 0.490204, 0.485254, 0.469876, 0.430111", \ |
| "0.45452, 0.459778, 0.468688, 0.479655, 0.475343, 0.459019, 0.421234", \ |
| "0.451539, 0.454652, 0.466499, 0.477114, 0.473165, 0.455213, 0.416702", \ |
| "0.456368, 0.463177, 0.471493, 0.483725, 0.478764, 0.459943, 0.423368" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.107906, 0.109314, 0.127823, 0.177889, 0.255253, 0.356895, 0.487179", \ |
| "0.106632, 0.105019, 0.123577, 0.173342, 0.251109, 0.352693, 0.483021", \ |
| "0.106043, 0.105075, 0.122597, 0.172909, 0.251257, 0.351637, 0.482053", \ |
| "0.100623, 0.0997975, 0.117819, 0.16848, 0.246239, 0.347589, 0.477015", \ |
| "0.0897655, 0.0887315, 0.10696, 0.158502, 0.235754, 0.336644, 0.466356", \ |
| "0.0873928, 0.0860497, 0.104257, 0.154325, 0.23267, 0.333542, 0.463661", \ |
| "0.0933174, 0.0913374, 0.110183, 0.158814, 0.238382, 0.339768, 0.469051" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.469887, 0.463903, 0.454773, 0.444092, 0.44748, 0.466136, 0.502898", \ |
| "0.471746, 0.468677, 0.45925, 0.449207, 0.451363, 0.470041, 0.509245", \ |
| "0.47399, 0.471196, 0.459492, 0.448822, 0.452397, 0.469491, 0.506979", \ |
| "0.479303, 0.476267, 0.46541, 0.453189, 0.457798, 0.475684, 0.515108", \ |
| "0.490358, 0.486838, 0.475233, 0.464772, 0.467456, 0.486035, 0.522951", \ |
| "0.491502, 0.490094, 0.478632, 0.467555, 0.471306, 0.488796, 0.527395", \ |
| "0.486409, 0.481877, 0.472681, 0.462143, 0.46552, 0.483989, 0.521884" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ( \ |
| "0.658955, 0.659527, 0.641311, 0.591547, 0.513392, 0.411917, 0.283426", \ |
| "0.662486, 0.664224, 0.645964, 0.596233, 0.518045, 0.416658, 0.288079", \ |
| "0.662508, 0.664202, 0.645997, 0.596266, 0.517594, 0.416603, 0.287969", \ |
| "0.668162, 0.669702, 0.651629, 0.601898, 0.52371, 0.422235, 0.293744", \ |
| "0.678392, 0.680526, 0.661947, 0.612216, 0.534028, 0.432564, 0.304062", \ |
| "0.681362, 0.682792, 0.664741, 0.61501, 0.536349, 0.435347, 0.306856", \ |
| "0.675884, 0.677589, 0.659351, 0.60962, 0.531432, 0.429957, 0.301466" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 0.000343015; |
| } |
| } |