From 9ed2c9a8f4c50a19e85fcf50453e3186b33a5908 Mon Sep 17 00:00:00 2001 From: Mikhail Yenuchenko <76039929+mixeme@users.noreply.github.com> Date: Wed, 21 Jan 2026 15:09:42 +0300 Subject: [PATCH] Update scr1_core_top.sdc --- src/sdc/scr1_core_top.sdc | 57 ++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/src/sdc/scr1_core_top.sdc b/src/sdc/scr1_core_top.sdc index 0dac8c0..007b3db 100644 --- a/src/sdc/scr1_core_top.sdc +++ b/src/sdc/scr1_core_top.sdc @@ -1,5 +1,5 @@ ### Stage: "Synthesis and PaR" -### File description: "Constraints for the design" +### File description: "Constraints for the design" # SET LIB UNITS @@ -9,58 +9,57 @@ set_units -capacitance 1.0pF; set_max_capacitance 0.5 [all_outputs] ### ====================== CLOCKS =========================== -#clock uncertainty: 200ps for all clocks +# Clock period: 10 ns (100 MHz) +set CLK_PERIOD 100 + + +# Clock uncertainty: 200 ps for all clocks set CLK_UNCERT 0.2; -#transition: 1ns R/F - -# CLOCK PERIOD -set CLK_PERIOD 11.13 -set TCK_PERIOD 100 -set RTC_CLK_PERIOD 10000 - -# IO DELAYS -set INPUT_DELAY_CLK [expr $CLK_PERIOD/4.0] -set OUTPUT_DELAY_CLK [expr $CLK_PERIOD/4.0] - -set INPUT_DELAY_TCK [expr $TCK_PERIOD/4.0] -set OUTPUT_DELAY_TCK [expr $TCK_PERIOD/4.0] - -#clk->100MHz -create_clock -name "clk" -period $CLK_PERIOD -waveform "0 [expr $CLK_PERIOD/2.0]" [get_ports "clk"] +# Clock transition: 1 ns R/F set MINRISE 0 set MAXRISE 1.0 set MINFALL 0 set MAXFALL 1.0 + # Clock setup +create_clock -name "clk" -period $CLK_PERIOD -waveform "0 [expr $CLK_PERIOD/2.0]" [get_ports "clk"] + set_clock_uncertainty $CLK_UNCERT [get_clocks "clk"] + set_clock_transition -rise -min $MINRISE [get_clocks "clk"] set_clock_transition -rise -max $MAXRISE [get_clocks "clk"] set_clock_transition -fall -min $MINFALL [get_clocks "clk"] set_clock_transition -fall -max $MAXFALL [get_clocks "clk"] +### ====================== DELAYS =========================== +# IO delays: 2.5 ns +set INPUT_DELAY_CLK [expr $CLK_PERIOD/4.0] +set OUTPUT_DELAY_CLK [expr $CLK_PERIOD/4.0] + + +# IO delays setup +set_input_delay -clock "clk" -max $INPUT_DELAY_CLK [all_inputs] +set_input_delay -clock "clk" -min $INPUT_DELAY_CLK [all_inputs] + +set_output_delay -clock "clk" -max $OUTPUT_DELAY_CLK [all_outputs] +set_output_delay -clock "clk" -min $OUTPUT_DELAY_CLK [all_outputs] + + # Ideal networks set_ideal_network [get_ports "pwrup_rst_n"] set_ideal_network [get_ports "rst_n"] set_ideal_network [get_ports "cpu_rst_n"] set_ideal_network [get_ports "test_rst_n"] -#set_ideal_network [get_ports "trst_n"] + # False paths set_false_path -from [get_ports "pwrup_rst_n"] set_false_path -from [get_ports "rst_n"] set_false_path -from [get_ports "cpu_rst_n"] set_false_path -from [get_ports "test_rst_n"] -#set_false_path -from [get_ports "trst_n"] - -#IO delays: -set_input_delay -clock "clk" -max $INPUT_DELAY_CLK [all_inputs] -set_input_delay -clock "clk" -min $INPUT_DELAY_CLK [all_inputs] - -set_output_delay -clock "clk" -max $OUTPUT_DELAY_CLK [all_outputs] -set_output_delay -clock "clk" -min $OUTPUT_DELAY_CLK [all_outputs] set_case_analysis 0 [get_ports "test_mode"] @@ -77,7 +76,3 @@ set_case_analysis 0 [get_ports "test_mode"] # | | # |--------------| - - - -