几个时钟的cts spec file
create_clock [get_ports cclk]-period 16-waveform {0 8}
set_clock_uncertainty -setup 0.2[get_clocks cclk]
set_clock_uncertainty -hold 0.5[get_clocks cclk]
create_clock [get_ports mclk]-period 16-waveform {0 8}
set_clock_uncertainty -setup 0.2[get_clocks mclk]
set_clock_uncertainty -hold 0.5[get_clocks mclk]
create_clock [get_ports tck]-period 40-waveform {0 20}
set_clock_uncertainty -setup 0.2[get_clocks tck]
set_clock_uncertainty -hold 0.5[get_clocks tck]
create_clock [get_ports int_clk]-period 400-waveform {0 200}
set_clock_uncertainty -setup 0.2[get_clocks int_clk]
set_clock_uncertainty -hold 0.5[get_clocks int_clk]
create_clock [list [get_ports tck] [get_ports mclk] [get_ports cclk]]-name mux_clk-period 16-waveform {0 8}-add
set_clock_uncertainty -setup 0.2[get_clocks mux_clk]
set_clock_uncertainty -hold 0.5[get_clocks mux_clk]
create_clock [list [get_ports tck] [get_ports mclk] [get_ports cclk] [get_ports user_clk]]-name wake_clk-period 16-waveform {0 8}-add
set_clock_uncertainty -setup 0.2[get_clocks wake_clk]
set_clock_uncertainty -hold 0.5[get_clocks wake_clk]
生成的CTS spec file文件为:
ClkGroup
+ cclk
+ mclk
+ tck
+ user_clk
#------------------------------------------------------------
AutoCTSRootPin user_clk
Period16ns
END
#------------------------------------------------------------
AutoCTSRootPin int_clk
Period400ns
END
#------------------------------------------------------------
AutoCTSRootPin tck
Period16ns
END
#------------------------------------------------------------
AutoCTSRootPin mclk
Period16ns
END
#------------------------------------------------------------
AutoCTSRootPin cclk
Period16ns
END
我的问题是这个spec file 对吗?
那个ClkGroup有用吗?
设置false_path需要5个clk之间相互设吗?那要设多少个呀?
看时钟树什么结构再说
看什么结构啊?这个CTS spec file 里的时钟是根据前面的时钟信息(sdc里的)自动生成的。不明白,前辈,请赐教呀!
相互没有物理连接,或者false path的clock之间不需要group在一起,其他的需要
陈小编啊,那后面两个时钟,他没有port端口,那这两个时钟怎么处理呀?
从SDC看,每个clk都有port,为什么到了ctstch,就少了?你要自己去找原因
正确的情况是,它们都一致
时钟的结构图得搞清楚。
常规来讲,false path的是不需要inter-balance的
陈小编,再问一下:
create_clock [list [get_ports tck] [get_ports mclk] [get_ports cclk]]-name mux_clk-period 16-waveform {0 8}-add
create_clock [list [get_ports tck] [get_ports mclk] [get_ports cclk] [get_ports user_clk]]-name wake_clk-period 16-waveform {0 8}-add
这两个clk是内部clk,是不是应该用create_generated_clock -master_clock [list *]呀?
有这个可能,这个要由前端决定
问下小编,在CTS的时候做clkgroup的目的是什么?资料里也没有怎么看到,还有哪些时钟之间需要做clkgroup,做与不做之间有什么区别,分频时钟之间需要吗?
谢谢!
请问陈涛大大 ,最近看spec file 有一个CellObstruction的命令不会用能讲解一下嘛?