| /* |
| * 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__sram64x8m8wm1 |
| * Technology : GF 180nm 5V Green |
| * |
| * --------- |
| * Pin name: |
| * --------- |
| * Input Pins : CLK CEN GWEN WEN[7:0] A[5: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__sram64x8m8wm1__ss_n40C_1v62) { |
| 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 : -40; |
| nom_voltage : 1.62; |
| 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 : 10.6; |
| 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, 1.62); |
| voltage_map (VSS, 0.00); |
| operating_conditions(ss_1p62v_m40C) { |
| process : 1; |
| temperature : -40; |
| voltage : 1.62; |
| tree_type : balanced_tree; |
| } |
| |
| default_operating_conditions : ss_1p62v_m40C; |
| 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 : 6; |
| bit_from : 5; |
| 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__sram64x8m8wm1) { |
| area : 100571.5568; |
| dont_use : TRUE; |
| dont_touch : TRUE; |
| interface_timing : TRUE; |
| memory() { |
| type : ram; |
| address_width : 6; |
| word_width : 8; |
| } |
| |
| bus(Q) { |
| bus_type : Q_BUS; |
| direction : output; |
| max_capacitance : 1.03; |
| 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.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03"); |
| values ( \ |
| "32.2344, 32.3484, 32.8068, 33.5496, 34.7016, 36.2184, 38.3064", \ |
| "32.2848, 32.4192, 32.9124, 33.6192, 34.8, 36.3768, 38.502", \ |
| "32.5248, 32.6316, 33.0648, 33.8448, 34.986, 36.5796, 38.682", \ |
| "32.9508, 33.0552, 33.5148, 34.2324, 35.3868, 37.0392, 39.0948", \ |
| "33.6108, 33.8064, 34.1424, 34.8996, 36.0816, 37.7196, 39.774", \ |
| "34.4124, 34.4964, 34.9308, 35.7252, 36.8616, 38.4636, 40.572", \ |
| "35.4084, 35.5464, 36.0384, 36.7464, 37.9212, 39.4776, 41.586" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03"); |
| values ( \ |
| "0.884292, 1.06388, 1.7394, 2.95692, 4.88208, 7.67892, 11.3596" \ |
| ) |
| |
| } |
| cell_fall(q_delay_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03"); |
| values ( \ |
| "34.7448, 34.8216, 35.1624, 35.526, 36.06, 36.5772, 37.416", \ |
| "34.8048, 34.9296, 35.2776, 35.64, 36.1956, 36.7872, 37.644", \ |
| "35.0508, 35.1336, 35.4312, 35.8344, 36.3864, 36.99, 37.7808", \ |
| "35.466, 35.5476, 35.868, 36.2328, 36.774, 37.4628, 38.22", \ |
| "36.1284, 36.2976, 36.48, 36.8892, 37.452, 38.1552, 38.892", \ |
| "36.9096, 36.9648, 37.2672, 37.7448, 38.2476, 38.8956, 39.66", \ |
| "37.908, 38.0412, 38.3556, 38.736, 39.3072, 39.9156, 40.6608" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03"); |
| values ( \ |
| "0.865476, 0.966876, 1.26732, 1.71984, 2.3862, 3.3366, 4.46712" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.293687; |
| clock : true; |
| max_transition : 10.6; |
| min_pulse_width_high : 17.80485; |
| min_pulse_width_low : 20.34585; |
| min_period : 46.9428; |
| |
| /* 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.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ("72.2552, 72.2552, 72.2552, 72.2552, 72.2552, 72.2552, 72.2552"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ("72.2552, 72.2552, 72.2552, 72.2552, 72.2552, 72.2552, 72.2552"); |
| } |
| } |
| /* DISABLED POWER */ |
| internal_power() { |
| when : "CEN"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ("1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ("1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05"); |
| } |
| } |
| /* READ POWER */ |
| internal_power() { |
| when : "!CEN & GWEN"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ("67.2535, 67.2535, 67.2535, 67.2535, 67.2535, 67.2535, 67.2535"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ("67.2535, 67.2535, 67.2535, 67.2535, 67.2535, 67.2535, 67.2535"); |
| } |
| } |
| } |
| |
| 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.0187828; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "3.59062, 3.53529, 3.62582, 4.05724, 4.93361, 6.11116, 7.76578", \ |
| "3.51109, 3.48645, 3.56466, 3.99366, 4.8708, 6.10027, 7.68383", \ |
| "3.28284, 3.24269, 3.32948, 3.75859, 4.64167, 5.79667, 7.50552", \ |
| "2.87485, 2.8391, 2.93436, 3.34631, 4.23148, 5.39803, 7.09346", \ |
| "2.87782, 2.84042, 2.92666, 3.32981, 4.21498, 5.38813, 7.02955", \ |
| "2.87386, 2.84724, 2.92457, 3.33751, 4.2284, 5.39506, 7.06255", \ |
| "2.87441, 2.8292, 2.92325, 3.32838, 4.20101, 5.39781, 7.0818" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "2.37226, 2.42154, 2.63252, 3.07274, 3.8522, 4.97343, 6.46899", \ |
| "2.29559, 2.35796, 2.56696, 3.00927, 3.78884, 4.91183, 6.40541", \ |
| "2.0658, 2.12267, 2.33552, 2.7742, 3.55366, 4.67599, 6.16748", \ |
| "2.02543, 2.0713, 2.29196, 2.73768, 3.49756, 4.63419, 6.12227", \ |
| "2.02554, 2.08109, 2.28987, 2.73702, 3.5002, 4.6321, 6.12216", \ |
| "2.02455, 2.07064, 2.29108, 2.7357, 3.49921, 4.63276, 6.12128", \ |
| "2.02433, 2.0801, 2.28866, 2.73559, 3.49899, 4.6321, 6.12106" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "7.26253, 7.31654, 7.21292, 6.79844, 5.91305, 4.74892, 3.09419", \ |
| "7.33326, 7.36241, 7.27639, 6.8728, 5.97817, 4.76025, 3.17834", \ |
| "7.55216, 7.60078, 7.50409, 7.09764, 6.19828, 5.05582, 3.35665", \ |
| "7.97621, 7.99986, 7.92242, 7.50948, 6.60748, 5.45534, 3.76585", \ |
| "8.66195, 8.69935, 8.61322, 8.20996, 7.32479, 6.15164, 4.51022", \ |
| "9.65107, 9.67758, 9.60025, 9.18742, 8.29653, 7.12976, 5.46227", \ |
| "10.8217, 10.867, 10.773, 10.3678, 9.4952, 8.2984, 6.61441" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "8.11569, 8.05574, 7.84498, 7.40025, 6.63685, 5.50374, 4.01467", \ |
| "8.1906, 8.1213, 7.91241, 7.46559, 6.70208, 5.56743, 4.08023", \ |
| "8.41555, 8.34889, 8.13637, 7.69307, 6.92967, 5.79557, 4.3076", \ |
| "8.81353, 8.76755, 8.547, 8.10128, 7.3414, 6.20477, 4.71669", \ |
| "9.51423, 9.45868, 9.2499, 8.80275, 8.03957, 6.90767, 5.41761", \ |
| "10.5004, 10.4543, 10.2338, 9.78912, 9.02572, 7.89206, 6.40354", \ |
| "11.6721, 11.616, 11.4081, 10.9606, 10.1971, 9.06411, 7.57515" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0436795; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "3.78037, 3.85132, 4.07154, 4.50219, 5.18595, 6.09433, 7.23932", \ |
| "3.73098, 3.79346, 4.02182, 4.43916, 5.12479, 6.04912, 7.17178", \ |
| "3.49547, 3.57423, 3.8027, 4.22037, 4.91238, 5.81262, 6.95288", \ |
| "3.08121, 3.15678, 3.37348, 3.81876, 4.49504, 5.39506, 6.53532", \ |
| "2.37391, 2.44926, 2.67751, 3.11102, 3.77883, 4.68787, 5.8322", \ |
| "1.57025, 1.63229, 1.84976, 2.29383, 2.96945, 3.87079, 5.01006", \ |
| "0.601491, 0.677127, 0.905179, 1.32253, 2.0119, 2.92611, 4.05999" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "5.43697, 5.49637, 5.74519, 6.23931, 7.03505, 8.1554, 9.71014", \ |
| "5.37284, 5.41772, 5.64795, 6.1765, 6.97246, 8.0949, 9.64425", \ |
| "5.15372, 5.1986, 5.46876, 5.95793, 6.75334, 7.90603, 9.35858", \ |
| "4.73517, 4.77587, 5.05109, 5.54345, 6.32137, 7.49265, 9.01043", \ |
| "4.02831, 4.09354, 4.30364, 4.84242, 5.62804, 6.73497, 8.29983", \ |
| "3.21046, 3.25094, 3.52121, 4.01577, 4.81096, 5.97707, 7.41906", \ |
| "2.25599, 2.3045, 2.53143, 3.06042, 3.85572, 4.97992, 6.46118" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "6.43753, 6.38308, 6.17375, 5.71461, 5.05989, 4.29528, 3.39823", \ |
| "6.07607, 6.01117, 5.78842, 5.34776, 4.71581, 3.91402, 3.0261", \ |
| "5.44258, 5.38868, 5.16164, 4.72098, 4.0887, 3.3176, 2.3991", \ |
| "5.12149, 5.05648, 4.83494, 4.39549, 3.76684, 2.99552, 2.07713", \ |
| "5.59229, 5.5275, 5.31047, 4.8664, 4.21454, 3.46643, 2.55332", \ |
| "6.38847, 6.34007, 6.1424, 5.66918, 5.0402, 4.25282, 3.34466", \ |
| "7.30004, 7.24801, 7.02042, 6.57987, 5.92867, 5.12842, 4.26327" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "3.70007, 3.65046, 3.39042, 2.87056, 2.13411, 0.991595, 0", \ |
| "3.31892, 3.27745, 3.05085, 2.5036, 1.76583, 0.621335, 0", \ |
| "2.71348, 2.65034, 2.42319, 1.87561, 1.1394, 0, 0", \ |
| "2.3958, 2.35895, 2.10199, 1.55265, 0.827805, 0, 0", \ |
| "2.86209, 2.79939, 2.57103, 2.0196, 1.28774, 0.153319, 0", \ |
| "3.66619, 3.63176, 3.34719, 2.82799, 2.09176, 0.916333, 0", \ |
| "4.57171, 4.50835, 4.28241, 3.73483, 2.99816, 1.85053, 0.343541" \ |
| ) |
| } |
| } |
| } |
| bus(WEN) { |
| bus_type : Q_BUS; |
| direction : input; |
| capacitance : 0.00722788; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "0, 0, 0, 0, 0, 0, 0.531366", \ |
| "0, 0, 0, 0, 0, 0.014091, 0.904563", \ |
| "0, 0, 0, 0, 0, 0.608201, 1.52878", \ |
| "0, 0, 0, 0, 0.145914, 0.939994, 1.84679", \ |
| "0, 0, 0, 0, 0, 0.460911, 1.38083", \ |
| "0, 0, 0, 0, 0, 0, 0.574596", \ |
| "0, 0, 0, 0, 0, 0, 0" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "0.089034, 0.143796, 0.407143, 0.910184, 1.66287, 2.80478, 4.41771", \ |
| "0.465652, 0.514734, 0.741422, 1.27155, 2.02972, 3.17097, 4.75431", \ |
| "1.06799, 1.13899, 1.3662, 1.91224, 2.65419, 3.80369, 5.31179", \ |
| "1.3959, 1.43693, 1.69301, 2.23751, 2.97088, 4.14601, 5.73606", \ |
| "0.922383, 0.992365, 1.21913, 1.75846, 2.50668, 3.64111, 5.23127", \ |
| "0.126354, 0.163112, 0.449394, 0.958903, 1.70742, 2.88299, 4.35633", \ |
| "0, 0, 0, 0.040029, 0.795102, 1.93842, 3.45323" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "6.46998, 6.42587, 6.18222, 5.74992, 5.09916, 4.32949, 3.44025", \ |
| "6.10324, 6.05902, 5.8157, 5.38307, 4.73242, 3.97606, 3.0734", \ |
| "5.47613, 5.43202, 5.18936, 4.75596, 4.10542, 3.33564, 2.44629", \ |
| "5.15383, 5.10928, 4.86607, 4.43377, 3.78312, 3.01334, 2.1241", \ |
| "5.62485, 5.5792, 5.33665, 4.90479, 4.25414, 3.47688, 2.59435", \ |
| "6.42796, 6.38374, 6.1424, 5.70779, 5.05714, 4.28736, 3.39812", \ |
| "7.33469, 7.29047, 7.04583, 6.61452, 5.97113, 5.1942, 4.30485" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "3.73461, 3.65046, 3.40417, 2.88904, 2.15523, 1.00973, 0", \ |
| "3.34895, 3.29263, 3.06108, 2.52219, 1.78717, 0.64053, 0", \ |
| "2.7258, 2.66552, 2.43353, 1.89464, 1.16064, 0, 0", \ |
| "2.40339, 2.36874, 2.11211, 1.57091, 0.847473, 0, 0", \ |
| "2.87111, 2.80665, 2.58148, 2.03929, 1.30884, 0.169915, 0", \ |
| "3.67708, 3.64287, 3.36182, 2.84658, 2.1131, 0.92444, 0", \ |
| "4.58073, 4.51132, 4.29242, 3.7532, 3.01917, 1.86681, 0.363572" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0377823; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "3.49756, 3.45917, 3.56367, 4.01159, 4.85892, 6.07134, 7.7066", \ |
| "3.43981, 3.40065, 3.50581, 3.95373, 4.80106, 6.00677, 7.59517", \ |
| "3.58171, 3.60965, 3.66234, 4.10993, 4.9995, 6.22644, 7.79614", \ |
| "3.9171, 3.949, 3.99696, 4.44972, 5.31806, 6.51486, 8.09545", \ |
| "3.45323, 3.45587, 3.52055, 3.96418, 4.85386, 6.07508, 7.6494", \ |
| "2.66728, 2.66651, 2.72855, 3.17559, 4.05141, 5.2514, 6.8574", \ |
| "1.76682, 1.7501, 1.82006, 2.26391, 3.14017, 4.37767, 5.9444" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "2.74989, 2.79609, 3.00102, 3.48227, 4.30639, 5.42597, 6.94155", \ |
| "3.12103, 3.1614, 3.37887, 3.84736, 4.65014, 5.79117, 7.31786", \ |
| "3.76013, 3.78642, 3.99608, 4.46457, 5.29573, 6.42004, 7.93386", \ |
| "4.05097, 4.11763, 4.32872, 4.79512, 5.63002, 6.74971, 8.28113", \ |
| "3.5827, 3.64221, 3.84142, 4.32938, 5.14866, 6.28276, 7.79009", \ |
| "2.7995, 2.86231, 3.0624, 3.53661, 4.36359, 5.49692, 7.0015", \ |
| "1.90729, 1.91598, 2.15138, 2.61921, 3.443, 4.56555, 6.0863" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "2.36643, 2.39492, 2.30241, 1.83403, 0.994411, 0, 0", \ |
| "2.43947, 2.46862, 2.37556, 1.90718, 1.06761, 0, 0", \ |
| "2.6565, 2.68565, 2.59259, 2.12421, 1.2846, 0.145358, 0", \ |
| "3.04238, 3.07153, 2.97847, 2.51009, 1.67046, 0.531223, 0", \ |
| "3.77553, 3.80446, 3.71151, 3.24313, 2.4035, 1.24472, 0", \ |
| "4.7212, 4.75035, 4.65729, 4.18891, 3.34928, 2.21001, 0.79013", \ |
| "5.88148, 5.9092, 5.81702, 5.34809, 4.50769, 3.3693, 1.94942" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "2.98749, 2.93799, 2.70149, 2.23718, 1.57597, 0.760826, 0", \ |
| "3.06064, 3.01114, 2.77475, 2.31033, 1.64912, 0.834042, 0", \ |
| "3.27767, 3.22817, 2.99167, 2.52736, 1.86615, 1.05108, 0.019668", \ |
| "3.66355, 3.61405, 3.37755, 2.91324, 2.25203, 1.43693, 0.405537", \ |
| "4.39637, 4.34709, 4.11059, 3.64628, 2.98507, 2.16997, 1.13856", \ |
| "5.34237, 5.29287, 5.05637, 4.59206, 3.93085, 3.11575, 2.08439", \ |
| "6.50155, 6.45216, 6.21566, 5.75135, 5.09014, 4.27504, 3.24368" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.017259; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "3.47765, 3.52748, 3.74187, 4.16625, 4.70074, 5.36921, 6.05825", \ |
| "3.84087, 3.90104, 4.12412, 4.54113, 5.06308, 5.71615, 6.41949", \ |
| "4.47678, 4.52573, 4.74386, 5.16087, 5.69657, 6.34403, 7.06376", \ |
| "4.80447, 4.87399, 5.08266, 5.50033, 6.03042, 6.68734, 7.38221", \ |
| "4.33103, 4.37745, 4.61098, 5.02656, 5.5528, 6.20851, 6.90624", \ |
| "3.53364, 3.58358, 3.82184, 4.24864, 4.75156, 5.43862, 6.116", \ |
| "2.61888, 2.66893, 2.89234, 3.31188, 3.85891, 4.50098, 5.20993" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "0, 0, 0, 0, 0, 1.11451, 2.57543", \ |
| "0, 0, 0, 0, 0.316789, 1.48104, 2.94195", \ |
| "0, 0, 0, 0.209305, 0.941358, 2.11365, 3.56785", \ |
| "0, 0, 0.023452, 0.539946, 1.27204, 2.44574, 3.89851", \ |
| "0, 0, 0, 0.063844, 0.795575, 1.96152, 3.42243", \ |
| "0, 0, 0, 0, 0.007601, 1.18127, 2.63582", \ |
| "0, 0, 0, 0, 0, 0.260214, 1.71435" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "2.98133, 2.92787, 2.70688, 2.28349, 1.74691, 1.10515, 0.397023", \ |
| "2.61657, 2.56333, 2.33662, 1.91312, 1.38204, 0.730994, 0.024937", \ |
| "1.99199, 1.94139, 1.71644, 1.29573, 0.759814, 0.114285, 0", \ |
| "1.66144, 1.60875, 1.38391, 0.960388, 0.429088, 0, 0", \ |
| "2.13939, 2.08769, 1.86076, 1.44023, 0.904376, 0.255639, 0", \ |
| "2.92336, 2.87012, 2.64418, 2.22101, 1.68883, 1.03786, 0.331089", \ |
| "3.84989, 3.79841, 3.57181, 3.14721, 2.61459, 1.96669, 1.2611" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6"); |
| values ( \ |
| "5.68106, 5.65972, 5.46579, 4.95352, 4.17142, 3.0261, 1.53824", \ |
| "5.31718, 5.291, 5.10136, 4.58909, 3.80699, 2.66167, 1.17381", \ |
| "4.6937, 4.66807, 4.47843, 3.96616, 3.18406, 2.04776, 0.55088", \ |
| "4.36227, 4.33719, 4.14689, 3.63462, 2.85252, 1.7072, 0.219383", \ |
| "4.8411, 4.81976, 4.62583, 4.11345, 3.33135, 2.18603, 0.698247", \ |
| "5.62276, 5.59834, 5.40815, 4.89588, 4.11378, 2.96846, 1.48071", \ |
| "6.55237, 6.53037, 6.33655, 5.82417, 5.04207, 3.89675, 2.409" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 1.3515984e-05; |
| } |
| } |