downloadman
Newbie level 6

Hi,
a) I have 4 primary clocks i.e clk1,clk2, clk3, clk4 to the design.
b) There are two muxes to which these primay clocks are input to the muxes and one of the mux outputs will be fed to a divider.
c) The divider output again is muxed with second Mux[First stage Mux] output.
d) The output of the second stage mux is again scan Muxed with Scan Clock. This is the final clock output whcih is fed to logic.
I have maintained the following approach :
a) Given create_clock constraints for all the primary clocks
b) Given set_Case_analysis for all the muxes and divider stages.
c) Given create_generated clock constrains for the mux outputs and divider output as follows :
create_generated_clock -name <MUX_FIRST_STAGE_OUTPUT> [get_pints <hierrarchy/MUX_FIRST_STAGE_INSTANTIATION/OutputPortName] -source [get_ports <primary_clock_name>] -divide by 1
d) Define clock latency, uncertainty common for all the clocks.
With this approach, we are getting very very bad timings in the reports:-(.
My assumption, is that as the clocks are defined as generated clock, we should define clock latency separately for each and every generated clocks.
How to give constraints for the above structure?
Thanks in Advance
---------- Post added at 05:46 ---------- Previous post was at 05:42 ----------
Hi,
Please not that the synthesis has to be carried out in Magma.
Regards
Murali
a) I have 4 primary clocks i.e clk1,clk2, clk3, clk4 to the design.
b) There are two muxes to which these primay clocks are input to the muxes and one of the mux outputs will be fed to a divider.
c) The divider output again is muxed with second Mux[First stage Mux] output.
d) The output of the second stage mux is again scan Muxed with Scan Clock. This is the final clock output whcih is fed to logic.
I have maintained the following approach :
a) Given create_clock constraints for all the primary clocks
b) Given set_Case_analysis for all the muxes and divider stages.
c) Given create_generated clock constrains for the mux outputs and divider output as follows :
create_generated_clock -name <MUX_FIRST_STAGE_OUTPUT> [get_pints <hierrarchy/MUX_FIRST_STAGE_INSTANTIATION/OutputPortName] -source [get_ports <primary_clock_name>] -divide by 1
d) Define clock latency, uncertainty common for all the clocks.
With this approach, we are getting very very bad timings in the reports:-(.
My assumption, is that as the clocks are defined as generated clock, we should define clock latency separately for each and every generated clocks.
How to give constraints for the above structure?
Thanks in Advance
---------- Post added at 05:46 ---------- Previous post was at 05:42 ----------
Hi,
Please not that the synthesis has to be carried out in Magma.
Regards
Murali