TonyLS
Member level 3
- Joined
- Jan 21, 2009
- Messages
- 58
- Helped
- 2
- Reputation
- 4
- Reaction score
- 2
- Trophy points
- 1,288
- Location
- Boston, MA
- Activity points
- 1,760
I have many paths that start at an Input pin, goes through combo logic, then to an Output pin. What complicates things is that the Input can fanout to a flop as well as an Output. Also the Output can be driven by multiple sources (flop, Input) via a mux structure.
The flow sets generic Input and Output delays (65% and 45%). The problem with the feed-through paths is that it's impossible to make timing because the entire path is consumed by the 65/45 delays. However removing or reducing the delays isn't an option either because the Input can fan out to a register as well as the Output. Removing or reducing the Output delay isn't an option because it may be sourced lets say from a flop through a mux to the Output as well as the Input path.
I tried setting a set_max_delay -from Input -to Output but the original set_input_delay and set_output_delay are still in effect resulting in more delay being added to the path
Any ideas?
- - - Updated - - -
I think I got it. I can assign a virtual clock and assign input_delay and output_delay constraints based on the virtual clocks. The feedthrough paths are essentially ASYNC so no other clock source will be in the feedthrough path. The original input and output delay constraints that reference the functional clock will still be in effect. Will dc_compiler swtich between the two types of paths and bring in the right delays?. Switch between the virtual clock and a reduced input and output delay for feedthrough paths and a flop based path using the functional clock and tighter IO delays??
The flow sets generic Input and Output delays (65% and 45%). The problem with the feed-through paths is that it's impossible to make timing because the entire path is consumed by the 65/45 delays. However removing or reducing the delays isn't an option either because the Input can fan out to a register as well as the Output. Removing or reducing the Output delay isn't an option because it may be sourced lets say from a flop through a mux to the Output as well as the Input path.
I tried setting a set_max_delay -from Input -to Output but the original set_input_delay and set_output_delay are still in effect resulting in more delay being added to the path
Any ideas?
- - - Updated - - -
I think I got it. I can assign a virtual clock and assign input_delay and output_delay constraints based on the virtual clocks. The feedthrough paths are essentially ASYNC so no other clock source will be in the feedthrough path. The original input and output delay constraints that reference the functional clock will still be in effect. Will dc_compiler swtich between the two types of paths and bring in the right delays?. Switch between the virtual clock and a reduced input and output delay for feedthrough paths and a flop based path using the functional clock and tighter IO delays??