4
\$\begingroup\$

I am defining SDC input constraints for synthesis of a small module that is part of a larger ASIC design. I plan to run the module through synthesis using Synopsys tools. A few of the inputs to this module are multidimensional arrays. For example:

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

data_x is a 3 dimensional vector.

For a vector such as

input signed [15:0] data_y,

to define the input delay, the constraint would be

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

However, for a multidimensional array input, the following wildcard setup does not appear to match the inputs:

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

The following works, but matches other internal signals in the design( such as data_x_d, which is undesirable):

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

Is there a way to specify the name with a wildcard to correctly identify all ports in a multidimensional array?

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

There is a -regexp option for get_posts. Try:

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

You can get bus ports by their base name. Not sure it it works on multi-dimensional arrays. So this might also work:

set_input_delay -clock [get_clock clk] 5000 [get_ports data_x]
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.