| /* |
| * 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__tt_025C_3v30) { |
| delay_model : table_lookup; |
| revision : 1.0; |
| date : "June 20, 2014"; |
| comment : "GF 180nm 5V Green"; |
| voltage_unit : "1V"; |
| time_unit : "1ns"; |
| current_unit : "1mA"; |
| leakage_power_unit : "1mW"; |
| nom_process : 1; |
| nom_temperature : 25; |
| nom_voltage : 3.3; |
| 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 : 3.1779; |
| 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.3); |
| voltage_map (VSS, 0.00); |
| operating_conditions(tt_3p3v_25C) { |
| process : 1; |
| temperature : 25; |
| voltage : 3.3; |
| tree_type : balanced_tree; |
| } |
| |
| default_operating_conditions : tt_3p3v_25C; |
| wire_load("Estimate") { |
| resistance : 1.44e-05; |
| capacitance : 0.00018; |
| area : 1.7; |
| slope : 500; |
| fanout_length (1,500); |
| } |
| power_lut_template(power_template) { |
| variable_1 : input_transition_time; |
| index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| } |
| lu_table_template(q_delay_template) { |
| variable_1 : input_net_transition; |
| variable_2 : total_output_net_capacitance; |
| index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| index_2 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| } |
| lu_table_template(q_slew_template) { |
| variable_1 : total_output_net_capacitance; |
| index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| } |
| lu_table_template(constraint_template) { |
| variable_1 : related_pin_transition; |
| variable_2 : constrained_pin_transition; |
| index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| index_2 ("1001, 1002, 1003, 1004, 1005, 1006, 1007"); |
| } |
| |
| library_features(report_delay_calculation); |
| |
| type (A_BUS) { |
| base_type : array; |
| data_type : bit; |
| bit_width : 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.0423; |
| 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.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423"); |
| values ( \ |
| "6.9234, 6.95652, 7.03452, 7.17396, 7.3776, 7.65684, 8.0352", \ |
| "6.91956, 6.95424, 7.035, 7.1754, 7.38084, 7.6608, 8.0238", \ |
| "6.9432, 6.9624, 7.05048, 7.19136, 7.4088, 7.67436, 8.0724", \ |
| "6.9738, 6.9912, 7.08108, 7.22916, 7.42416, 7.704, 8.0772", \ |
| "6.98856, 7.02672, 7.09632, 7.23984, 7.44456, 7.73736, 8.09448", \ |
| "7.00092, 7.04172, 7.11504, 7.25664, 7.46064, 7.75836, 8.13084", \ |
| "7.00104, 7.02072, 7.104, 7.2438, 7.44984, 7.73256, 8.10336" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423"); |
| values ( \ |
| "0.227676, 0.266148, 0.399252, 0.646284, 1.03256, 1.59804, 2.33544" \ |
| ) |
| |
| } |
| cell_fall(q_delay_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423"); |
| values ( \ |
| "7.17732, 7.20636, 7.2762, 7.3968, 7.55184, 7.7292, 7.97664", \ |
| "7.1754, 7.20504, 7.27392, 7.39608, 7.5558, 7.73496, 7.96656", \ |
| "7.19184, 7.21116, 7.29408, 7.41468, 7.57452, 7.7562, 8.01096", \ |
| "7.22556, 7.24188, 7.32672, 7.45092, 7.59864, 7.7832, 8.01732", \ |
| "7.24164, 7.27764, 7.34172, 7.46136, 7.614, 7.81248, 8.03592", \ |
| "7.25136, 7.29696, 7.35468, 7.47636, 7.62948, 7.83264, 8.06604", \ |
| "7.25364, 7.26672, 7.34784, 7.46424, 7.61688, 7.80852, 8.04" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423"); |
| values ( \ |
| "0.228072, 0.25524, 0.345948, 0.484512, 0.691248, 0.986772, 1.35444" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.293159; |
| clock : true; |
| max_transition : 3.1779; |
| min_pulse_width_high : 3.58023; |
| min_pulse_width_low : 3.33447; |
| min_period : 9.24063; |
| |
| /* 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.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ("408.606, 408.606, 408.606, 408.606, 408.606, 408.606, 408.606"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ("408.606, 408.606, 408.606, 408.606, 408.606, 408.606, 408.606"); |
| } |
| } |
| /* DISABLED POWER */ |
| internal_power() { |
| when : "CEN"; |
| rise_power(power_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ("0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ("0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659"); |
| } |
| } |
| /* READ POWER */ |
| internal_power() { |
| when : "!CEN & GWEN"; |
| rise_power(power_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ("369.6, 369.6, 369.6, 369.6, 369.6, 369.6, 369.6"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ("369.6, 369.6, 369.6, 369.6, 369.6, 369.6, 369.6"); |
| } |
| } |
| } |
| |
| 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.01827; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.612843, 0.599731, 0.603845, 0.657217, 0.736076, 0.787589, 0.826936", \ |
| "0.602283, 0.589182, 0.592801, 0.646679, 0.725516, 0.777007, 0.816343", \ |
| "0.585101, 0.576026, 0.575718, 0.621478, 0.691548, 0.746086, 0.785323", \ |
| "0.586025, 0.574739, 0.575465, 0.621214, 0.676643, 0.696036, 0.735427", \ |
| "0.584375, 0.57541, 0.575036, 0.620851, 0.676225, 0.696542, 0.719455", \ |
| "0.584903, 0.574156, 0.574893, 0.620631, 0.676071, 0.695464, 0.719191", \ |
| "0.585189, 0.575234, 0.574618, 0.620367, 0.675147, 0.724823, 0.763081" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.541519, 0.549307, 0.58278, 0.663564, 0.789701, 0.927014, 1.07832", \ |
| "0.540804, 0.547723, 0.581603, 0.662442, 0.786786, 0.926486, 1.07716", \ |
| "0.539033, 0.54637, 0.580932, 0.659857, 0.778998, 0.925045, 1.07572", \ |
| "0.538989, 0.546458, 0.579898, 0.66066, 0.778525, 0.924132, 1.07545", \ |
| "0.537999, 0.545776, 0.580217, 0.659241, 0.778162, 0.923076, 1.07509", \ |
| "0.538527, 0.545556, 0.579293, 0.659021, 0.784542, 0.923571, 1.07484", \ |
| "0.537856, 0.545171, 0.579788, 0.659813, 0.784245, 0.923945, 1.0746" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "1.59346, 1.60347, 1.60281, 1.55804, 1.5015, 1.48214, 1.45838", \ |
| "1.6016, 1.61161, 1.61095, 1.56618, 1.50964, 1.49028, 1.46652", \ |
| "1.6335, 1.64263, 1.64285, 1.59709, 1.54462, 1.52229, 1.49864", \ |
| "1.70797, 1.7193, 1.71853, 1.67277, 1.61733, 1.59808, 1.57421", \ |
| "1.79795, 1.80686, 1.8073, 1.76143, 1.7061, 1.68575, 1.66287", \ |
| "1.88386, 1.89464, 1.89387, 1.84811, 1.79267, 1.77331, 1.74955", \ |
| "1.93138, 1.94128, 1.94194, 1.89618, 1.8414, 1.82039, 1.79762" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "1.63955, 1.63174, 1.5983, 1.51745, 1.39139, 1.25404, 1.10274", \ |
| "1.64725, 1.64032, 1.60644, 1.52559, 1.40118, 1.26154, 1.11086", \ |
| "1.67959, 1.67222, 1.63768, 1.5587, 1.43957, 1.29357, 1.1429", \ |
| "1.75505, 1.74757, 1.71413, 1.63339, 1.51547, 1.36994, 1.21859", \ |
| "1.84426, 1.83656, 1.80213, 1.72304, 1.60413, 1.45926, 1.30724", \ |
| "1.93017, 1.92324, 1.88947, 1.80972, 1.68421, 1.54517, 1.39392", \ |
| "1.97868, 1.97131, 1.93677, 1.85669, 1.73228, 1.59258, 1.44188" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0480111; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.823812, 0.834031, 0.867086, 0.936188, 1.03114, 1.12515, 1.204", \ |
| "0.81433, 0.824263, 0.857769, 0.926871, 1.02167, 1.1157, 1.19408", \ |
| "0.782056, 0.792264, 0.825495, 0.894487, 0.989593, 1.08284, 1.16228", \ |
| "0.714472, 0.724526, 0.757702, 0.826826, 0.921624, 1.01565, 1.0945", \ |
| "0.644413, 0.654456, 0.687687, 0.756778, 0.851565, 0.94556, 1.02454", \ |
| "0.58454, 0.594616, 0.6281, 0.697224, 0.792154, 0.88605, 0.963116", \ |
| "0.548504, 0.558272, 0.591734, 0.660253, 0.755656, 0.849112, 0.928059" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.917543, 0.924572, 0.971333, 1.0668, 1.21642, 1.40173, 1.60677", \ |
| "0.910195, 0.915101, 0.961884, 1.05737, 1.20591, 1.39205, 1.59533", \ |
| "0.878163, 0.882871, 0.926992, 1.02509, 1.16882, 1.35982, 1.5631", \ |
| "0.810381, 0.815067, 0.861355, 0.957297, 1.10048, 1.29216, 1.49534", \ |
| "0.738133, 0.745052, 0.789162, 0.887293, 1.03074, 1.22197, 1.42725", \ |
| "0.678634, 0.685388, 0.733271, 0.827695, 0.976294, 1.16254, 1.36576", \ |
| "0.642202, 0.649033, 0.693066, 0.79134, 0.940302, 1.12598, 1.33056" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "1.18247, 1.17357, 1.13966, 1.07916, 1.03014, 0.991661, 0.981893", \ |
| "1.18807, 1.17972, 1.14524, 1.08473, 1.03439, 0.997238, 0.98747", \ |
| "1.20634, 1.19751, 1.16361, 1.1031, 1.05373, 1.01581, 1.00585", \ |
| "1.22243, 1.21355, 1.17965, 1.11915, 1.07012, 1.03165, 1.02188", \ |
| "1.25178, 1.24242, 1.20853, 1.14795, 1.099, 1.06052, 1.05075", \ |
| "1.25957, 1.25068, 1.21678, 1.15621, 1.10733, 1.06878, 1.05905", \ |
| "1.24632, 1.23744, 1.20354, 1.14304, 1.09402, 1.05554, 1.04578" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.633259, 0.627088, 0.581339, 0.486178, 0.340505, 0.164949, 0", \ |
| "0.641168, 0.633138, 0.586608, 0.491711, 0.348568, 0.170074, 0", \ |
| "0.660473, 0.651486, 0.606837, 0.510092, 0.373978, 0.18847, 0", \ |
| "0.676522, 0.667876, 0.618915, 0.526108, 0.388905, 0.205104, 0.005742", \ |
| "0.703186, 0.696784, 0.65175, 0.554994, 0.42009, 0.23329, 0.034034", \ |
| "0.753698, 0.745107, 0.699215, 0.602063, 0.452397, 0.278688, 0.0854788", \ |
| "0.830621, 0.821414, 0.778217, 0.678337, 0.528374, 0.355179, 0.161108" \ |
| ) |
| } |
| } |
| } |
| bus(WEN) { |
| bus_type : Q_BUS; |
| direction : input; |
| capacitance : 0.00764901; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0, 0, 0, 0, 0, 0, 0.004906", \ |
| "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.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.336743, 0.342419, 0.39193, 0.483923, 0.628837, 0.805519, 1.00633", \ |
| "0.327085, 0.336171, 0.38577, 0.477873, 0.620466, 0.799986, 0.998679", \ |
| "0.306845, 0.315931, 0.363506, 0.457633, 0.597366, 0.778921, 0.979649", \ |
| "0.293207, 0.302207, 0.35123, 0.443597, 0.581328, 0.764643, 0.964722", \ |
| "0.264718, 0.272611, 0.319935, 0.414117, 0.55264, 0.736098, 0.937772", \ |
| "0.255087, 0.263103, 0.311905, 0.404536, 0.548064, 0.726176, 0.926717", \ |
| "0.270129, 0.278254, 0.324896, 0.419991, 0.564773, 0.742038, 0.938751" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "1.18295, 1.1751, 1.14313, 1.08192, 1.0306, 0.991683, 0.981893", \ |
| "1.18853, 1.18067, 1.14871, 1.08749, 1.03619, 0.997271, 0.98747", \ |
| "1.2069, 1.19904, 1.16707, 1.10585, 1.05455, 1.01581, 1.00585", \ |
| "1.22296, 1.2151, 1.18314, 1.12192, 1.07061, 1.0317, 1.02188", \ |
| "1.2518, 1.24395, 1.21198, 1.15077, 1.09946, 1.06054, 1.05075", \ |
| "1.26014, 1.25228, 1.22032, 1.1591, 1.1078, 1.06888, 1.05905", \ |
| "1.24686, 1.23902, 1.20704, 1.14583, 1.09452, 1.0556, 1.04578" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.633644, 0.627088, 0.581339, 0.486178, 0.34221, 0.166309, 0", \ |
| "0.641685, 0.633138, 0.586608, 0.491711, 0.350141, 0.171576, 0", \ |
| "0.660902, 0.651486, 0.606837, 0.510092, 0.373978, 0.189939, 0", \ |
| "0.67694, 0.667876, 0.618915, 0.526108, 0.389554, 0.206381, 0.010109", \ |
| "0.703483, 0.696784, 0.65175, 0.554994, 0.42009, 0.234784, 0.034034", \ |
| "0.711293, 0.704495, 0.657811, 0.563354, 0.42174, 0.243569, 0.047289", \ |
| "0.699501, 0.691427, 0.646668, 0.55, 0.406934, 0.229913, 0.032912" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0401976; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.927531, 0.921415, 0.926255, 0.974149, 1.05517, 1.119, 1.1672", \ |
| "0.919204, 0.913077, 0.921525, 0.970101, 1.05143, 1.1155, 1.16056", \ |
| "0.900504, 0.894179, 0.897193, 0.948772, 1.02886, 1.09529, 1.13702", \ |
| "0.885929, 0.882728, 0.884554, 0.9339, 1.01702, 1.08132, 1.1268", \ |
| "0.856009, 0.849123, 0.853138, 0.904772, 0.986106, 1.05075, 1.0942", \ |
| "0.844118, 0.841698, 0.845713, 0.894993, 0.977174, 1.04117, 1.08379", \ |
| "0.867581, 0.855503, 0.859881, 0.911141, 0.99011, 1.05724, 1.10372" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "1.28151, 1.29789, 1.33397, 1.41955, 1.55375, 1.70258, 1.87616", \ |
| "1.28539, 1.29282, 1.3266, 1.41031, 1.54363, 1.69796, 1.86637", \ |
| "1.26179, 1.26672, 1.31021, 1.38479, 1.51987, 1.67893, 1.84844", \ |
| "1.24512, 1.25588, 1.29174, 1.37335, 1.5048, 1.6632, 1.83601", \ |
| "1.21519, 1.22553, 1.26427, 1.34288, 1.47763, 1.62789, 1.80664", \ |
| "1.21045, 1.21243, 1.25155, 1.33122, 1.46652, 1.62206, 1.79652", \ |
| "1.2242, 1.23344, 1.26839, 1.34959, 1.48236, 1.64164, 1.80906" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.697433, 0.704792, 0.696707, 0.678095, 0.668107, 0.659835, 0.649253", \ |
| "0.708851, 0.716287, 0.708191, 0.689579, 0.679602, 0.671319, 0.660737", \ |
| "0.742335, 0.74954, 0.741433, 0.722832, 0.712855, 0.704583, 0.694001", \ |
| "0.808049, 0.815463, 0.807378, 0.788766, 0.778778, 0.770506, 0.759935", \ |
| "0.902792, 0.910151, 0.902066, 0.883454, 0.873466, 0.865194, 0.854612", \ |
| "0.968242, 0.975667, 0.967571, 0.948959, 0.938971, 0.93071, 0.920117", \ |
| "1.02463, 1.03378, 1.0257, 1.00707, 0.997095, 0.988823, 0.978241" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.732336, 0.723283, 0.68541, 0.641905, 0.61721, 0.608872, 0.614658", \ |
| "0.743798, 0.734921, 0.696894, 0.653389, 0.628683, 0.620345, 0.626142", \ |
| "0.77704, 0.768163, 0.730147, 0.686653, 0.661947, 0.653609, 0.659406", \ |
| "0.842996, 0.834097, 0.796081, 0.752587, 0.727859, 0.719521, 0.725329", \ |
| "0.937673, 0.928785, 0.890769, 0.847264, 0.822547, 0.814209, 0.820017", \ |
| "1.00318, 0.99429, 0.956274, 0.91278, 0.888052, 0.879736, 0.885533", \ |
| "1.06109, 1.05238, 1.01439, 0.970893, 0.946187, 0.937849, 0.943646" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.0166433; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.673915, 0.685487, 0.715605, 0.730136, 0.730642, 0.698412, 0.624811", \ |
| "0.670571, 0.680999, 0.706948, 0.72578, 0.724328, 0.694188, 0.620708", \ |
| "0.649682, 0.655336, 0.686488, 0.704561, 0.704462, 0.671231, 0.596992", \ |
| "0.636647, 0.642279, 0.674388, 0.689876, 0.689425, 0.657107, 0.581746", \ |
| "0.608025, 0.615912, 0.643357, 0.657778, 0.657525, 0.626043, 0.553432", \ |
| "0.596376, 0.601777, 0.636449, 0.647735, 0.650221, 0.616077, 0.545952", \ |
| "0.612645, 0.618112, 0.649253, 0.665775, 0.665698, 0.631774, 0.557425" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.118923, 0.124299, 0.164125, 0.267174, 0.420365, 0.608333, 0.83864", \ |
| "0.116481, 0.119727, 0.156112, 0.261004, 0.414678, 0.601216, 0.832986", \ |
| "0.0926827, 0.0983312, 0.1377, 0.240265, 0.393965, 0.581669, 0.812966", \ |
| "0.078155, 0.081972, 0.123365, 0.226406, 0.379599, 0.567677, 0.798633", \ |
| "0.048741, 0.049753, 0.0926266, 0.195653, 0.348865, 0.536008, 0.767074", \ |
| "0.040304, 0.045067, 0.0844338, 0.187476, 0.34067, 0.528627, 0.757636", \ |
| "0.055297, 0.05973, 0.0995115, 0.202474, 0.357214, 0.543785, 0.772959" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.592383, 0.581185, 0.545171, 0.534996, 0.534985, 0.566137, 0.635899", \ |
| "0.595606, 0.585673, 0.557491, 0.539176, 0.53955, 0.571923, 0.644963", \ |
| "0.617639, 0.608146, 0.576169, 0.559856, 0.560967, 0.591844, 0.666347", \ |
| "0.627088, 0.620499, 0.584793, 0.574618, 0.573958, 0.605759, 0.675532", \ |
| "0.651101, 0.650771, 0.61666, 0.604362, 0.604472, 0.636284, 0.710303", \ |
| "0.665973, 0.65923, 0.623392, 0.612623, 0.613415, 0.651288, 0.718388", \ |
| "0.657349, 0.641729, 0.611226, 0.599742, 0.600358, 0.63151, 0.705551" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779"); |
| values ( \ |
| "0.906411, 0.904607, 0.864754, 0.759275, 0.607816, 0.419111, 0.193216", \ |
| "0.911361, 0.909073, 0.86955, 0.764082, 0.612612, 0.423918, 0.198024", \ |
| "0.931909, 0.930204, 0.89045, 0.784982, 0.633512, 0.444818, 0.218926", \ |
| "0.946033, 0.94391, 0.904365, 0.798897, 0.647438, 0.458733, 0.232844", \ |
| "0.97669, 0.977669, 0.93489, 0.829444, 0.677952, 0.489258, 0.263362", \ |
| "0.984797, 0.982718, 0.942975, 0.837507, 0.686037, 0.497343, 0.271448", \ |
| "0.971949, 0.96998, 0.930127, 0.82467, 0.673178, 0.484484, 0.257858" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 0.0002716593; |
| } |
| } |