这样我们就找出了与theta[11]相连的cell (5)-hier 是直接找最底层的cells 就相当于shell指令中的-r 遍历 比如: 第一条指令是只在top层找的get_cell 第二条指令是在全部层次中找的,看黑色部分旧可以看到,找到的第一个就不是top层次上的,而是top层往下追了三层的一个EDFFX1。 (6)full_name用来限定找到的...
在第1点中我们说只是通过名字中的1来说移动的是z1_reg,这显然是不够充分,可以通过下面来验证z_reg是否被移动过:get_cells -hier *z_reg*有返回值,说明这个寄存器存在,没有被移动过(移动过之后就被换了例化名字): 然后我们来查看一下z1_reg,可以看到找不到对象,说明被移动了: 查看其它的被retiming移动都...
set_dont_retime [get_cells I_MIDDLE/I_PIPELINE/z_reg*] true 然后检查一下是否正确: 在综合之前保存一下我们的设计: write -f ddc -hier -out unmapped/STOTO.ddc 进行综合: 根据要求8:设计是时序关键的,因此我们要在综合的时候加上-timing选项;根据要求10:要执行扫描插入,因此要加上-scan选项,看预加...
在第1点中我们说只是通过名字中的1来说移动的是z1_reg,这显然是不够充分,可以通过下面来验证z_reg是否被移动过:get_cells -hier *z_reg*有返回值,说明这个寄存器存在,没有被移动过(移动过之后就被换了例化名字): 然后我们来查看一下z1_reg,可以看到找不到对象,说明被移动了: 查看其它的被retiming移动都...
get_cells -hier *r_REG*_S 通过返回值(即返回寄存器的名字)的路径,我们可以知道PIPELINE中的流水线寄存器被移动过了: (retiming中被移动过的流水线寄存器的名字以 clkname_r_REG*_S*结束,*是通配符),再结合我们我们的原理图,我们可以知道,是z1_reg被移动了(一位后缀名是z1跟s1): 我们还可以查看例化的名...
set_dont_retime [get_cells I_MIDDLE/I_PIPELINE/z_reg*] true 然后检查一下是否正确: -->保存在综合之前保存一下我们的设计: write -f ddc -hier -out unmapped/STOTO.ddc ·进行综合: 根据要求8:设计是时序关键的,因此我们要在综合的时候加上-timing选项;根据要求10:要执行扫描插入,因此要加上-scan选...
set_dont_retime [get_cells I_MIDDLE/I_PIPELINE/z_reg*] true 然后检查一下是否正确: -->保存在综合之前保存一下我们的设计: write -f ddc -hier -out unmapped/STOTO.ddc ·进行综合: 根据要求8:设计是时序关键的,因此我们要在综合的时候加上-timing选项;根据要求10:要执行扫描插入,因此要加上-scan选...
shell -tcl_mode下,则为 set_input_delay 1.0 [all_inputs] 一个是根据关键词进行查找:[get...
1. 用report_cell [get_cells -hier *]可以看所有的cells面积 2. 用list_design列出所有的design, 然后改变current_design到你所想要看的那一级的cell, 然后直接用report_cell. 4.4 如何看设计环境和线载模型? report_design 4.5 若设计规则和时序违反约束,如何查看?
set ALL_INP_EXC_CLK [remove_from_collection [alljnputs] [get_ports CLK]] 比较设计对象: compare_collections 设计对象的索引: index_collection 分类设计对象: sort_collection 循环查看(进行遍历)设计对象物集的内容: foreach_in_collection my_cells [get_cells -hier * -filter “is_hierarchical == tr...