get_clocks后面的对象是我们之前通过create_clocks或者create_generated_clocks创建的时钟,不在硬件上直接映射。 我们再来看下各个命令的属性。 1. port 我们可以通过Tcl脚本查看port的所有属性,比如上面的wave_gen工程中,有一个port是clk_pin_p,采用如下脚本: set inst [get_ports clk_pin_p] report_property $in...
write_bitstream-force"$outputDir/${projectName}.bit"#8. 生成资源利用率报告report_utilization -hierarchical -file"$outputDir/utilization.rpt"#9. 生成时序报告report_timing_summary -delay_type max -max_paths10-input_pins -file"$outputDir/timing_summary.rpt"report_timing-from [get_clocks] -to [...
我们前面讲到过get_pins和get_ports的区别,而且我们也用过get_cells、get_clocks和get_nets这几个指令,下面就通过一张图直观展现它们的区别。 get_clocks后面的对象是我们之前通过create_clocks或者create_generated_clocks创建的时钟,不在硬件上直接映射。 我们再来看下各个命令的属性。 1. port 我们可以通过...
get_clocks后面的对象是我们之前通过create_clocks或者create_generated_clocks创建的时钟,不在硬件上直接映射。 我们再来看下各个命令的属性。 1. port 我们可以通过Tcl脚本查看port的所有属性,比如上面的wave_gen工程中,有一个port是clk_pin_p,采用如下脚本: set inst [get_ports clk_pin_p] report_property $in...
get_clocks后面的对象是我们之前通过create_clocks或者create_generated_clocks创建的时钟,不在硬件上直接映射。 我们再来看下各个命令的属性。 1. port 我们可以通过Tcl脚本查看port的所有属性,比如上面的wave_gen工程中,有一个port是clk_pin_p,采用如下脚本: ...
非时序命令包括当前使用的所有 Vivado 命令,例如,get_pins、get_clocks 等。 3. 报告详细的约束信息和各项约束的详情 4. 报告时序计算图 (graph) 此脚本可以估算各命令对于时序计算图的影响,它还能通过报告估算的时序更新数量(部分更新或完整更新)来帮助您了解这些约束是否采用了最优排序,其报告结果为 “Estimated ...
get_clocks指令关注的是由create_clocks或create_generated_clocks创建的时钟,这些时钟在硬件层面上并不直接映射。现在,让我们聚焦于各个命令的属性。1. **port**: 通过Tcl脚本,我们能查看port的所有属性。以wave_gen工程为例,clk_pin_p端口属性可借助如下脚本获得。2. **cell**: 类似地,获取cell...
非时序命令包括当前使用的所有 Vivado 命令,例如,get_pins、get_clocks 等。 3. 报告详细的约束信息和各项约束的详情: 4. 报告时序计算图 (graph): 此脚本可以估算各命令对于时序计算图的影响,它还能通过报告估算的时序更新数量(部分更新或完整更新)来帮助您了解这些约束是否采用了最优排序,其报告结果为“Estimated...
可以获取与特定cells相关的pins、ports、nets、clocks,当然如果存在的话,就可以获取。 以wavegen中的模块clk_gen_i0为例: 获取特定模块的pins: AI检测代码解析 get_pins-of[get_cellsclk_gen_i0] clk_gen_i0/CLK clk_gen_i0/Q[0] clk_gen_i0/Q[10] ...
get_ports 、get_pins 、get_designs 、get_cells 、get_nets 、get_clocks 、get_nets -of_objects [get_pins FF1_reg/Q] 、get_libs <lib_name> 、get_lib_cells <lib_name/cell_names> 、get_lib_pins <lib_name/cell_name/pin_names> ...