DFT 常用工具Mentor Graphics Tessent的常用命令详解

# Mentor Graphics Tessent工具常用命令详解

## 一、`read_design`命令
1. **功能**
   - 此命令用于将设计文件读入Tessent环境。设计文件可以是Verilog、VHDL等格式,这是后续进行DFT操作的基础。
2. **语法格式及参数**
   - 基本格式:`read_design [options] <design_file>`
   - 常见参数:
     - `-format <file_format>`:指定设计文件格式,如`-format verilog`表示Verilog文件格式,`-format vhdl`表示VHDL文件格式。
     - `-top <top_module_name>`:指定设计中的顶层模块名称,例如`-top my_top_module`。这有助于Tessent确定设计的层次结构。

## 二、`write_design`命令
1. **功能**
   - 与`read_design`相反,将经过Tessent处理后的设计写出到文件中,可用于保存带有DFT结构(如扫描链插入后的设计)的文件。
2. **语法格式及参数**
   - 基本格式:`write_design [options] <output_file>`
   - 常见参数:
     - `-format <file_format>`:指定输出文件格式,如`-format verilog`或`-format vhdl`。
     - `-hierarchy <hierarchy_option>`:指定输出文件中的层次结构表示方式,如`-hierarchy flat`(平铺层次结构)或`-hierarchy preserve`(保留原始层次结构)。

## 三、`set_fault_model`命令
1. **功能**
   - 设定故障模型,这是进行ATPG操作的重要前提。常见的故障模型有固定故障(Stuck - at Fault)等。
2. **语法格式及参数**
   - 基本格式:`set_fault_model [options] <fault_model_type>`
   - 常见参数:
     - `-type <fault_type>`:对于固定故障模型,可进一步指定`-type stuck - at - 0`(固定为0故障)或`-type stuck - at - 1`(固定为1故障)等。
     - `-coverage <coverage_requirement>`:设定故障覆盖率要求,如`-coverage 90`表示要求故障覆盖率达到90%。

## 四、`scan_insertion`命令
1. **功能**
   - 在设计中插入扫描链,将普通触发器转换为扫描触发器并连接成扫描链,以便在测试模式下更好地控制和观测内部状态。
2. **语法格式及参数**
   - 基本格式:`scan_insertion [options]`
   - 常见参数:
     - `-design <design_name>`:指定要进行扫描插入的设计名称,如`-design my_chip`。
     - `-chain_length <length>`:设定扫描链的长度,例如`-chain_length 100`。
     - `-scan_style <style>`:指定扫描风格,如`-scan_style mux - d`(多路复用扫描风格)。
     - `-clock <clock_name>`:确定扫描链使用的时钟信号,如`-clock test_clk`。

## 五、`atpg`命令
1. **功能**
   - 自动测试模式生成命令,根据设计结构和选定的故障模型自动生成测试向量,用于检测设计中的故障。
2. **语法格式及参数**
   - 基本格式:`atpg [options]`
   - 常见参数:
     - `-design <design_name>`:指定要进行ATPG操作的设计名称,例如`-design my_design`。
     - `-fault_model <model>`:指定故障模型,如`-fault_model stuck`(固定故障模型)。
     - `-atpg_mode <mode>`:确定ATPG模式,如`-atpg_mode full`(完全模式)。
     - `-max_patterns <number>`:设定最大的测试模式(测试向量)数量,如`-max_patterns 500`。

## 六、`simulate`命令
1. **功能**
   - 对设计进行模拟测试,可使用生成的测试向量对设计进行模拟,验证设计在测试条件下的行为是否符合预期。
2. **语法格式及参数**
   - 基本格式:`simulate [options]`
   - 常见参数:
     - `-design <design_name>`:指定被测试的设计名称,如`-design my_circuit`。
     - `-test_vector <vector_file>`:指定测试向量文件,如`-test_vector my_test_vector.tv`。
     - `-simulator <simulator_name>`:如果有多种模拟器可供选择,可通过此参数指定,如`-simulator QuestaSim`。
     - `-output <output_file>`:指定模拟结果的输出文件,如`-output simulation_results.log`。

## 七、`add_pattern`命令
1. **功能**
   - 用于手动添加测试模式(测试向量)到测试集中,可补充自动生成的测试向量集。
2. **语法格式及参数**
   - 基本格式:`add_pattern [options] <input_pattern>`
   - 常见参数:
     - `-name <pattern_name>`:为添加的测试模式命名,如`-name special_case_pattern`。
     - `-description <pattern_description>`:提供对测试模式的描述信息,如`-description "This pattern is for testing a corner case"`。

## 八、`report_fault_coverage`命令
1. **功能**
   - 生成故障覆盖率的报告,显示当前测试集能够检测到的故障比例,是评估测试有效性的重要指标。
2. **语法格式及参数**
   - 基本格式:`report_fault_coverage [options]`
   - 常见参数:
     - `-detail <detail_level>`:指定报告的详细程度,如`-detail high`(提供更详细信息,包括各模块故障覆盖率等)或`-detail low`(只提供总体故障覆盖率信息)。
     - `-output <report_file>`:指定将报告输出到的文件,如`-output fault_coverage_report.txt`。

## 九、`set_test_mode`命令
1. **功能**
   - 设置测试模式,确定设计在测试过程中的工作模式,例如是正常测试模式还是特殊的调试测试模式等。
2. **语法格式及参数**
   - 基本格式:`set_test_mode [options] <test_mode>`
   - 常见参数:
     - `-enable <feature>`:启用特定的测试功能,如`-enable scan - test`(启用扫描测试功能)。

## 十、`set_clock`命令
1. **功能**
   - 用于设置时钟相关的参数,包括时钟信号的定义、时钟域等,这对于扫描链操作和测试过程中的时钟控制非常重要。
2. **语法格式及参数**
   - 基本格式:`set_clock [options] <clock_spec>`
   - 常见参数:
     - `-name <clock_name>`:指定时钟名称,如`-name clk`。
     - `-period <clock_period>`:设定时钟周期,如`-period 10`(单位根据设计而定,可能是纳秒等)。
     - `-duty_cycle <duty_cycle_percentage>`:设定时钟的占空比,如`-duty_cycle 50`(表示50%的占空比)。

## 十一、`set_reset`命令
1. **功能**
   - 定义复位信号相关的参数,如复位信号的名称、复位类型(同步复位或异步复位)等,这对于设计的初始化和测试过程中的复位操作很关键。
2. **语法格式及参数**
   - 基本格式:`set_reset [options] <reset_spec>`
   - 常见参数:
     - `-name <reset_name>`:指定复位信号名称,如`-name rst`。
     - `-type <reset_type>`:指定复位类型,如`-type async`(异步复位)或`-type sync`(同步复位)。

## 十二、`set_io`命令
1. **功能**
   - 设置输入输出(IO)端口的相关属性,包括IO的方向(输入、输出或双向)、电气特性等。
2. **语法格式及参数**
   - 基本格式:`set_io [options] <io_spec>`
   - 常见参数:
     - `-name <io_name>`:指定IO端口名称,如`-name data_in`。
     - `-direction <io_direction>`:指定IO方向,如`-direction input`(输入端口)、`-direction output`(输出端口)或`-direction inout`(双向端口)。
     - `-voltage <voltage_level>`:指定IO端口的电压电平,如`-voltage 3.3`(表示3.3V)。

## 十三、`set_power`命令
1. **功能**
   - 用于设置电源相关的参数,如电源域、电源电压等,这对于设计的功耗分析和测试过程中的电源管理很重要。
2. **语法格式及参数**
   - 基本格式:`set_power [options] <power_spec>`
   - 常见参数:
     - `-domain <power_domain>`:指定电源域名称,如`-domain core_power`。
     - `-voltage <voltage_level>`:设定电源电压,如`-voltage 1.8`(表示1.8V)。

## 十四、`set_operating_conditions`命令
1. **功能**
   - 设定设计的工作条件,包括温度范围、工艺角等,这些条件会影响设计的性能和测试结果。
2. **语法格式及参数**
   - 基本格式:`set_operating_conditions [options] <operating_conditions>`
   - 常见参数:
     - `-temperature <temp_range>`:指定温度范围,如`-temperature - 40:125`(表示 - 40°C到125°C的温度范围)。
     - `-process_corner <corner>`:指定工艺角,如`-process_corner slow`(慢速工艺角)或`-process_corner fast`(快速工艺角)。

## 十五、`set_timing`命令
1. **功能**
   - 用于设置设计的时序约束,包括时钟到输出的延迟、输入到时钟的建立和保持时间等,确保设计满足时序要求。
2. **语法格式及参数**
   - 基本格式:`set_timing [options] <timing_spec>`
   - 常见参数:
     - `-clock_to_output <delay>`:设定时钟到输出的延迟,如`-clock_to_output 5`(单位根据设计而定,可能是纳秒等)。
     - `-input_to_clock_setup <setup_time>`:设定输入到时钟的建立时间,如`-input_to_clock_setup 3`。
     - `-input_to_clock_hold <hold_time>`:设定输入到时钟的保持时间,如`-input_to_clock_hold 1`。

## 十六、`set_design_rule`命令
1. **功能**
   - 定义设计规则,如最小线宽、最小间距等,这些规则有助于确保设计在物理实现过程中的可制造性和可靠性。
2. **语法格式及参数**
   - 基本格式:`set_design_rule [options] <design_rule_spec>`
   - 常见参数:
     - `-min_width <width>`:指定最小线宽,如`-min_width 0.18`(单位根据设计而定,可能是微米等)。
     - `-min_spacing <spacing>`:设定最小间距,如`-min_spacing 0.2`。

## 十七、`set_dft_rule`命令
1. **功能**
   - 设定DFT相关的规则,如扫描链的最大长度限制、测试点的密度要求等,以确保DFT结构满足设计和测试的要求。
2. **语法格式及参数**
   - 基本格式:`set_dft_rule [options] <dft_rule_spec>`
   - 常见参数:
     - `-scan_chain_max_length <length>`:设定扫描链的最大长度,如`-scan_chain_max_length 200`。
     - `-test_point_density <density>`:设定测试点的密度要求,如`-test_point_density 0.1`(表示10%的测试点密度)。

## 十八、`set_debug_mode`命令
1. **功能**
   - 启用或设置调试模式,在调试模式下可以获取更多关于设计内部状态的信息,有助于故障诊断和调试。
2. **语法格式及参数**
   - 基本格式:`set_debug_mode [options] <debug_mode>`
   - 常见参数:
     - `-enable <debug_feature>`:启用特定的调试功能,如`-enable scan - debug`(启用扫描调试功能)。

## 十九、`set_verification_mode`命令
1. **功能**
   - 设定验证模式,确定在验证过程中采用的验证策略和方法,如形式验证、功能验证等。
2. **语法格式及参数**
   - 基本格式:`set_verification_mode [options] <verification_mode>`
   - 常见参数:
     - `-type <verification_type>`:指定验证类型,如`-type formal`(形式验证)或`-type functional`(功能验证)。

## 二十、`set_optimization_mode`命令
1. **功能**
   - 确定优化模式,用于在设计过程中对设计进行优化,如面积优化、功耗优化等。
2. **语法格式及参数**
   - 基本格式:`set_optimization_mode [options] <optimization_mode>`
   - 常见参数:
     - `-type <optimization_type>`:指定优化类型,如`-type area`(面积优化)或`-type power`(功耗优化)。
     - `-priority <priority_level>`:设定优化的优先级,如`-priority high`(高优先级)或`-priority low`(低优先级)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loving_enjoy

感谢亲们的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值