¿Cómo restringe el retardo de entrada para un vector de entrada multidimensional?

5

Estoy definiendo restricciones de entrada SDC para la síntesis de un módulo pequeño que es parte de un diseño ASIC más grande. Planeo ejecutar el módulo a través de síntesis usando las herramientas de Synopsys. Algunas de las entradas a este módulo son matrices multidimensionales. Por ejemplo:

input signed [15:0] data_x [3:0][1:0],

data_x es un vector tridimensional.

Para un vector como

input signed [15:0] data_y,

para definir el retardo de entrada, la restricción sería

set_input_delay -clock [get_clock clk] 5000 [get_ports data_y\[*\]]

Sin embargo, para una entrada de matriz multidimensional, la siguiente configuración de comodín no parece coincidir con las entradas:

set_input_delay -clock [get_clock clk] 5000 [get_ports data_x\[*\]\[*\]\[*\]]

Lo siguiente funciona, pero coincide con otras señales internas en el diseño (como data_x_d , que no es deseable):

set_input_delay -clock [get_clock clk] 5000 [get_ports data_x*]

¿Hay una manera de especificar el nombre con un comodín para identificar correctamente todos los puertos en una matriz multidimensional?

    
pregunta Matt B.

1 respuesta

3

Hay una opción -regexp para get_posts . Prueba:

set_input_delay -clock [get_clock clk] 5000 [get_ports -regexp data_x\[\d+\]\[\d+\]\[\d+\]]

Puedes obtener puertos de bus por su nombre base. No estoy seguro de que funcione en matrices multidimensionales. Así que esto también podría funcionar:

set_input_delay -clock [get_clock clk] 5000 [get_ports data_x]
    
respondido por el Greg

Lea otras preguntas en las etiquetas