taisun9
Newbie level 3

I have implemented a clock divider and a controller as the figure shows.
The datapath of the controller block is shown in the right part.
The divider can produce slow clock with preiod of 1,2,4,8... times of the fast clock.
The problem is I don't know how to constrain the clocks in my design with Design Compiler.
I have tried:
(1) create clock at only fast clock, the synthesis speed is quite slow.
(2) create clock at fast clock and a generated clock at slow clock.
(3) create clock at the two I/O ports of the controller.
Most methos I used result in very slow speed during synthesis except the (3) one.
Does that come from the "Multiple Clock Domains" (slow and fast clock)?
(I think that DC tries to check and solve timing between those DFFs clocked by the two different clocks)
I don't know which one can correctly constrain the design during synthesis.
I have also tried to use create_generated_clock but I can't correctly indentify clock latency from the source "fast clock" since the single "fast_clk" passes different paths when divider produces different clocks.
I have also searched many documents about generated clocks but most of them are about simple generated clock, i.e., divided by a constant.
Please kindly help! Thank you very much!
The datapath of the controller block is shown in the right part.
The divider can produce slow clock with preiod of 1,2,4,8... times of the fast clock.
The problem is I don't know how to constrain the clocks in my design with Design Compiler.
I have tried:
(1) create clock at only fast clock, the synthesis speed is quite slow.
(2) create clock at fast clock and a generated clock at slow clock.
(3) create clock at the two I/O ports of the controller.
Most methos I used result in very slow speed during synthesis except the (3) one.
Does that come from the "Multiple Clock Domains" (slow and fast clock)?
(I think that DC tries to check and solve timing between those DFFs clocked by the two different clocks)
I don't know which one can correctly constrain the design during synthesis.
I have also tried to use create_generated_clock but I can't correctly indentify clock latency from the source "fast clock" since the single "fast_clk" passes different paths when divider produces different clocks.
I have also searched many documents about generated clocks but most of them are about simple generated clock, i.e., divided by a constant.
Please kindly help! Thank you very much!