create_generated_clock的基础性问题
时间:10-02
整理:3721RD
点击:
问题前提:系统内的clock被迭代生成,例如系统输入时钟source clock为clk, clk输入后被2分频后生成clk2, clk2再被2分频生成clk4, clk2和clk4用做系统大部分电路的驱动时钟.
问题: 约束的写法.我目前采用的是:
create_clock -name clk -period 100 [get_ports Clk10m_In]
set_clock_latency .... [get_clocks clk]
set_clock_uncertainty .... [get_clocks clk]
create_generated_clock -name clk2 -divide_by_2 -source [get_ports Clk10m_In] [get_pins ...../Q]
create_generated_clock -name clk4 -divide_by_4 -source [get_ports Clk10m_In] [get_pins ...../Q]
即主要的约束都加在clk上,而且由clk2二分频的clk4的source clock我也写的是clk(的input pin), 因为man create_generated_clock的时候说的是-source master_pin. 这个master_pin我认为是clk.
以上就是我自己的一点看法,但是不是很确定,查看以往的帖子也没有发现把这个问题说的非常清楚的,所以在这里恳请各位大大指点迷津,多谢多谢:-)
问题: 约束的写法.我目前采用的是:
create_clock -name clk -period 100 [get_ports Clk10m_In]
set_clock_latency .... [get_clocks clk]
set_clock_uncertainty .... [get_clocks clk]
create_generated_clock -name clk2 -divide_by_2 -source [get_ports Clk10m_In] [get_pins ...../Q]
create_generated_clock -name clk4 -divide_by_4 -source [get_ports Clk10m_In] [get_pins ...../Q]
即主要的约束都加在clk上,而且由clk2二分频的clk4的source clock我也写的是clk(的input pin), 因为man create_generated_clock的时候说的是-source master_pin. 这个master_pin我认为是clk.
以上就是我自己的一点看法,但是不是很确定,查看以往的帖子也没有发现把这个问题说的非常清楚的,所以在这里恳请各位大大指点迷津,多谢多谢:-)
都可以啊,
4分频的source clock 既可以在2分频上面,也可以在main clock source上,
都没有关系,
因为是同源clock,都要balance的,后端注意balance each clock timing即可
请参考这本电子书:http://bbs.eetop.cn/thread-285983-1-1.html
楼上你好:
我有看那本书的第7章。但是有个地方没看懂,就是说generated_clock会继承master clock的latency吗?或者说generated_clock的latency怎么设置啊?有没有实例,或者讲解更详细的地方。
谢谢
instA/O---()---instB/Q---()---instC/CK
|--> 3ns <----|---->2ns<---|
create_clock -name CKA [get_pin instA/O]
create_generate_clock -name CKB -mast [get_clock CKA]
所以到instC/CK的 latency是 3+2= 5ns,
假設你CKB用CREATE_CLOCK,
就會是2ns
这个问题我看是个纠结的问题啊,同求!
学习了!感谢!
