| /* |
| * 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_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 : 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.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.51512, 4.53216, 4.58664, 4.67784, 4.81044, 4.99872, 5.24256", \ |
| "4.51524, 4.53324, 4.59072, 4.677, 4.812, 4.9974, 5.24508", \ |
| "4.51608, 4.52916, 4.58604, 4.67676, 4.81164, 4.99656, 5.24412", \ |
| "4.51296, 4.53288, 4.5876, 4.67784, 4.81392, 4.998, 5.2416", \ |
| "4.52076, 4.53708, 4.59192, 4.68456, 4.81896, 5.00304, 5.24448", \ |
| "4.5216, 4.54176, 4.5954, 4.68312, 4.8192, 5.00448, 5.24988", \ |
| "4.51308, 4.5348, 4.58868, 4.67532, 4.809, 4.99524, 5.23716" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115"); |
| values ( \ |
| "0.189252, 0.213504, 0.296232, 0.467052, 0.739128, 1.14301, 1.66944" \ |
| ) |
| |
| } |
| 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.6284, 4.64568, 4.70388, 4.79112, 4.90524, 5.05056, 5.23776", \ |
| "4.62948, 4.64604, 4.707, 4.78752, 4.9032, 5.05044, 5.24076", \ |
| "4.62876, 4.64352, 4.69812, 4.78776, 4.90092, 5.0448, 5.2368", \ |
| "4.62696, 4.64352, 4.70184, 4.78632, 4.90392, 5.04828, 5.23632", \ |
| "4.6344, 4.64988, 4.70628, 4.7958, 4.91004, 5.05716, 5.2398", \ |
| "4.63584, 4.65444, 4.70988, 4.79652, 4.91124, 5.05812, 5.24664", \ |
| "4.62312, 4.64604, 4.70136, 4.78356, 4.89768, 5.04564, 5.2296" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115"); |
| values ( \ |
| "0.187752, 0.208884, 0.274332, 0.386436, 0.55596, 0.798216, 1.12002" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.284845; |
| clock : true; |
| max_transition : 1.394; |
| min_pulse_width_high : 2.103825; |
| min_pulse_width_low : 1.981425; |
| min_period : 6.07704; |
| |
| /* 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 ("1293.85, 1293.85, 1293.85, 1293.85, 1293.85, 1293.85, 1293.85"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("1293.85, 1293.85, 1293.85, 1293.85, 1293.85, 1293.85, 1293.85"); |
| } |
| } |
| /* 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.030899, 0.030899, 0.030899, 0.030899, 0.030899, 0.030899, 0.030899"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("0.030899, 0.030899, 0.030899, 0.030899, 0.030899, 0.030899, 0.030899"); |
| } |
| } |
| /* 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 ("1165.42, 1165.42, 1165.42, 1165.42, 1165.42, 1165.42, 1165.42"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("1165.42, 1165.42, 1165.42, 1165.42, 1165.42, 1165.42, 1165.42"); |
| } |
| } |
| } |
| |
| 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.0173055; |
| 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.411015, 0.407924, 0.402347, 0.404899, 0.423368, 0.447172, 0.472615", \ |
| "0.411048, 0.407935, 0.402215, 0.404734, 0.423203, 0.445665, 0.470448", \ |
| "0.409937, 0.407495, 0.401357, 0.404492, 0.423654, 0.440605, 0.46222", \ |
| "0.410784, 0.407407, 0.401291, 0.404316, 0.422774, 0.440418, 0.453024", \ |
| "0.409915, 0.407286, 0.400972, 0.404041, 0.422521, 0.440165, 0.452771", \ |
| "0.409959, 0.406516, 0.400785, 0.403953, 0.423115, 0.440066, 0.454069", \ |
| "0.419188, 0.415811, 0.41008, 0.414502, 0.438669, 0.465487, 0.492426" \ |
| ) |
| } |
| 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.388872, 0.390258, 0.399113, 0.42064, 0.465267, 0.519519, 0.580701", \ |
| "0.388938, 0.390093, 0.398937, 0.420475, 0.465102, 0.519409, 0.580536", \ |
| "0.389169, 0.389862, 0.399311, 0.420244, 0.46486, 0.519167, 0.580294", \ |
| "0.388509, 0.389664, 0.398508, 0.420035, 0.464673, 0.518947, 0.580107", \ |
| "0.388245, 0.3894, 0.398255, 0.419793, 0.46442, 0.518694, 0.579854", \ |
| "0.387871, 0.389312, 0.398167, 0.419694, 0.464321, 0.518628, 0.579755", \ |
| "0.388619, 0.38929, 0.398167, 0.419683, 0.464277, 0.518628, 0.579755" \ |
| ) |
| } |
| } |
| 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.07749, 1.08059, 1.08616, 1.08361, 1.06514, 1.0475, 1.03488", \ |
| "1.09031, 1.09343, 1.09914, 1.09662, 1.07815, 1.06051, 1.0479", \ |
| "1.10274, 1.10518, 1.11132, 1.10818, 1.08902, 1.07206, 1.05945", \ |
| "1.12333, 1.12671, 1.13282, 1.1298, 1.11134, 1.0937, 1.08109", \ |
| "1.15544, 1.15807, 1.16438, 1.16131, 1.14283, 1.1252, 1.11258", \ |
| "1.1817, 1.18515, 1.19087, 1.18771, 1.16855, 1.1516, 1.13898", \ |
| "1.20181, 1.20518, 1.21124, 1.20783, 1.18979, 1.17294, 1.15948" \ |
| ) |
| } |
| 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.09964, 1.09825, 1.0894, 1.06787, 1.02324, 0.96899, 0.907808", \ |
| "1.11242, 1.11126, 1.10242, 1.08088, 1.03625, 0.981948, 0.920821", \ |
| "1.12351, 1.1228, 1.11337, 1.09243, 1.04781, 0.993498, 0.932371", \ |
| "1.14562, 1.14445, 1.13562, 1.11408, 1.06944, 1.01518, 0.954008", \ |
| "1.17711, 1.17596, 1.1671, 1.14557, 1.10094, 1.04667, 0.985501", \ |
| "1.2038, 1.20234, 1.1935, 1.17197, 1.12735, 1.07304, 1.01191", \ |
| "1.22354, 1.22287, 1.21399, 1.19248, 1.14788, 1.09353, 1.03241" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0490477; |
| 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.562232, 0.564278, 0.570702, 0.591107, 0.627374, 0.675554, 0.717057", \ |
| "0.561407, 0.563816, 0.570471, 0.590832, 0.627704, 0.675521, 0.719356", \ |
| "0.554301, 0.556545, 0.563233, 0.583627, 0.619993, 0.668338, 0.713317", \ |
| "0.533929, 0.536316, 0.542828, 0.563145, 0.599423, 0.64757, 0.691669", \ |
| "0.499994, 0.502678, 0.509025, 0.529342, 0.565851, 0.614053, 0.659285", \ |
| "0.469095, 0.471845, 0.478335, 0.498674, 0.535601, 0.583099, 0.628298", \ |
| "0.441573, 0.444246, 0.450758, 0.471086, 0.507353, 0.555786, 0.60071" \ |
| ) |
| } |
| 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.587928, 0.590832, 0.604758, 0.639155, 0.697631, 0.778217, 0.874478", \ |
| "0.587246, 0.590557, 0.605825, 0.639683, 0.697356, 0.779801, 0.876018", \ |
| "0.580272, 0.583396, 0.59818, 0.631741, 0.693308, 0.770924, 0.866525", \ |
| "0.55957, 0.56287, 0.577709, 0.61138, 0.671484, 0.752741, 0.846329", \ |
| "0.525767, 0.528869, 0.543895, 0.577577, 0.639023, 0.718938, 0.814539", \ |
| "0.495308, 0.498399, 0.512325, 0.546909, 0.605198, 0.687566, 0.781583", \ |
| "0.467731, 0.4708, 0.485628, 0.5192, 0.577599, 0.659637, 0.753984" \ |
| ) |
| } |
| } |
| 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.818994, 0.817993, 0.810986, 0.793848, 0.771023, 0.757361, 0.752433", \ |
| "0.819511, 0.818785, 0.811316, 0.794167, 0.771331, 0.757658, 0.746812", \ |
| "0.816728, 0.814605, 0.808269, 0.791131, 0.768306, 0.754611, 0.742005", \ |
| "0.818774, 0.81774, 0.810634, 0.793397, 0.77055, 0.75691, 0.746042", \ |
| "0.822173, 0.820281, 0.814033, 0.79684, 0.774004, 0.760342, 0.747725", \ |
| "0.825187, 0.823009, 0.816706, 0.799568, 0.776743, 0.76307, 0.750442", \ |
| "0.813912, 0.812691, 0.805706, 0.788557, 0.765743, 0.752037, 0.739431" \ |
| ) |
| } |
| 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.485144, 0.482218, 0.467709, 0.43252, 0.373813, 0.298122, 0.203966", \ |
| "0.485661, 0.482988, 0.468061, 0.433488, 0.374132, 0.295625, 0.203605", \ |
| "0.483252, 0.479875, 0.465036, 0.430111, 0.369644, 0.293161, 0.201254", \ |
| "0.485408, 0.4818, 0.467324, 0.432476, 0.374649, 0.296384, 0.203231", \ |
| "0.488719, 0.485221, 0.470734, 0.43582, 0.375364, 0.299827, 0.206272", \ |
| "0.491766, 0.488092, 0.473011, 0.438548, 0.379533, 0.302819, 0.209004", \ |
| "0.518474, 0.514734, 0.499851, 0.46508, 0.404206, 0.32208, 0.233776" \ |
| ) |
| } |
| } |
| } |
| 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.218044, 0.222242, 0.236276, 0.271538, 0.330693, 0.405834, 0.50083", \ |
| "0.2166, 0.220381, 0.234883, 0.2696, 0.32912, 0.407748, 0.500335", \ |
| "0.219079, 0.222958, 0.237272, 0.272348, 0.332959, 0.4092, 0.502821", \ |
| "0.216993, 0.221209, 0.234903, 0.270689, 0.328581, 0.406824, 0.500599", \ |
| "0.214657, 0.21895, 0.232943, 0.26851, 0.32802, 0.40458, 0.498927", \ |
| "0.211681, 0.21556, 0.230441, 0.265261, 0.324588, 0.400367, 0.494879", \ |
| "0.221971, 0.226207, 0.24069, 0.275594, 0.33462, 0.412049, 0.506088" \ |
| ) |
| } |
| } |
| 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.818994, 0.817993, 0.810986, 0.793848, 0.771023, 0.757361, 0.752433", \ |
| "0.819511, 0.818785, 0.811316, 0.794167, 0.771331, 0.757658, 0.746812", \ |
| "0.816728, 0.815364, 0.808269, 0.791131, 0.768306, 0.754611, 0.743677", \ |
| "0.818774, 0.81774, 0.810634, 0.793397, 0.77055, 0.75691, 0.746042", \ |
| "0.822173, 0.820754, 0.814033, 0.79684, 0.774004, 0.760342, 0.749078", \ |
| "0.825187, 0.823471, 0.816706, 0.799568, 0.776743, 0.76307, 0.751784", \ |
| "0.813912, 0.812691, 0.805706, 0.788557, 0.765743, 0.752037, 0.740784" \ |
| ) |
| } |
| 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.485144, 0.482218, 0.467709, 0.43252, 0.373813, 0.298122, 0.203966", \ |
| "0.485661, 0.482988, 0.468061, 0.433488, 0.374132, 0.295625, 0.203605", \ |
| "0.48367, 0.479875, 0.465036, 0.430111, 0.369644, 0.293161, 0.201254", \ |
| "0.485408, 0.4818, 0.467324, 0.432476, 0.374649, 0.296384, 0.203231", \ |
| "0.488719, 0.485221, 0.470734, 0.43582, 0.375375, 0.299827, 0.206272", \ |
| "0.491799, 0.488092, 0.473011, 0.438548, 0.379533, 0.302819, 0.209004", \ |
| "0.480799, 0.476883, 0.462297, 0.427548, 0.368522, 0.290928, 0.19799" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0375921; |
| 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.578677, 0.573518, 0.570845, 0.577269, 0.602866, 0.634095, 0.662805", \ |
| "0.577643, 0.574959, 0.5687, 0.577016, 0.600413, 0.632918, 0.661078", \ |
| "0.577016, 0.573155, 0.570482, 0.579249, 0.603075, 0.636515, 0.660748", \ |
| "0.578556, 0.572253, 0.569679, 0.576015, 0.601909, 0.635107, 0.658999", \ |
| "0.576576, 0.572572, 0.56859, 0.574134, 0.599632, 0.632126, 0.656711", \ |
| "0.573947, 0.566093, 0.563486, 0.571813, 0.59642, 0.629321, 0.653873", \ |
| "0.584265, 0.580558, 0.573628, 0.582923, 0.606221, 0.640618, 0.664697" \ |
| ) |
| } |
| 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.864347, 0.866822, 0.875798, 0.897402, 0.945648, 1.00675, 1.08746", \ |
| "0.863929, 0.866536, 0.873939, 0.897072, 0.942832, 1.00566, 1.08688", \ |
| "0.86603, 0.869462, 0.878152, 0.896335, 0.944009, 1.00883, 1.08728", \ |
| "0.866921, 0.866965, 0.875061, 0.897149, 0.941523, 1.00652, 1.08623", \ |
| "0.862686, 0.86592, 0.872839, 0.895312, 0.937849, 1.00412, 1.08485", \ |
| "0.860772, 0.863643, 0.868879, 0.890725, 0.939532, 1.00082, 1.08031", \ |
| "0.870221, 0.872751, 0.881144, 0.901802, 0.946638, 1.00978, 1.09216" \ |
| ) |
| } |
| } |
| 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.495913, 0.499741, 0.501204, 0.498476, 0.498366, 0.495297, 0.495506", \ |
| "0.498058, 0.501545, 0.502986, 0.500291, 0.500181, 0.497112, 0.49731", \ |
| "0.506066, 0.509916, 0.511401, 0.508651, 0.508541, 0.505472, 0.505681", \ |
| "0.525613, 0.528308, 0.529749, 0.527065, 0.526944, 0.523886, 0.524084", \ |
| "0.553366, 0.556193, 0.557667, 0.554928, 0.554818, 0.551749, 0.551947", \ |
| "0.585024, 0.588995, 0.59048, 0.587741, 0.587631, 0.584562, 0.58476", \ |
| "0.604406, 0.608146, 0.60962, 0.606892, 0.606782, 0.603713, 0.603911" \ |
| ) |
| } |
| 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.505505, 0.503459, 0.494197, 0.481536, 0.479369, 0.488675, 0.495495", \ |
| "0.507474, 0.505252, 0.496001, 0.483351, 0.481239, 0.490501, 0.49731", \ |
| "0.515812, 0.513634, 0.504361, 0.492294, 0.493416, 0.498861, 0.50567", \ |
| "0.534226, 0.532026, 0.522775, 0.510334, 0.51183, 0.517275, 0.524084", \ |
| "0.562089, 0.5599, 0.550649, 0.537988, 0.539693, 0.545127, 0.551947", \ |
| "0.594814, 0.592724, 0.583462, 0.571384, 0.568667, 0.577951, 0.58476", \ |
| "0.613888, 0.611864, 0.602646, 0.59015, 0.591657, 0.597091, 0.603911" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.0157294; |
| 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.391215, 0.39204, 0.399421, 0.40315, 0.389928, 0.371118, 0.326744", \ |
| "0.388487, 0.391226, 0.397441, 0.402182, 0.391732, 0.371294, 0.325061", \ |
| "0.390852, 0.393184, 0.399542, 0.402809, 0.39193, 0.372207, 0.326535", \ |
| "0.38852, 0.391567, 0.400059, 0.403062, 0.392942, 0.370667, 0.326524", \ |
| "0.387156, 0.388905, 0.397232, 0.39776, 0.392227, 0.369512, 0.321552", \ |
| "0.383581, 0.385407, 0.392469, 0.395879, 0.386342, 0.364991, 0.322234", \ |
| "0.394317, 0.395802, 0.404327, 0.405856, 0.399619, 0.375639, 0.332398" \ |
| ) |
| } |
| 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.0803055, 0.0811426, 0.0958408, 0.143787, 0.217157, 0.314666, 0.438845", \ |
| "0.0798226, 0.0787336, 0.0954899, 0.142509, 0.216312, 0.314435, 0.438251", \ |
| "0.0814836, 0.0806839, 0.0972356, 0.144946, 0.218242, 0.316096, 0.439989", \ |
| "0.0809699, 0.0802208, 0.0965272, 0.143107, 0.216429, 0.314391, 0.438141", \ |
| "0.0778052, 0.0787391, 0.0948332, 0.14126, 0.214953, 0.312697, 0.436678", \ |
| "0.0738716, 0.0749969, 0.0914683, 0.138119, 0.211224, 0.308748, 0.433158", \ |
| "0.0855943, 0.0848683, 0.10161, 0.149079, 0.222158, 0.319682, 0.443938" \ |
| ) |
| } |
| } |
| 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.49137, 0.49225, 0.483989, 0.479446, 0.489423, 0.513139, 0.556127", \ |
| "0.493537, 0.493174, 0.485419, 0.480898, 0.490842, 0.512347, 0.559086", \ |
| "0.492514, 0.491557, 0.483186, 0.479446, 0.488631, 0.511819, 0.554862", \ |
| "0.493647, 0.493108, 0.485254, 0.480634, 0.490666, 0.513513, 0.557095", \ |
| "0.495847, 0.494054, 0.486706, 0.483032, 0.492272, 0.514888, 0.558877", \ |
| "0.499158, 0.49764, 0.489687, 0.485694, 0.495253, 0.518837, 0.561297", \ |
| "0.489291, 0.487641, 0.480282, 0.476201, 0.484924, 0.509399, 0.551958" \ |
| ) |
| } |
| 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.658053, 0.65714, 0.640266, 0.594374, 0.521323, 0.4235, 0.30107", \ |
| "0.658537, 0.658768, 0.641696, 0.595837, 0.522753, 0.42493, 0.3025", \ |
| "0.656403, 0.656337, 0.639463, 0.593604, 0.52052, 0.422697, 0.300267", \ |
| "0.65868, 0.658603, 0.641531, 0.595672, 0.522588, 0.424765, 0.302335", \ |
| "0.660187, 0.66, 0.643126, 0.597267, 0.524183, 0.426371, 0.30393", \ |
| "0.663784, 0.663036, 0.645953, 0.600105, 0.527021, 0.429198, 0.306768", \ |
| "0.653147, 0.653059, 0.63624, 0.590392, 0.517308, 0.419485, 0.297055" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 0.030899; |
| } |
| } |