create_clocks 的深深思考,求教!
时间:10-02
整理:3721RD
点击:
对于vivado 或者synplify 时序约束来说
如果,假设app_clk预先定义了是50Mhz的时钟
assign clk1 = apll_clk;
assign clk2 = apll_clk;
assign clk3 = apll_clk;
我定义了:
create_clocks -name CLK1 -period 20 [get_nets top/.../clk1]
create_clocks -name CLK2 -period 20 [get_nets top/.../clk2]
create_clocks -name CLK3 -period 20 [get_nets top/.../clk3]
问题:
1)CLK1的频率=apll_clk ,-period 20 是不是可以省略?
2)CLK1 CLK2 CLK3 之间,布局布线工具是否把3个时钟域的跨越,当错误路径来处理?
如果,假设app_clk预先定义了是50Mhz的时钟
assign clk1 = apll_clk;
assign clk2 = apll_clk;
assign clk3 = apll_clk;
我定义了:
create_clocks -name CLK1 -period 20 [get_nets top/.../clk1]
create_clocks -name CLK2 -period 20 [get_nets top/.../clk2]
create_clocks -name CLK3 -period 20 [get_nets top/.../clk3]
问题:
1)CLK1的频率=apll_clk ,-period 20 是不是可以省略?
2)CLK1 CLK2 CLK3 之间,布局布线工具是否把3个时钟域的跨越,当错误路径来处理?
如果apll_clk没有用到的话,应该就不用约束了。
这样写三条约束的话应该会当做三个不同的时钟处理
apll_clk 是要用到的。
如果用create_generated_clock 来说效果也一样吗?
用create_generated_clock,如果不特别指明timing group,是和source clock同一个时钟域处理的
