1.tessent命令学习笔记

1.set_logfile_handling:指定工具将转录信息定向到文件;输出log文件。

2.set_tsdb_output_directory:设置tsdb的输出目录,将需要的信息写入TSDB的目录中,以供后续步骤使用。

3.open_tsdb:使tsdb目录的内容对工具可见,可自动打开指定的tsdb目录。

4.set_tool_options:该命令设置Tessent Shell中的某些选项;-reapply_setting_after_reelaboration {on|off},当再次对当前设计使用set_current_design时,将重新阐述设计,当设置为“on”时,Tessent shell会保留某些设置,例如add_clocks、add_black_boxes等;-allow_vhdl_2008 on|off,如果任何模块中有2008(版本吧)的结构,为了加载2008版的package,则必须指定Tessent shell。

5.set_design_macros:指定一个或多个定义的宏供后续命令使用,就是宏定义,为了方便使用。

6.setenv:在工具环境中指定一个shell 环境变量;给环境变量赋一个新的值,仅是在当前tool的session中改变。

7.read_vhdl -format 2008 -f $f:读取一个或多个VHDL文件进入指定或默认logic library;-format 2008,可选,指定输入文件期望格式;-f,可选,tcl列表,指定指向要加载的design 文件的一个或多个ASCII文件的名称,调用的文件通常是由另一个工具生成,因此该选项以内需使用该文件,而不需要转换为read_vhdl命令所允许的格式。

8.read_verilog:读取一个或多个verlog文件进入指定或默认的logic library;-format,可选,指定输入Verilog文件的格式;-vcs_compatibility,可选,忽略synopsys编译所允许的语法错误。

9.read_cell_library:加载一个或多个cell library文件进入tools中。

10.read_design:在DFT插入之后重载入design,以执行分析或未来的DFT 插入过程;首先使用read_verilog和read_vhdl命令将设计读入工具中,在设计上,一旦执行DFT 插入过程之后,read_verilog和read_vhdl命令列表要求重新载入修改后的design进入工具中,被存储在design_name中;例如:使用read_verilog和read_vhdl命令读入RTL代码,然后进行DFT的Mbist插入,此时的RTL文件已经被修改,当一下步进行logic test插入时,则是使用read_design命令载入第一步修改后的RTL文件;-design_identifier,可选,被用来指定想要读入的design的design_in(每个design都对应一个design_id,用来代表这个design);–view full|graybox|interface,决定读入的design的视图,。

11.read_core_descriptions:读指定的TCD文件;TCD文件用于将扫描信息从一个level映射到下一个level,以便在更高级level运行ATPG,并为相关core的instances重新定位patterns(top读子模块)。

12.read_icl:读ICL文件进入内部ICL dbs中。

13.set_current_design:为后续命令指定顶层设计,直到下一次该命令重置,就是为了指定顶层设计模块。

14.add_black_boxes:将verilog 模块或cell library的instances作为黑盒子,在黑盒子的输出或双向pins上设置约束值;存在一些block不需要做scan chain的,可以定义为black box;-Auto,将netlist或者cell library中不存在reference 模块的网表instances设置为黑盒。

15.set_design_level:指定当前设计的level,包括chip|physical_block|sub_block。没有默认设置,必须使用该命令指定当前设计的level,必须指定合适的level,因为该设置影响create_dft_specification和process_dft_specification命令,以及DRC检查。如果design_level为chip,则会在设计中插入TAP(Test Access ports),并且所有的ports具有一个pad buffer。physical_block在综合和laid out时是作为一个单独的整体,一个physical block在另一个physical block中被例化是,当综合parent physical block时,child physical block的网表view不需要载入工具中,而是使用child physical block的时序模型。sub_block的网表通常是作为parent physical网表的一部分存在。可以从physican block boundary进行scan insertion,在sub_block中插入scan chains。(sub_block的网表既然是parents physical block的一部分,那么为什么要使用sub_block呢?应该是sub_block可以单独插入)

16.set_system_mode:指定想要工具进入的操作状态,setup、analyze、insertion。

17.create_port:在指定design模块上创建一个port。在调用工具后默认的模式为setup。已经生成patterns后,如果尝试回到setup mode,工具会提示保存patterns,并发出error:

在这里插入图片描述

18.intercept_connection:一个命令,使用get_dft_cell命令来获得指定功能名的cell,并且使用它来拦截到pin,port,或者net的连接。在原来的连接上加上相应的cell,例如Mux、AND、OR门等,使信号选择性连通。

  • node
    要么是设计中的port、pin或者net名,要么是一个port、 pin或者net对象的集合。基于对象的类型和它的属性方向,对于pin或port,拦截对象的source或者destionation连接。如果node是inout pin或者port,或者如果node是对应inout pin或者port的net将会发生error。

  • cell_function_name function_name
    指定为了拦截所使用的cell的功能,包括and、buffer、inverter、mux、or、clock_and、clock_buffer、clock_inverter、clock_mux、clock_or。

  • select select_source
    指定一个node连接到cell的select input上。该source必须是有效的pin、port或者net对象,或者是一个名称,或者是常值0或1.如果想要插入一个gate然后在后续连接额外的pin应该使用常数值。

  • leaf_instance_prefix prefix_name
    当例化cell是指定使用的前缀,为指定是,默认为"insertion_“。leaf instance名有prefix_name和cell_function_name组合构成。当在例化期间检测扫冲突时(有相同的名字),工具会自动添加”_“后缀来唯一化leaf name。如果想要在综合或者layout脚本中(使用例如”get_cells prefix_name -hier”)容易地找到插入的cells,可以使用特殊的前缀。

19.get_instances:返回相对于当前design实例化的instances的集合,这些instance与指定的name_patterns列表相匹配,并接受指定选项的筛选;-silent,如果集合为空,不报错;-of_modules, 只返回指定的modules的instances。

20.create_connections:连接对象的pin,net,或者port。

21.set_simulation_options:该命令控制pattern生成和仿真期间的行为。

  • set_Reset_dominate_clock OFf|ON

可选,用于确定当多个端口同时打开时(多个端口指的是时钟),set或reset端口的断言是否支配flip-flop和latches的时钟值。当swithc为on时,set或reset端口为on(不能两者同时为on),状态元素(寄存器或锁存器中的值)的预估值取决于set或者reset端口。当switch是off并且多个端口同时打开时,预估值取决于所有的使能端口,当使能端口的值一致时,状态元素被设为一致的值,否则,状态元素被设置为X。此外,即使设置了该switch,set和reset同时打开时,状态元素也被设置为X。

-C6_mask_races OFf | ON

在C6的违例状态元素上打开悲观仿真,当数据端口transitions和clock capture在同一帧时屏蔽捕获值(不捕获该数据,应该捕获clock capture的下一帧的数据)。当data和clock端口具有race transition时该option允许改变C6违例的cells的handling。默认情况下,create_patterns会打开clock_off仿真,工具假设时钟端口的transition早于数据端口,如果该假设是错误的,该option被推荐去屏蔽C6违例的cells以防止由于races的不匹配。这个功能的悲观程度少于“add_cell_constraints -DRC C6",因为后者即使没有races发生也会屏蔽C6违例。

-MUX_Select_x_sim_x OFf | ON

可选,指定在设计中model_mux primitives为consensus或non-consensus。默认情况下,工具总是models_mux为consensus(只要两个数据输入端口是相同的已知值,evaluates_mux为已知值)。

可以使用ON参数来模型化_mux primitive为non-consensus(select line为X的-mux instance输出X)。改变_mux primitive为non-consensus会减少test coverage。而且可以在任何mode下使用该switch,但是在setup mode下使用时,工具评估_mux instance为non-consensus mux instances,会导致额外的DRC违例。

  • 9
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值