VOIUE

「路漫漫其修远兮 吾将上下而求索」

Vivado时序约束中Tcl命令的对象及属性

  在前面的章节中,我们用了很多Tcl的指令,但有些指令并没有把所有的参数多列出来解释,这一节,我们就把约束中的Tcl指令详细讲一下。

我们前面讲到过get_pinsget_ports的区别,而且我们也用过get_cellsget_clocksget_nets这几个指令,下面就通过一张图直观展现它们的区别。

约束衍生时钟

  系统中有4个衍生时钟,但其中有两个是MMCM输出的,不需要我们手动约束,因此我们只需要对clk_sampspi_clk进行约束即可。约束如下:

1
2
create_generated_clock -name clk_samp -source [get_pins clk_gen_i0/clk_core_i0/clk_tx] -divide_by 32 [get_pins clk_gen_i0/BUFHCE_clk_samp_i0/O]
create_generated_clock -name spi_clk -source [get_pins dac_spi_i0/out_ddr_flop_spi_clk_i0/ODDR_inst/C] -divide_by 1 -invert [get_ports spi_clk_pin]