mirror of https://github.com/efabless/caravel.git
677 lines
18 KiB
Plaintext
677 lines
18 KiB
Plaintext
library (caravel_clocking) {
|
|
comment : "";
|
|
delay_model : table_lookup;
|
|
simulation : false;
|
|
capacitive_load_unit (1,pF);
|
|
leakage_power_unit : 1pW;
|
|
current_unit : "1A";
|
|
pulling_resistance_unit : "1kohm";
|
|
time_unit : "1ns";
|
|
voltage_unit : "1v";
|
|
library_features(report_delay_calculation);
|
|
|
|
input_threshold_pct_rise : 50;
|
|
input_threshold_pct_fall : 50;
|
|
output_threshold_pct_rise : 50;
|
|
output_threshold_pct_fall : 50;
|
|
slew_lower_threshold_pct_rise : 20;
|
|
slew_lower_threshold_pct_fall : 20;
|
|
slew_upper_threshold_pct_rise : 80;
|
|
slew_upper_threshold_pct_fall : 80;
|
|
slew_derate_from_library : 1.0;
|
|
|
|
|
|
nom_process : 1.0;
|
|
nom_temperature : 25.0;
|
|
nom_voltage : 1.80;
|
|
|
|
lu_table_template(template_1) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_10) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00232, 0.01077, 0.05000, 0.23208, 1.07722, 5.00000");
|
|
}
|
|
lu_table_template(template_11) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_12) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_13) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_14) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_15) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_16) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_17) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_18) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_19) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_2) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_20) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_3) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_4) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_5) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_6) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_7) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_8) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00191, 0.00726, 0.02767, 0.10546, 0.40192, 1.53169");
|
|
}
|
|
lu_table_template(template_9) {
|
|
variable_1 : total_output_net_capacitance;
|
|
index_1 ("0.00050, 0.00232, 0.01077, 0.05000, 0.23208, 1.07722, 5.00000");
|
|
}
|
|
type ("sel") {
|
|
base_type : array;
|
|
data_type : bit;
|
|
bit_width : 3;
|
|
bit_from : 2;
|
|
bit_to : 0;
|
|
}
|
|
type ("sel2") {
|
|
base_type : array;
|
|
data_type : bit;
|
|
bit_width : 3;
|
|
bit_from : 2;
|
|
bit_to : 0;
|
|
}
|
|
|
|
cell ("caravel_clocking") {
|
|
pin("core_clk") {
|
|
direction : output;
|
|
capacitance : 0.2094;
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : falling_edge;
|
|
cell_rise(template_1) {
|
|
values("-12.65693,-12.65505,-12.64862,-12.62899,-12.57076,-12.36894,-11.60840");
|
|
}
|
|
rise_transition(template_1) {
|
|
values("0.02433,0.02582,0.03117,0.05049,0.12302,0.40939,1.50434");
|
|
}
|
|
cell_fall(template_2) {
|
|
values("-9.49592,-9.49421,-9.48834,-9.47179,-9.42848,-9.30132,-8.83987");
|
|
}
|
|
fall_transition(template_2) {
|
|
values("0.02326,0.02436,0.02827,0.04095,0.08430,0.25146,0.91403");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : rising_edge;
|
|
cell_rise(template_3) {
|
|
values("1.66958,1.67146,1.67789,1.69752,1.75574,1.95756,2.71811");
|
|
}
|
|
rise_transition(template_3) {
|
|
values("0.02433,0.02582,0.03117,0.05049,0.12302,0.40939,1.50434");
|
|
}
|
|
cell_fall(template_4) {
|
|
values("-0.25337,-0.25166,-0.24580,-0.22925,-0.18594,-0.05877,0.40268");
|
|
}
|
|
fall_transition(template_4) {
|
|
values("0.02326,0.02436,0.02827,0.04095,0.08430,0.25146,0.91403");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "core_clk";
|
|
timing_type : rising_edge;
|
|
cell_rise(template_5) {
|
|
values("1.66958,1.67146,1.67789,1.69752,1.75574,1.95756,2.71811");
|
|
}
|
|
rise_transition(template_5) {
|
|
values("0.02433,0.02582,0.03117,0.05049,0.12302,0.40939,1.50434");
|
|
}
|
|
cell_fall(template_6) {
|
|
values("-0.11202,-0.11031,-0.10444,-0.08790,-0.04459,0.08258,0.54403");
|
|
}
|
|
fall_transition(template_6) {
|
|
values("0.02326,0.02436,0.02827,0.04095,0.08430,0.25146,0.91403");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "core_clk";
|
|
timing_type : falling_edge;
|
|
cell_rise(template_7) {
|
|
values("-12.65693,-12.65505,-12.64862,-12.62899,-12.57076,-12.36894,-11.60840");
|
|
}
|
|
rise_transition(template_7) {
|
|
values("0.02433,0.02582,0.03117,0.05049,0.12302,0.40939,1.50434");
|
|
}
|
|
cell_fall(template_8) {
|
|
values("3.00408,3.00579,3.01166,3.02821,3.07152,3.19868,3.66013");
|
|
}
|
|
fall_transition(template_8) {
|
|
values("0.02326,0.02436,0.02827,0.04095,0.08430,0.25146,0.91403");
|
|
}
|
|
}
|
|
}
|
|
pin("ext_clk") {
|
|
direction : input;
|
|
capacitance : 0.0113;
|
|
}
|
|
pin("ext_clk_sel") {
|
|
direction : input;
|
|
capacitance : 0.0038;
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.28218");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("-0.59260");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("-0.07605");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("0.84809");
|
|
}
|
|
}
|
|
}
|
|
pin("ext_reset") {
|
|
direction : input;
|
|
capacitance : 0.0043;
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.10620");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("-0.18442");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.73781");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("1.54262");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : hold_falling;
|
|
fall_constraint(scalar) {
|
|
values("1.91637");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : setup_falling;
|
|
fall_constraint(scalar) {
|
|
values("-1.02007");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : hold_falling;
|
|
fall_constraint(scalar) {
|
|
values("0.57400");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : setup_falling;
|
|
fall_constraint(scalar) {
|
|
values("0.35827");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_rising;
|
|
fall_constraint(scalar) {
|
|
values("0.41928");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_rising;
|
|
fall_constraint(scalar) {
|
|
values("1.19807");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_falling;
|
|
fall_constraint(scalar) {
|
|
values("0.58678");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_falling;
|
|
fall_constraint(scalar) {
|
|
values("0.36288");
|
|
}
|
|
}
|
|
}
|
|
pin("pll_clk") {
|
|
direction : input;
|
|
capacitance : 0.0205;
|
|
}
|
|
pin("pll_clk90") {
|
|
direction : input;
|
|
capacitance : 0.0164;
|
|
}
|
|
pin("porb") {
|
|
direction : input;
|
|
capacitance : 0.0037;
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.54249");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("-0.58893");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.73919");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("1.48796");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : hold_falling;
|
|
rise_constraint(scalar) {
|
|
values("2.64328");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : setup_falling;
|
|
rise_constraint(scalar) {
|
|
values("-1.82350");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : hold_falling;
|
|
rise_constraint(scalar) {
|
|
values("1.30091");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : setup_falling;
|
|
rise_constraint(scalar) {
|
|
values("-0.44515");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("1.14619");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.39464");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_falling;
|
|
rise_constraint(scalar) {
|
|
values("1.31369");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_falling;
|
|
rise_constraint(scalar) {
|
|
values("-0.44055");
|
|
}
|
|
}
|
|
}
|
|
pin("resetb") {
|
|
direction : input;
|
|
capacitance : 0.0040;
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.60332");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("-0.52227");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.67195");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("1.43958");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : hold_falling;
|
|
rise_constraint(scalar) {
|
|
values("2.70412");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : setup_falling;
|
|
rise_constraint(scalar) {
|
|
values("-1.89073");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : hold_falling;
|
|
rise_constraint(scalar) {
|
|
values("1.36174");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : setup_falling;
|
|
rise_constraint(scalar) {
|
|
values("-0.51239");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("1.20702");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("0.32741");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_falling;
|
|
rise_constraint(scalar) {
|
|
values("1.37452");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_falling;
|
|
rise_constraint(scalar) {
|
|
values("-0.50778");
|
|
}
|
|
}
|
|
}
|
|
pin("resetb_sync") {
|
|
direction : output;
|
|
capacitance : 0.2000;
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : falling_edge;
|
|
cell_rise(template_9) {
|
|
values("3.58333,3.58567,3.59521,3.62979,3.76986,4.40924,7.36192");
|
|
}
|
|
rise_transition(template_9) {
|
|
values("0.01893,0.02095,0.02999,0.07071,0.26573,1.18103,5.38149");
|
|
}
|
|
cell_fall(template_10) {
|
|
values("3.81081,3.81280,3.82044,3.84366,3.91241,4.18393,5.43130");
|
|
}
|
|
fall_transition(template_10) {
|
|
values("0.01882,0.02007,0.02507,0.04325,0.11874,0.48520,2.21294");
|
|
}
|
|
}
|
|
}
|
|
pin("user_clk") {
|
|
direction : output;
|
|
capacitance : 0.2000;
|
|
timing() {
|
|
related_pin : "pll_clk";
|
|
timing_type : rising_edge;
|
|
cell_rise(template_11) {
|
|
values("2.08655,2.08842,2.09485,2.11435,2.17251,2.37452,3.14074");
|
|
}
|
|
rise_transition(template_11) {
|
|
values("0.02438,0.02586,0.03120,0.05053,0.12314,0.40898,1.50597");
|
|
}
|
|
cell_fall(template_12) {
|
|
values("2.42745,2.42913,2.43511,2.45171,2.49489,2.62210,3.08364");
|
|
}
|
|
fall_transition(template_12) {
|
|
values("0.02337,0.02442,0.02828,0.04104,0.08437,0.25147,0.91312");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : falling_edge;
|
|
cell_rise(template_13) {
|
|
values("-12.65038,-12.64851,-12.64208,-12.62258,-12.56442,-12.36241,-11.59618");
|
|
}
|
|
rise_transition(template_13) {
|
|
values("0.02438,0.02586,0.03120,0.05053,0.12314,0.40898,1.50597");
|
|
}
|
|
cell_fall(template_14) {
|
|
values("2.84601,2.84769,2.85368,2.87027,2.91346,3.04066,3.50221");
|
|
}
|
|
fall_transition(template_14) {
|
|
values("0.02337,0.02442,0.02828,0.04104,0.08437,0.25147,0.91312");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "ext_clk";
|
|
timing_type : rising_edge;
|
|
cell_rise(template_15) {
|
|
values("1.52701,1.52888,1.53531,1.55481,1.61297,1.81498,2.58121");
|
|
}
|
|
rise_transition(template_15) {
|
|
values("0.02438,0.02586,0.03120,0.05053,0.12314,0.40898,1.50597");
|
|
}
|
|
cell_fall(template_16) {
|
|
values("-0.10801,-0.10633,-0.10034,-0.08375,-0.04056,0.08664,0.54819");
|
|
}
|
|
fall_transition(template_16) {
|
|
values("0.02337,0.02442,0.02828,0.04104,0.08437,0.25147,0.91312");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : rising_edge;
|
|
cell_rise(template_17) {
|
|
values("2.48076,2.48263,2.48906,2.50857,2.56673,2.76873,3.53496");
|
|
}
|
|
rise_transition(template_17) {
|
|
values("0.02438,0.02586,0.03120,0.05053,0.12314,0.40898,1.50597");
|
|
}
|
|
cell_fall(template_18) {
|
|
values("2.50841,2.51009,2.51608,2.53267,2.57585,2.70306,3.16461");
|
|
}
|
|
fall_transition(template_18) {
|
|
values("0.02337,0.02442,0.02828,0.04104,0.08437,0.25147,0.91312");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : falling_edge;
|
|
cell_rise(template_19) {
|
|
values("3.45375,3.45562,3.46205,3.48155,3.53971,3.74172,4.50795");
|
|
}
|
|
rise_transition(template_19) {
|
|
values("0.02438,0.02586,0.03120,0.05053,0.12314,0.40898,1.50597");
|
|
}
|
|
cell_fall(template_20) {
|
|
values("3.45911,3.46079,3.46678,3.48337,3.52656,3.65376,4.11531");
|
|
}
|
|
fall_transition(template_20) {
|
|
values("0.02337,0.02442,0.02828,0.04104,0.08437,0.25147,0.91312");
|
|
}
|
|
}
|
|
}
|
|
pin("VPWR") {
|
|
direction : input;
|
|
capacitance : 0.0000;
|
|
}
|
|
pin("VGND") {
|
|
direction : input;
|
|
capacitance : 0.0000;
|
|
}
|
|
bus("sel") {
|
|
bus_type : sel;
|
|
direction : input;
|
|
capacitance : 0.0000;
|
|
pin("sel[2]") {
|
|
direction : input;
|
|
capacitance : 0.0058;
|
|
}
|
|
pin("sel[1]") {
|
|
direction : input;
|
|
capacitance : 0.0044;
|
|
}
|
|
pin("sel[0]") {
|
|
direction : input;
|
|
capacitance : 0.0047;
|
|
}
|
|
}
|
|
bus("sel2") {
|
|
bus_type : sel2;
|
|
direction : input;
|
|
capacitance : 0.0000;
|
|
pin("sel2[2]") {
|
|
direction : input;
|
|
capacitance : 0.0044;
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("1.20144");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("0.50413");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("-0.95303");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("-0.14135");
|
|
}
|
|
}
|
|
}
|
|
pin("sel2[1]") {
|
|
direction : input;
|
|
capacitance : 0.0049;
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("1.20528");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("0.54970");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("-0.96304");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("-0.19973");
|
|
}
|
|
}
|
|
}
|
|
pin("sel2[0]") {
|
|
direction : input;
|
|
capacitance : 0.0041;
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : hold_rising;
|
|
rise_constraint(scalar) {
|
|
values("1.19475");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("0.49636");
|
|
}
|
|
}
|
|
timing() {
|
|
related_pin : "pll_clk90";
|
|
timing_type : setup_rising;
|
|
rise_constraint(scalar) {
|
|
values("-0.94572");
|
|
}
|
|
fall_constraint(scalar) {
|
|
values("-0.13286");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|