| /* |
| * 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__sram512x8m8wm1 |
| * Technology : GF 180nm 5V Green |
| * |
| * --------- |
| * Pin name: |
| * --------- |
| * Input Pins : CLK CEN GWEN WEN[7:0] A[8: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__sram512x8m8wm1__ff_125C_3v60) { |
| 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 : 125; |
| nom_voltage : 3.6; |
| 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 : 2.3877; |
| 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, 3.6); |
| voltage_map (VSS, 0.00); |
| operating_conditions(ff_3p6v_125C) { |
| process : 1; |
| temperature : 125; |
| voltage : 3.6; |
| tree_type : balanced_tree; |
| } |
| |
| default_operating_conditions : ff_3p6v_125C; |
| 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 : 9; |
| bit_from : 8; |
| 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__sram512x8m8wm1) { |
| area : 209400.2768; |
| dont_use : TRUE; |
| dont_touch : TRUE; |
| interface_timing : TRUE; |
| memory() { |
| type : ram; |
| address_width : 9; |
| word_width : 8; |
| } |
| |
| bus(Q) { |
| bus_type : Q_BUS; |
| direction : output; |
| max_capacitance : 1.0626; |
| 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.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0100, 0.0289, 0.0954, 0.2223, 0.4200, 0.6975, 1.0626"); |
| values ( \ |
| "6.03336, 6.05436, 6.12804, 6.25392, 6.43464, 6.68568, 7.01232", \ |
| "6.03084, 6.05988, 6.12948, 6.255, 6.43692, 6.69072, 7.01724", \ |
| "6.03624, 6.06216, 6.13308, 6.2556, 6.44232, 6.687, 7.01916", \ |
| "6.04308, 6.06732, 6.138, 6.26268, 6.44544, 6.6948, 7.02852", \ |
| "6.0564, 6.0762, 6.1494, 6.27564, 6.45864, 6.70668, 7.03692", \ |
| "6.05436, 6.07824, 6.15, 6.27684, 6.45612, 6.70488, 7.03656", \ |
| "6.01764, 6.04104, 6.10968, 6.24096, 6.42456, 6.67248, 7.00176" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.0100, 0.0289, 0.0954, 0.2223, 0.4200, 0.6975, 1.0626"); |
| values ( \ |
| "0.2343, 0.269424, 0.385656, 0.613536, 0.983832, 1.51944, 2.2176" \ |
| ) |
| |
| } |
| cell_fall(q_delay_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0100, 0.0289, 0.0954, 0.2223, 0.4200, 0.6975, 1.0626"); |
| values ( \ |
| "6.21456, 6.2388, 6.312, 6.42252, 6.56184, 6.73584, 6.9516", \ |
| "6.21552, 6.24252, 6.31464, 6.42132, 6.56268, 6.7428, 6.95628", \ |
| "6.22164, 6.24816, 6.31692, 6.42564, 6.56784, 6.74016, 6.95904", \ |
| "6.23232, 6.25464, 6.32172, 6.43152, 6.57348, 6.75144, 6.96804", \ |
| "6.24192, 6.26748, 6.33504, 6.44544, 6.58632, 6.75852, 6.975", \ |
| "6.23988, 6.26412, 6.33528, 6.44412, 6.58368, 6.75612, 6.97296", \ |
| "6.20484, 6.2292, 6.297, 6.40812, 6.54852, 6.7236, 6.93996" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.0100, 0.0289, 0.0954, 0.2223, 0.4200, 0.6975, 1.0626"); |
| values ( \ |
| "0.23952, 0.267108, 0.344472, 0.47766, 0.677052, 0.955752, 1.32456" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.282001; |
| clock : true; |
| max_transition : 2.3877; |
| min_pulse_width_high : 3.243825; |
| min_pulse_width_low : 3.778215; |
| min_period : 7.959375; |
| |
| /* 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.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ("520.218, 520.218, 520.218, 520.218, 520.218, 520.218, 520.218"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ("520.218, 520.218, 520.218, 520.218, 520.218, 520.218, 520.218"); |
| } |
| } |
| /* DISABLED POWER */ |
| internal_power() { |
| when : "CEN"; |
| rise_power(power_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ("0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ("0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248"); |
| } |
| } |
| /* READ POWER */ |
| internal_power() { |
| when : "!CEN & GWEN"; |
| rise_power(power_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ("468.576, 468.576, 468.576, 468.576, 468.576, 468.576, 468.576"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ("468.576, 468.576, 468.576, 468.576, 468.576, 468.576, 468.576"); |
| } |
| } |
| } |
| |
| 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.0174749; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.538824, 0.532521, 0.527912, 0.549846, 0.59521, 0.629508, 0.654291", \ |
| "0.532642, 0.524095, 0.520311, 0.543411, 0.587081, 0.622567, 0.647647", \ |
| "0.523512, 0.516703, 0.511863, 0.530915, 0.568051, 0.602338, 0.627132", \ |
| "0.522841, 0.51645, 0.511555, 0.530607, 0.559449, 0.572572, 0.597256", \ |
| "0.523039, 0.516186, 0.511335, 0.530387, 0.559229, 0.572341, 0.590711", \ |
| "0.523006, 0.516142, 0.511291, 0.530343, 0.560131, 0.594429, 0.619212", \ |
| "0.571846, 0.563673, 0.560692, 0.582967, 0.628001, 0.662288, 0.687071" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.496969, 0.502062, 0.523622, 0.575498, 0.660825, 0.766073, 0.878438", \ |
| "0.496584, 0.501842, 0.522643, 0.575322, 0.66418, 0.763169, 0.878273", \ |
| "0.496265, 0.501578, 0.522324, 0.574871, 0.663861, 0.765589, 0.877954", \ |
| "0.495968, 0.501006, 0.522027, 0.574695, 0.663553, 0.765281, 0.877646", \ |
| "0.495748, 0.50105, 0.521807, 0.574475, 0.663322, 0.765061, 0.877426", \ |
| "0.495704, 0.500973, 0.521763, 0.57442, 0.663289, 0.765006, 0.877371", \ |
| "0.503932, 0.50919, 0.530123, 0.580085, 0.66957, 0.771628, 0.885533" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "1.47653, 1.48291, 1.48775, 1.46905, 1.4399, 1.42681, 1.42087", \ |
| "1.4839, 1.4927, 1.49589, 1.47653, 1.44914, 1.43484, 1.42857", \ |
| "1.5026, 1.50942, 1.51426, 1.49523, 1.4663, 1.45321, 1.44738", \ |
| "1.54957, 1.55595, 1.5609, 1.54187, 1.51305, 1.49985, 1.49402", \ |
| "1.60886, 1.61568, 1.62052, 1.60149, 1.57267, 1.55958, 1.55364", \ |
| "1.65198, 1.6588, 1.66364, 1.64461, 1.61579, 1.6027, 1.59676", \ |
| "1.68674, 1.69323, 1.69807, 1.67904, 1.65022, 1.63702, 1.63119" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "1.50315, 1.49809, 1.47653, 1.42461, 1.33925, 1.23405, 1.12168", \ |
| "1.51107, 1.5059, 1.485, 1.43242, 1.34354, 1.24453, 1.12943", \ |
| "1.52988, 1.52449, 1.50381, 1.45123, 1.36224, 1.26052, 1.14816", \ |
| "1.57652, 1.57146, 1.55045, 1.49776, 1.40888, 1.30713, 1.1948", \ |
| "1.63614, 1.63086, 1.61007, 1.55738, 1.4685, 1.36686, 1.25444", \ |
| "1.67926, 1.67398, 1.65319, 1.6005, 1.51173, 1.40998, 1.29756", \ |
| "1.71369, 1.70863, 1.6874, 1.63493, 1.54605, 1.44441, 1.33199" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0480845; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.741972, 0.744843, 0.765171, 0.807532, 0.873422, 0.941369, 0.991045", \ |
| "0.736439, 0.739013, 0.76021, 0.802571, 0.868461, 0.936408, 0.9867", \ |
| "0.720698, 0.723646, 0.743974, 0.786335, 0.852214, 0.920172, 0.970464", \ |
| "0.67463, 0.67804, 0.698357, 0.740718, 0.806608, 0.874555, 0.924858", \ |
| "0.627858, 0.630652, 0.650265, 0.694199, 0.759385, 0.827321, 0.877624", \ |
| "0.600556, 0.603339, 0.624283, 0.666831, 0.732534, 0.800481, 0.850773", \ |
| "0.569811, 0.571813, 0.593582, 0.635943, 0.701833, 0.76978, 0.820072" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.812075, 0.815617, 0.848661, 0.913792, 1.01968, 1.15995, 1.31593", \ |
| "0.806751, 0.811173, 0.8437, 0.90893, 1.01472, 1.15059, 1.31098", \ |
| "0.790504, 0.794409, 0.827453, 0.892584, 0.99847, 1.13874, 1.2947", \ |
| "0.745074, 0.749309, 0.781847, 0.846978, 0.952864, 1.09314, 1.24909", \ |
| "0.697664, 0.701569, 0.734613, 0.799843, 0.905619, 1.0459, 1.20187", \ |
| "0.671187, 0.675125, 0.707762, 0.772992, 0.878779, 1.01905, 1.17502", \ |
| "0.640486, 0.644534, 0.677072, 0.740201, 0.848089, 0.988394, 1.14431" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "1.06095, 1.05669, 1.0379, 0.99935, 0.966713, 0.951918, 0.959068", \ |
| "1.06227, 1.0584, 1.04038, 1.0018, 0.969166, 0.954393, 0.961521", \ |
| "1.06659, 1.06341, 1.04463, 1.00607, 0.973434, 0.958628, 0.965789", \ |
| "1.07306, 1.0689, 1.05004, 1.01146, 0.978824, 0.964029, 0.971179", \ |
| "1.08288, 1.07986, 1.06099, 1.02243, 0.989791, 0.974985, 0.982146", \ |
| "1.07975, 1.07663, 1.05786, 1.01951, 0.986656, 0.97185, 0.979011", \ |
| "1.0529, 1.05074, 1.03096, 0.992387, 0.959453, 0.944955, 0.952116" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.599599, 0.592119, 0.562254, 0.500753, 0.393206, 0.257587, 0.0996446", \ |
| "0.601755, 0.594836, 0.565059, 0.503041, 0.395164, 0.26871, 0.102099", \ |
| "0.605407, 0.598961, 0.568909, 0.507254, 0.399938, 0.264304, 0.106302", \ |
| "0.611655, 0.604483, 0.574002, 0.512424, 0.405328, 0.269695, 0.111699", \ |
| "0.621962, 0.615318, 0.585321, 0.523655, 0.416284, 0.28065, 0.123403", \ |
| "0.619333, 0.612095, 0.582131, 0.520542, 0.41316, 0.277526, 0.119597", \ |
| "0.659549, 0.653961, 0.6237, 0.558041, 0.445423, 0.309958, 0.160219" \ |
| ) |
| } |
| } |
| } |
| bus(WEN) { |
| bus_type : Q_BUS; |
| direction : input; |
| capacitance : 0.0075492; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| 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.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.2966, 0.303875, 0.333432, 0.39655, 0.503536, 0.639089, 0.798314", \ |
| "0.294484, 0.299961, 0.331276, 0.39457, 0.50138, 0.62887, 0.796158", \ |
| "0.291474, 0.297813, 0.327448, 0.388784, 0.496936, 0.633149, 0.791428", \ |
| "0.284802, 0.291969, 0.322366, 0.384164, 0.492382, 0.627935, 0.786214", \ |
| "0.274594, 0.281793, 0.311113, 0.374264, 0.481228, 0.61677, 0.775687", \ |
| "0.275909, 0.282315, 0.312081, 0.374825, 0.482592, 0.618145, 0.777337", \ |
| "0.304106, 0.310431, 0.340736, 0.405889, 0.51084, 0.646217, 0.805288" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "1.06095, 1.05669, 1.03845, 0.99935, 0.96723, 0.951918, 0.959068", \ |
| "1.06227, 1.0584, 1.04094, 1.0018, 0.969716, 0.954393, 0.961521", \ |
| "1.06659, 1.06341, 1.0452, 1.00607, 0.973962, 0.958628, 0.965789", \ |
| "1.07306, 1.0689, 1.0506, 1.01146, 0.979352, 0.964029, 0.971179", \ |
| "1.08288, 1.07986, 1.06157, 1.02243, 0.99033, 0.974985, 0.982146", \ |
| "1.07975, 1.07663, 1.05842, 1.01951, 0.987173, 0.97185, 0.979011", \ |
| "1.0529, 1.05074, 1.03155, 0.992387, 0.9603, 0.944955, 0.952116" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.599599, 0.592119, 0.562254, 0.500753, 0.393206, 0.257587, 0.0996446", \ |
| "0.601755, 0.594836, 0.565059, 0.503041, 0.395164, 0.26871, 0.102099", \ |
| "0.605407, 0.598961, 0.568909, 0.507254, 0.399938, 0.264304, 0.106302", \ |
| "0.611655, 0.604483, 0.574002, 0.512424, 0.405328, 0.269695, 0.111699", \ |
| "0.621962, 0.615318, 0.585321, 0.523655, 0.416284, 0.28065, 0.123403", \ |
| "0.619333, 0.612095, 0.582131, 0.520542, 0.41316, 0.277526, 0.119597", \ |
| "0.592405, 0.585266, 0.555192, 0.49137, 0.386298, 0.250966, 0.0933691" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0377615; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.786896, 0.784553, 0.779867, 0.806575, 0.862807, 0.882893, 0.912362", \ |
| "0.782474, 0.782012, 0.780978, 0.802868, 0.857186, 0.881232, 0.910151", \ |
| "0.77814, 0.777645, 0.773641, 0.79794, 0.854073, 0.875787, 0.907093", \ |
| "0.772145, 0.772618, 0.767008, 0.790592, 0.846142, 0.871189, 0.900658", \ |
| "0.762498, 0.759451, 0.760056, 0.780109, 0.841258, 0.86218, 0.893849", \ |
| "0.764885, 0.763664, 0.7601, 0.784872, 0.840972, 0.86416, 0.893398", \ |
| "0.793331, 0.791153, 0.787721, 0.811866, 0.866778, 0.890164, 0.920513" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "1.11452, 1.11882, 1.14443, 1.18623, 1.28456, 1.3992, 1.53736", \ |
| "1.11191, 1.11588, 1.13983, 1.18548, 1.28228, 1.39997, 1.53461", \ |
| "1.10785, 1.11334, 1.13885, 1.18089, 1.27802, 1.39095, 1.52966", \ |
| "1.10401, 1.10615, 1.1316, 1.17692, 1.27178, 1.38523, 1.52394", \ |
| "1.09431, 1.09837, 1.12082, 1.16479, 1.26268, 1.37665, 1.51393", \ |
| "1.09359, 1.09793, 1.12191, 1.16996, 1.26437, 1.38039, 1.51657", \ |
| "1.12303, 1.12893, 1.15008, 1.19512, 1.2928, 1.40965, 1.54396" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.617331, 0.62194, 0.618354, 0.60764, 0.594132, 0.60071, 0.597619", \ |
| "0.625229, 0.629277, 0.623359, 0.614966, 0.601469, 0.608025, 0.604956", \ |
| "0.643005, 0.647053, 0.643467, 0.632753, 0.619245, 0.625823, 0.622743", \ |
| "0.679437, 0.683474, 0.679888, 0.669174, 0.655666, 0.662244, 0.659164", \ |
| "0.738936, 0.742973, 0.737066, 0.728673, 0.715165, 0.721743, 0.718663", \ |
| "0.777282, 0.78133, 0.778327, 0.76703, 0.753522, 0.7601, 0.757009", \ |
| "0.801372, 0.80608, 0.802494, 0.79178, 0.778272, 0.78485, 0.78177" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.639672, 0.634667, 0.610588, 0.587895, 0.577698, 0.580415, 0.587686", \ |
| "0.646822, 0.642048, 0.617914, 0.595232, 0.585035, 0.587609, 0.595023", \ |
| "0.664818, 0.659659, 0.63569, 0.613008, 0.602844, 0.605528, 0.612799", \ |
| "0.700953, 0.696212, 0.672111, 0.649429, 0.639243, 0.641949, 0.64922", \ |
| "0.760694, 0.755612, 0.731621, 0.708939, 0.698742, 0.701316, 0.708719", \ |
| "0.799084, 0.794101, 0.77, 0.747263, 0.73711, 0.739794, 0.747076", \ |
| "0.82346, 0.818532, 0.794717, 0.772046, 0.761871, 0.764412, 0.771826" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.0156578; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.539121, 0.54054, 0.560637, 0.567479, 0.549967, 0.50633, 0.42691", \ |
| "0.534897, 0.542685, 0.555621, 0.565114, 0.549714, 0.501149, 0.423896", \ |
| "0.533335, 0.535007, 0.554455, 0.560945, 0.543224, 0.496991, 0.41822", \ |
| "0.527791, 0.530937, 0.547327, 0.553762, 0.537295, 0.491986, 0.411147", \ |
| "0.518859, 0.522621, 0.539627, 0.545083, 0.527703, 0.481998, 0.402358", \ |
| "0.521939, 0.522126, 0.539242, 0.54296, 0.52921, 0.485045, 0.405438", \ |
| "0.545479, 0.550539, 0.566797, 0.576048, 0.556567, 0.514624, 0.433763" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.104448, 0.101325, 0.134469, 0.212905, 0.335269, 0.494043, 0.69256", \ |
| "0.101356, 0.100297, 0.131348, 0.209773, 0.332387, 0.490699, 0.689425", \ |
| "0.0958727, 0.0946077, 0.127783, 0.206626, 0.328581, 0.487355, 0.685872", \ |
| "0.0903529, 0.0896456, 0.12074, 0.198995, 0.32153, 0.480315, 0.678832", \ |
| "0.082115, 0.079046, 0.112201, 0.190635, 0.312994, 0.471779, 0.670296", \ |
| "0.0860805, 0.082918, 0.113946, 0.192361, 0.314743, 0.473517, 0.672045", \ |
| "0.112071, 0.110342, 0.141384, 0.218508, 0.341924, 0.500962, 0.699468" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.576004, 0.573826, 0.553608, 0.550341, 0.567204, 0.610093, 0.688138", \ |
| "0.583154, 0.572616, 0.557953, 0.554664, 0.570746, 0.607981, 0.692813", \ |
| "0.58586, 0.580426, 0.561099, 0.55803, 0.573584, 0.617826, 0.695838", \ |
| "0.591437, 0.588984, 0.56749, 0.564421, 0.579975, 0.624173, 0.702229", \ |
| "0.601601, 0.596178, 0.57893, 0.573848, 0.589402, 0.633644, 0.711656", \ |
| "0.595353, 0.593945, 0.574552, 0.571219, 0.587037, 0.631235, 0.709214", \ |
| "0.567347, 0.565422, 0.546678, 0.543609, 0.560472, 0.603361, 0.681406" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877"); |
| values ( \ |
| "0.832293, 0.832403, 0.801922, 0.723228, 0.600919, 0.442915, 0.246573", \ |
| "0.836836, 0.83699, 0.806487, 0.727793, 0.605484, 0.447491, 0.251142", \ |
| "0.840004, 0.840114, 0.809611, 0.730917, 0.608608, 0.450615, 0.254277", \ |
| "0.847572, 0.846549, 0.816002, 0.737319, 0.61501, 0.457006, 0.26067", \ |
| "0.855756, 0.85591, 0.825429, 0.746735, 0.624437, 0.466433, 0.270082", \ |
| "0.853435, 0.853556, 0.823064, 0.74437, 0.622061, 0.464068, 0.267717", \ |
| "0.824824, 0.825671, 0.795179, 0.716496, 0.594187, 0.436183, 0.239851" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 0.0121248; |
| } |
| } |