ivlsi
Advanced Member level 3
Hi All,
Here is a question from my last interview:
GIVEN: Blocks A, B, and C (see the picture below - click on it in order to zoom it in)
Block 'B' timing requirements:
Setup Time: 4nSec
Hold Time: 2nSec
Clock Period: 20nS
Block 'C' timing requirements:
Setup Time: 3nSec
Hold Time: 1nSec
Clock Period: 20nS
REQUIRED: Define the boundary constraints [input/output delays] for the Block 'B'.
Here is my solution:
create_clock -name CLK -period 20 -waveform {0 10} {get_port <port_name>}
set_input_delay -max (20-4=16) -clock {get_clock clk} -port {get_port <port_name>}
set_input_delay -min -2 -clock {get_clock clk} -port {get_port <port_name>}
set_output_delay -max 3 -clock {get_clock clk} -port {get_port <port_name>}
set_output_delay -min -1 -clock {get_clock clk} -port {get_port <port_name>}
Please pay your attention that I put HOLD constraints as negative for both INPUTS and OUTPUTS. Is that correct? Please give your comments.
Thank you!
Here is a question from my last interview:
GIVEN: Blocks A, B, and C (see the picture below - click on it in order to zoom it in)
Block 'B' timing requirements:
Setup Time: 4nSec
Hold Time: 2nSec
Clock Period: 20nS
Block 'C' timing requirements:
Setup Time: 3nSec
Hold Time: 1nSec
Clock Period: 20nS
REQUIRED: Define the boundary constraints [input/output delays] for the Block 'B'.
Here is my solution:
create_clock -name CLK -period 20 -waveform {0 10} {get_port <port_name>}
set_input_delay -max (20-4=16) -clock {get_clock clk} -port {get_port <port_name>}
set_input_delay -min -2 -clock {get_clock clk} -port {get_port <port_name>}
set_output_delay -max 3 -clock {get_clock clk} -port {get_port <port_name>}
set_output_delay -min -1 -clock {get_clock clk} -port {get_port <port_name>}
Please pay your attention that I put HOLD constraints as negative for both INPUTS and OUTPUTS. Is that correct? Please give your comments.
Thank you!