常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

常用时序约束使用说明-v1

 

为了节省每层导入网表的时间,在设置中我们通常不会勾选Aoto Load place and route Data 前面的勾选框。这样每次编译完成之后Show/Hide Tcl Command Console菜单项是灰色的。

图片[1]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

第一步要先加载见表数据。Floorplan–>View Floorplan。

图片[2]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

这时再次打开Tools–> Show/Hide Tcl Command Console,在Console最下面就会出现命令输入框。

图片[3]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

 

TCL操作命名

report_clocks会报告所有的时钟关系 

图片[4]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

all_clocks 把系统使用的时钟报告出来

图片[5]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

 

all_registers可以查看所有的寄存器的完整路径

图片[6]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

 

all_inputs/all_outputs 可以查看输入输出端口

 

 

get_ports *

图片[7]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

get_nets *

图片[8]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

get_pins *|*

图片[9]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

get cells *

图片[10]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

===========================================

set_max_delay(set_min_delay)

首先看到文件的层次结构是下面的

图片[11]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

路径在key2_detect_isnt中。代码如下,如果我们想看state到cnt的路径

图片[12]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

打印10条路径,以第一条为例

report_timing -from key2_detect_inst/state* -file timing_test.txt -npaths 10

图片[13]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

通过get_cells打印所有的cells,并通过空格转回车清晰显示。

图片[14]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

 

% get_cells key2_detect_inst/state~FF

key2_detect_inst/state~FF

 

为了防止约束失败,我们在Tcl输入框中验证,没有告警或者错误说明约束的写法是正确的

set_max_delay 5.00 -from [get_cells key2_detect_inst/state~FF] -through [get_cells key2_detect_inst/state~FF]

图片[15]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

Set Clock Uncertainty

器件本身对Uncertainty是有默认的约束值的。打开timing.rpt文件就可以看到相应的约束值。

图片[16]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

我们可以通过set_clock_uncertainty加大约束值,以上面为例,默认是120ps的uncertainty,通过下面的约束之后变成了180ps。

set_clock_uncertainty -to clk -setup 0.06

图片[17]-常用时序约束使用说明-v1-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

 

请登录后发表评论

    没有回复内容