| /* |
| * 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__ff_125C_5v50) { |
| 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 : 5.5; |
| 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.394; |
| 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.5); |
| voltage_map (VSS, 0.00); |
| operating_conditions(ff_5p5v_125C) { |
| process : 1; |
| temperature : 125; |
| voltage : 5.5; |
| tree_type : balanced_tree; |
| } |
| |
| default_operating_conditions : ff_5p5v_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 : 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.115; |
| 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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115"); |
| values ( \ |
| "4.05612, 4.07412, 4.12872, 4.21968, 4.353, 4.53684, 4.7892", \ |
| "4.05552, 4.07136, 4.12896, 4.2174, 4.35612, 4.536, 4.78356", \ |
| "4.05612, 4.07484, 4.12836, 4.21968, 4.35396, 4.54056, 4.78344", \ |
| "4.05528, 4.07208, 4.1262, 4.21764, 4.35312, 4.53828, 4.7808", \ |
| "4.06548, 4.0806, 4.1352, 4.22916, 4.3578, 4.542, 4.79412", \ |
| "4.05948, 4.07964, 4.13616, 4.2222, 4.35912, 4.5444, 4.788", \ |
| "4.04736, 4.06812, 4.12176, 4.20948, 4.34364, 4.52976, 4.776" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115"); |
| values ( \ |
| "0.189936, 0.212568, 0.295704, 0.467256, 0.738888, 1.14137, 1.6686" \ |
| ) |
| |
| } |
| cell_fall(q_delay_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115"); |
| values ( \ |
| "4.16724, 4.1856, 4.24212, 4.33056, 4.44252, 4.58916, 4.78056", \ |
| "4.16472, 4.1886, 4.24404, 4.329, 4.44612, 4.58712, 4.77636", \ |
| "4.16568, 4.19028, 4.24104, 4.32924, 4.4412, 4.58964, 4.77672", \ |
| "4.1664, 4.18548, 4.23996, 4.32672, 4.44108, 4.59024, 4.77324", \ |
| "4.17672, 4.19268, 4.251, 4.33812, 4.44888, 4.59432, 4.78464", \ |
| "4.173, 4.19184, 4.2498, 4.33308, 4.4508, 4.59648, 4.78212", \ |
| "4.158, 4.18044, 4.23348, 4.31976, 4.434, 4.58064, 4.76808" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115"); |
| values ( \ |
| "0.1878, 0.21096, 0.275868, 0.38574, 0.557592, 0.796896, 1.11739" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.283903; |
| clock : true; |
| max_transition : 1.394; |
| min_pulse_width_high : 2.366415; |
| min_pulse_width_low : 2.42577; |
| min_period : 5.330145; |
| |
| /* 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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("1103.25, 1103.25, 1103.25, 1103.25, 1103.25, 1103.25, 1103.25"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("1103.25, 1103.25, 1103.25, 1103.25, 1103.25, 1103.25, 1103.25"); |
| } |
| } |
| /* DISABLED POWER */ |
| internal_power() { |
| when : "CEN"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567"); |
| } |
| } |
| /* READ POWER */ |
| internal_power() { |
| when : "!CEN & GWEN"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("991.21, 991.21, 991.21, 991.21, 991.21, 991.21, 991.21"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("991.21, 991.21, 991.21, 991.21, 991.21, 991.21, 991.21"); |
| } |
| } |
| } |
| |
| 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.0168675; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.411389, 0.407649, 0.402237, 0.404998, 0.424435, 0.447689, 0.473187", \ |
| "0.411147, 0.407671, 0.402633, 0.404943, 0.424633, 0.445478, 0.470965", \ |
| "0.410916, 0.40788, 0.401764, 0.405196, 0.425194, 0.440264, 0.462484", \ |
| "0.410718, 0.407286, 0.401621, 0.404415, 0.423852, 0.440814, 0.453442", \ |
| "0.410498, 0.407022, 0.401423, 0.404195, 0.423643, 0.440594, 0.453222", \ |
| "0.410421, 0.407605, 0.401335, 0.40414, 0.423566, 0.440528, 0.454663", \ |
| "0.419881, 0.416493, 0.411169, 0.41525, 0.440418, 0.468732, 0.493537" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.388333, 0.39127, 0.399476, 0.420013, 0.465641, 0.519959, 0.581108", \ |
| "0.389092, 0.391105, 0.399322, 0.42086, 0.465487, 0.519805, 0.580954", \ |
| "0.387959, 0.390225, 0.399707, 0.418022, 0.465256, 0.519574, 0.580712", \ |
| "0.388663, 0.390687, 0.398893, 0.42042, 0.463892, 0.519376, 0.580525", \ |
| "0.388685, 0.390456, 0.399289, 0.419221, 0.464838, 0.519156, 0.580305", \ |
| "0.387607, 0.39039, 0.399212, 0.418572, 0.464299, 0.51909, 0.580228", \ |
| "0.387398, 0.390313, 0.398541, 0.420057, 0.464695, 0.519013, 0.580162" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "1.07855, 1.0823, 1.0877, 1.08494, 1.0655, 1.04929, 1.03591", \ |
| "1.08955, 1.09303, 1.09805, 1.09574, 1.07605, 1.06019, 1.04682", \ |
| "1.10355, 1.10659, 1.11271, 1.10926, 1.08926, 1.07419, 1.06082", \ |
| "1.12102, 1.12445, 1.13012, 1.12732, 1.10788, 1.09091, 1.0783", \ |
| "1.15345, 1.15692, 1.16251, 1.15974, 1.1403, 1.12334, 1.11071", \ |
| "1.18276, 1.18558, 1.19186, 1.18904, 1.16962, 1.15266, 1.14004", \ |
| "1.20328, 1.20651, 1.21238, 1.20956, 1.19013, 1.17317, 1.16056" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "1.10161, 1.09868, 1.09046, 1.06993, 1.0243, 0.96998, 0.908842", \ |
| "1.11161, 1.10958, 1.10136, 1.07984, 1.0352, 0.980892, 0.919743", \ |
| "1.1265, 1.12423, 1.11476, 1.09644, 1.04921, 0.994884, 0.933746", \ |
| "1.14307, 1.14105, 1.13284, 1.11131, 1.06784, 1.01236, 0.951214", \ |
| "1.17526, 1.17348, 1.16466, 1.14473, 1.09911, 1.04478, 0.983642", \ |
| "1.20559, 1.2028, 1.19398, 1.17462, 1.1289, 1.07411, 1.01296", \ |
| "1.22624, 1.22332, 1.21509, 1.19357, 1.14894, 1.09462, 1.03347" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0492022; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.563046, 0.564509, 0.571549, 0.593703, 0.628892, 0.675081, 0.718058", \ |
| "0.562001, 0.563761, 0.570482, 0.592911, 0.628287, 0.674091, 0.716364", \ |
| "0.55638, 0.558459, 0.565334, 0.587191, 0.622666, 0.670043, 0.710897", \ |
| "0.537977, 0.539704, 0.547734, 0.569063, 0.604252, 0.650298, 0.692483", \ |
| "0.501314, 0.502238, 0.509641, 0.5313, 0.566731, 0.613272, 0.655424", \ |
| "0.468985, 0.471152, 0.478126, 0.50028, 0.534996, 0.581724, 0.625977", \ |
| "0.440528, 0.442057, 0.449801, 0.471559, 0.506935, 0.553597, 0.593956" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.588467, 0.59114, 0.607299, 0.641729, 0.701525, 0.779845, 0.874632", \ |
| "0.587895, 0.590524, 0.606551, 0.641553, 0.700931, 0.778547, 0.874027", \ |
| "0.582241, 0.584914, 0.601073, 0.635503, 0.695299, 0.773619, 0.872355", \ |
| "0.563651, 0.5665, 0.582505, 0.617936, 0.676885, 0.755447, 0.849926", \ |
| "0.526592, 0.529441, 0.545732, 0.580448, 0.636878, 0.718234, 0.812988", \ |
| "0.495033, 0.497706, 0.513997, 0.548295, 0.605143, 0.687808, 0.781198", \ |
| "0.466521, 0.469183, 0.485353, 0.519772, 0.579568, 0.657206, 0.752609" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.791186, 0.789932, 0.782782, 0.764434, 0.742577, 0.728673, 0.72468", \ |
| "0.792418, 0.790658, 0.78408, 0.765435, 0.743864, 0.731687, 0.721303", \ |
| "0.787666, 0.786016, 0.779295, 0.760639, 0.73909, 0.725197, 0.722337", \ |
| "0.788964, 0.787875, 0.78089, 0.762245, 0.740388, 0.725769, 0.723635", \ |
| "0.794332, 0.792121, 0.785521, 0.767085, 0.745316, 0.730697, 0.728563", \ |
| "0.798127, 0.796598, 0.789305, 0.770957, 0.7491, 0.734492, 0.732446", \ |
| "0.784564, 0.783475, 0.776193, 0.757537, 0.735988, 0.722117, 0.713427" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.45749, 0.453893, 0.438075, 0.403326, 0.344135, 0.269284, 0.174032", \ |
| "0.45925, 0.455158, 0.439351, 0.40546, 0.345081, 0.270607, 0.175159", \ |
| "0.454091, 0.45078, 0.434588, 0.399839, 0.340648, 0.266041, 0.170187", \ |
| "0.455653, 0.451561, 0.436073, 0.401478, 0.342067, 0.265576, 0.171835", \ |
| "0.461604, 0.456478, 0.44066, 0.407099, 0.347985, 0.272597, 0.17787", \ |
| "0.472824, 0.46981, 0.452826, 0.418176, 0.358545, 0.276639, 0.187703", \ |
| "0.521411, 0.518397, 0.501919, 0.466763, 0.404162, 0.326502, 0.236369" \ |
| ) |
| } |
| } |
| } |
| bus(WEN) { |
| bus_type : Q_BUS; |
| direction : input; |
| capacitance : 0.00767809; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| 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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.243992, 0.247279, 0.263329, 0.297616, 0.357423, 0.43274, 0.527219", \ |
| "0.242724, 0.246516, 0.262758, 0.296186, 0.35706, 0.431299, 0.5269", \ |
| "0.246633, 0.250824, 0.26621, 0.300806, 0.360481, 0.435413, 0.531168", \ |
| "0.245111, 0.249424, 0.265036, 0.299409, 0.358314, 0.435347, 0.529188", \ |
| "0.239592, 0.243929, 0.259862, 0.293997, 0.353012, 0.428681, 0.52371", \ |
| "0.237806, 0.241799, 0.25724, 0.292644, 0.350625, 0.427526, 0.521631", \ |
| "0.250593, 0.254935, 0.269716, 0.304898, 0.364056, 0.438317, 0.534182" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.791186, 0.790064, 0.782782, 0.764489, 0.742577, 0.728673, 0.72468", \ |
| "0.792418, 0.791428, 0.78408, 0.765842, 0.743864, 0.731687, 0.721303", \ |
| "0.787666, 0.786588, 0.779295, 0.761002, 0.73909, 0.725197, 0.722337", \ |
| "0.788964, 0.787886, 0.78089, 0.762311, 0.740388, 0.725769, 0.723635", \ |
| "0.794332, 0.792825, 0.785521, 0.76725, 0.745316, 0.730697, 0.728563", \ |
| "0.798127, 0.796609, 0.789305, 0.771034, 0.7491, 0.734492, 0.732446", \ |
| "0.784564, 0.783486, 0.776193, 0.757911, 0.735988, 0.722117, 0.713427" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.45749, 0.453893, 0.438075, 0.403326, 0.344135, 0.269284, 0.174032", \ |
| "0.45925, 0.455158, 0.439351, 0.40546, 0.345081, 0.270607, 0.175169", \ |
| "0.454091, 0.45078, 0.434588, 0.399839, 0.340648, 0.266041, 0.170187", \ |
| "0.455653, 0.451561, 0.436073, 0.401478, 0.342067, 0.265576, 0.171835", \ |
| "0.461604, 0.456478, 0.44066, 0.407099, 0.347985, 0.272597, 0.17787", \ |
| "0.464024, 0.46046, 0.444455, 0.409838, 0.351373, 0.274754, 0.180562", \ |
| "0.450901, 0.447139, 0.431497, 0.396726, 0.337546, 0.262914, 0.167436" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0320813; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.49357, 0.489456, 0.48378, 0.487718, 0.518133, 0.541277, 0.562793", \ |
| "0.490831, 0.489214, 0.484594, 0.486134, 0.516846, 0.541035, 0.562584", \ |
| "0.494912, 0.493262, 0.487168, 0.489588, 0.519893, 0.54307, 0.565257", \ |
| "0.495462, 0.492712, 0.487663, 0.489698, 0.520223, 0.545281, 0.564817", \ |
| "0.489291, 0.486024, 0.481921, 0.484462, 0.513909, 0.539374, 0.558679", \ |
| "0.487751, 0.483494, 0.479182, 0.481492, 0.511896, 0.536866, 0.555423", \ |
| "0.499609, 0.496353, 0.491909, 0.493097, 0.524689, 0.546216, 0.57046" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.632467, 0.634832, 0.643478, 0.664081, 0.709401, 0.772541, 0.846208", \ |
| "0.632005, 0.633303, 0.641773, 0.662794, 0.708257, 0.771694, 0.844921", \ |
| "0.635085, 0.63701, 0.647273, 0.668635, 0.711865, 0.775456, 0.850982", \ |
| "0.634799, 0.636581, 0.645051, 0.668129, 0.711425, 0.775467, 0.848485", \ |
| "0.628617, 0.630729, 0.639617, 0.662156, 0.704451, 0.762432, 0.842908", \ |
| "0.62623, 0.628738, 0.637945, 0.659516, 0.702328, 0.767888, 0.839872", \ |
| "0.638847, 0.639936, 0.650793, 0.672518, 0.715803, 0.779196, 0.852093" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.491964, 0.49489, 0.496188, 0.492283, 0.490556, 0.491491, 0.492393", \ |
| "0.4928, 0.494956, 0.497233, 0.493317, 0.491601, 0.492525, 0.493449", \ |
| "0.503206, 0.505362, 0.507639, 0.503734, 0.502007, 0.502942, 0.503866", \ |
| "0.520124, 0.522511, 0.524546, 0.520608, 0.518903, 0.519838, 0.520762", \ |
| "0.548185, 0.550341, 0.552618, 0.548713, 0.546986, 0.547921, 0.549274", \ |
| "0.579546, 0.581955, 0.583979, 0.580063, 0.578347, 0.579271, 0.580635", \ |
| "0.60038, 0.602789, 0.604813, 0.600908, 0.599181, 0.600116, 0.60104" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.501831, 0.499697, 0.490336, 0.478533, 0.478566, 0.484176, 0.491403", \ |
| "0.50292, 0.500698, 0.491392, 0.480931, 0.479611, 0.485221, 0.492437", \ |
| "0.513326, 0.511104, 0.501787, 0.489984, 0.490017, 0.495627, 0.502854", \ |
| "0.529837, 0.528011, 0.518694, 0.506891, 0.506924, 0.5137, 0.51975", \ |
| "0.558316, 0.556105, 0.546799, 0.534974, 0.535007, 0.540815, 0.547833", \ |
| "0.589666, 0.587499, 0.578116, 0.566335, 0.566357, 0.572176, 0.579249", \ |
| "0.610511, 0.608234, 0.598972, 0.587158, 0.587202, 0.592812, 0.600028" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.0156697; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.413611, 0.414777, 0.423632, 0.426217, 0.417956, 0.394306, 0.351351", \ |
| "0.414403, 0.41305, 0.421355, 0.424226, 0.417868, 0.394845, 0.350031", \ |
| "0.418451, 0.417615, 0.427966, 0.429649, 0.419045, 0.397639, 0.354156", \ |
| "0.415184, 0.417549, 0.42482, 0.428593, 0.420343, 0.395758, 0.353452", \ |
| "0.411829, 0.411917, 0.42064, 0.423247, 0.412962, 0.39149, 0.346918", \ |
| "0.405933, 0.408672, 0.418957, 0.420409, 0.41085, 0.389345, 0.341924", \ |
| "0.421586, 0.421685, 0.431354, 0.431673, 0.422917, 0.401588, 0.356609" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.104592, 0.105059, 0.120941, 0.167235, 0.239741, 0.338503, 0.462528", \ |
| "0.103103, 0.102404, 0.119807, 0.165999, 0.239924, 0.337557, 0.461186", \ |
| "0.106974, 0.1077, 0.123628, 0.169709, 0.242222, 0.341143, 0.464904", \ |
| "0.10641, 0.106922, 0.122895, 0.169228, 0.24279, 0.340879, 0.464508", \ |
| "0.100754, 0.101005, 0.117204, 0.163388, 0.235789, 0.334609, 0.459118", \ |
| "0.0983169, 0.0986315, 0.11498, 0.161592, 0.234818, 0.331969, 0.456203", \ |
| "0.111647, 0.111222, 0.127423, 0.173636, 0.246011, 0.345169, 0.468809" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.467544, 0.466642, 0.456467, 0.454454, 0.463166, 0.486563, 0.5302", \ |
| "0.468424, 0.468809, 0.460768, 0.456566, 0.465498, 0.488785, 0.533269", \ |
| "0.463012, 0.463177, 0.454168, 0.44902, 0.460911, 0.484242, 0.527868", \ |
| "0.464728, 0.464101, 0.457688, 0.452166, 0.461549, 0.487102, 0.530068", \ |
| "0.471449, 0.469909, 0.462748, 0.457787, 0.46871, 0.492272, 0.535623", \ |
| "0.474606, 0.473044, 0.464761, 0.459877, 0.470789, 0.494681, 0.537251", \ |
| "0.461604, 0.460856, 0.451627, 0.448833, 0.457314, 0.481756, 0.525822" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ( \ |
| "0.631587, 0.631334, 0.614482, 0.568634, 0.49555, 0.397727, 0.275297", \ |
| "0.633655, 0.633677, 0.616814, 0.570966, 0.497882, 0.40007, 0.27764", \ |
| "0.628573, 0.628518, 0.611655, 0.565807, 0.492723, 0.394911, 0.272479", \ |
| "0.630685, 0.630718, 0.613855, 0.568007, 0.494923, 0.3971, 0.274669", \ |
| "0.636383, 0.636328, 0.619465, 0.573617, 0.500533, 0.402721, 0.280291", \ |
| "0.638429, 0.638396, 0.621544, 0.575663, 0.502601, 0.404789, 0.282348", \ |
| "0.625779, 0.625724, 0.608872, 0.563013, 0.489929, 0.392117, 0.269684" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 0.0094567; |
| } |
| } |