当前位置:   article > 正文

时钟MUX电路结构的时序约束方法分析_时钟mux约束

时钟mux约束

一、最简单的设置(set_clock_exclusivity)

        对于时钟MUX而言,其output_pin上的时钟在任一时刻一定唯一。可以使用如下命令:

                           set_clock_exclusivity        -output output_pin
                                                                    [-type mux | user_defined]
                                                                    [-inputs input_pin_list]

        使用该命令可以指定一个cell,该单元上被指定的从输入传到输出引脚上的时钟是互斥的。其中,

                        -output output_pin:

                                        指定单个输出引脚为互斥点。根据-type选项的不同,该引脚输出的部分或全部时钟被认为是互斥的;

                        -type mux | user_defined:

                                        指定时钟互斥设置的类型。

                                        选项设置为“mux”则指定为mux单元的时钟互斥,此时不可也不必使用-inputs。选项设置为“user_defined”则mux或非mux单元都可以,且需要同时搭配-inputs选项。

                        -inputs input_pin_list:

                                        需要同“-type user_defined”一起使用,且与“-output”选项定义的pin应该在同一个cell上。仅仅指定的输入引脚到输出引脚通过的时钟是互斥的。

        该设置适用于“MUX前有逻辑”的电路。

        

        举例如下:pt_shell> set_clock_exclusivity -output MUX25/Z \
                                                                           [-type mux]

                          pt_shell> set_clock_exclusivity -output AND37/Z \
                                                                            -type user_defined \
                                                                            -inputs {AND37/A AND37/B}

                                        这里需要注意,如果该AND_cell为3输入或更多输入,则仅仅是分别通过A和B输入的时钟在Z输出引脚上互斥而已。

                

        其他命令:        remove_clock_exclusivity   

                                  report_clock [-exclusivity]

二、其他设置方法

        1、MUX前无逻辑

                此时,mux输入引脚上的时钟直接由port接入(图1),或只经过分频器(图2),输入时钟间没有timing_arc(时序弧),这种情况下不需要在mux的输出引脚上创建派生时钟,只需要:

                        ①设置输入时钟的同异步关系(set_clock_groups);

                        ②逻辑互斥的时钟关系,sdc命令如下:

                                set_clock_groups -logically_exclusive -group clk_1 \
                                                                                                -group clk_2

        2、mux前有逻辑

                时钟源clk_src进入mux之前驱动部分逻辑,且这部分逻辑与mux后的逻辑间存在timing_arc。如下图3所示:

                此时有两种方式去完成完整正确的约束:

                        ①在mux的输出点创建2个派生时钟,且另外用一个额外的时钟分组将这2个派生时钟设置为物理互斥-physically_exclusive)。

                        ②在MUX/I0前加一个时钟门控ICG如下图4,此时可以在ICG输出点创建一个一分频的派生时钟,且和DIV_N的分频时钟设置为逻辑互斥(-logically_exclusive)即可。

                其他mux前有逻辑的情况都可适用。

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/263430
推荐阅读
相关标签
  

闽ICP备14008679号