cuando hacemos síntesis con SDC. debemos ser utilizados con SDC. Pero quiero saber qué sucede si se encuentra en una situación en la que su síntesis es la primera vez, además, la empresa ni siquiera hizo una síntesis antes. todo de la primera vez, luego su rol y responsabilidad es hacer síntesis.
Bien, entonces, ¿cómo sabes los parámetros de los comandos de cada SDC? Por ejemplo,
set_clock_uncertainty -setup
?
set_clock_uncertainty -hold
?
set_clock_transition -rise -max
?
set_clock_transition -fall -min
?
set_input_delay
?
set_output_delay
?
...?
cuando conociste esto por primera vez, ¿cómo lo manejas?
Tienes que aprender todas las restricciones utilizadas en SDC, desde aquí .
Como conoce la frecuencia de todos los relojes, solo necesita comprender la importancia de cada restricción y averiguar qué valor óptimo debería ser correcto.
Algunas restricciones como set_input_delay
y set_output_delay
tiene un valor estándar o un valor generalizado como, INPUT_DELAY_MARGIN
es el 60 % de su período de reloj y OUTPUT_DELAY_MARGIN
es el 40 % de su período de reloj.
Establezca ese valor en el parámetro y luego déle a las set_input_delay
restricciones set_output_delay
.
set PERIOD_CLK 1 # 1 nSec is period of that clock
set INPUT_DELAY_MARGIN 0.60
set OUTPUT_DELAY_MARGIN 0.40
set CLK_IN_DELAY [expr { $PERIOD_CLK * $INPUT_DELAY_MARGIN }]
set PCLK_OUT_DELAY [expr { $PERID_PCLK * $OUTPUT_DELAY_MARGIN }]
# input delay is given to din_i pin/port
set_input_delay $CLK_IN_DELAY -clock $CLK [get_ports din_i]
# output delay is given to dout_o pin/port
set_output_delay $CLK_OUT_DELAY -clock $CLK [get_ports dout_o]
como está haciendo STA en el escenario RTL, es más para CDC, solo para verificaciones de pelusa.
set_clock_uncertenty
es 0.250 del período del reloj.
set_clock_transition
es dos pequeños, 0.1ps. mira esto
nashile
Prakash Darji
Prakash Darji
nashile
Prakash Darji
nashile
Prakash Darji
nashile
Prakash Darji
nashile
Prakash Darji
nashile
Prakash Darji