赞
踩
对于时钟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]
此时,mux输入引脚上的时钟直接由port接入(图1),或只经过分频器(图2),输入时钟间没有timing_arc(时序弧),这种情况下不需要在mux的输出引脚上创建派生时钟,只需要:
①设置输入时钟的同异步关系(set_clock_groups);
②逻辑互斥的时钟关系,sdc命令如下:
set_clock_groups -logically_exclusive -group clk_1 \
-group clk_2
时钟源clk_src进入mux之前驱动部分逻辑,且这部分逻辑与mux后的逻辑间存在timing_arc。如下图3所示:
此时有两种方式去完成完整正确的约束:
①在mux的输出点创建2个派生时钟,且另外用一个额外的时钟分组将这2个派生时钟设置为物理互斥(-physically_exclusive)。
②在MUX/I0前加一个时钟门控ICG如下图4,此时可以在ICG输出点创建一个一分频的派生时钟,且和DIV_N的分频时钟设置为逻辑互斥(-logically_exclusive)即可。
其他mux前有逻辑的情况都可适用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。