blob: 399bea6195c31baadfc96e90327091d30c79f623 [file] [log] [blame]
###############################################################################
# Created by write_sdc
# Thu Dec 22 23:00:58 2022
###############################################################################
current_design OQPSK_RCOSINE_ALL
###############################################################################
# Timing Constraints
###############################################################################
create_clock -name __VIRTUAL_CLK__ -period 100.0000
set_clock_uncertainty 0.2500 __VIRTUAL_CLK__
set_input_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {ACK}]
set_input_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Bit_In}]
set_input_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {EN}]
set_input_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {REQ_SAMPLE}]
set_input_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {RST}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[0]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[10]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[11]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[12]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[1]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[2]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[3]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[4]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[5]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[6]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[7]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[8]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {I[9]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[0]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[10]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[11]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[12]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[1]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[2]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[3]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[4]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[5]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[6]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[7]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[8]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {Q[9]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addI[0]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addI[1]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addI[2]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addI[3]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addI[4]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addI[5]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addQ[0]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addQ[1]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addQ[2]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addQ[3]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addQ[4]}]
set_output_delay 20.0000 -clock [get_clocks {__VIRTUAL_CLK__}] -add_delay [get_ports {addQ[5]}]
###############################################################################
# Environment
###############################################################################
set_load -pin_load 0.0334 [get_ports {I[12]}]
set_load -pin_load 0.0334 [get_ports {I[11]}]
set_load -pin_load 0.0334 [get_ports {I[10]}]
set_load -pin_load 0.0334 [get_ports {I[9]}]
set_load -pin_load 0.0334 [get_ports {I[8]}]
set_load -pin_load 0.0334 [get_ports {I[7]}]
set_load -pin_load 0.0334 [get_ports {I[6]}]
set_load -pin_load 0.0334 [get_ports {I[5]}]
set_load -pin_load 0.0334 [get_ports {I[4]}]
set_load -pin_load 0.0334 [get_ports {I[3]}]
set_load -pin_load 0.0334 [get_ports {I[2]}]
set_load -pin_load 0.0334 [get_ports {I[1]}]
set_load -pin_load 0.0334 [get_ports {I[0]}]
set_load -pin_load 0.0334 [get_ports {Q[12]}]
set_load -pin_load 0.0334 [get_ports {Q[11]}]
set_load -pin_load 0.0334 [get_ports {Q[10]}]
set_load -pin_load 0.0334 [get_ports {Q[9]}]
set_load -pin_load 0.0334 [get_ports {Q[8]}]
set_load -pin_load 0.0334 [get_ports {Q[7]}]
set_load -pin_load 0.0334 [get_ports {Q[6]}]
set_load -pin_load 0.0334 [get_ports {Q[5]}]
set_load -pin_load 0.0334 [get_ports {Q[4]}]
set_load -pin_load 0.0334 [get_ports {Q[3]}]
set_load -pin_load 0.0334 [get_ports {Q[2]}]
set_load -pin_load 0.0334 [get_ports {Q[1]}]
set_load -pin_load 0.0334 [get_ports {Q[0]}]
set_load -pin_load 0.0334 [get_ports {addI[5]}]
set_load -pin_load 0.0334 [get_ports {addI[4]}]
set_load -pin_load 0.0334 [get_ports {addI[3]}]
set_load -pin_load 0.0334 [get_ports {addI[2]}]
set_load -pin_load 0.0334 [get_ports {addI[1]}]
set_load -pin_load 0.0334 [get_ports {addI[0]}]
set_load -pin_load 0.0334 [get_ports {addQ[5]}]
set_load -pin_load 0.0334 [get_ports {addQ[4]}]
set_load -pin_load 0.0334 [get_ports {addQ[3]}]
set_load -pin_load 0.0334 [get_ports {addQ[2]}]
set_load -pin_load 0.0334 [get_ports {addQ[1]}]
set_load -pin_load 0.0334 [get_ports {addQ[0]}]
set_driving_cell -lib_cell sky130_fd_sc_hd__inv_2 -pin {Y} -input_transition_rise 0.0000 -input_transition_fall 0.0000 [get_ports {ACK}]
set_driving_cell -lib_cell sky130_fd_sc_hd__inv_2 -pin {Y} -input_transition_rise 0.0000 -input_transition_fall 0.0000 [get_ports {Bit_In}]
set_driving_cell -lib_cell sky130_fd_sc_hd__inv_2 -pin {Y} -input_transition_rise 0.0000 -input_transition_fall 0.0000 [get_ports {EN}]
set_driving_cell -lib_cell sky130_fd_sc_hd__inv_2 -pin {Y} -input_transition_rise 0.0000 -input_transition_fall 0.0000 [get_ports {REQ_SAMPLE}]
set_driving_cell -lib_cell sky130_fd_sc_hd__inv_2 -pin {Y} -input_transition_rise 0.0000 -input_transition_fall 0.0000 [get_ports {RST}]
set_timing_derate -early 0.9500
set_timing_derate -late 1.0500
###############################################################################
# Design Rules
###############################################################################
set_max_fanout 10.0000 [current_design]