跳转至

输入查询内容

    本页内容

    TLM 接口未实现错误消息文本变化

    影响范围

    日志工具匹配 TLM 未实现接口的完整旧文案。

    具体差异

    `UVM_TASK_ERROR/`UVM_FUNCTION_ERROR"TLM interface task/function not implemented" 改为 "UVM TLM interface task/function not implemented"`UVM_TLM_FUNCTION_ERROR"TLM-2 interface function not implemented" 改为 "UVM TLM 2 interface function not implemented"。仅影响按消息全文匹配日志的脚本/断言。

    修改方案

    日志正则若匹配旧文案需放宽(建议匹配消息 id 而非正文)。

    兼容措施与范围:现有入口无需兼容开关;这不表示两版行为相同,仍按本条条件和验证方法核对。

    迁移后验证

    受控调用未实现接口,检查按消息 ID 分类能检出错误;正常实现对照不得误报。

    记录本条结果M08-009 · 状态与证据

    已有实测与复现

    补充查阅

    扫描定位与记录结果

    有扫描规则,覆盖部分可识别写法。脚本检查名称、参数和部分 FLAG 表达式,并对少数直接声明关联使用点;未做完整类型解析或预处理,行为结果仍需验证。

    uv run tools/uvm_migration_scan.py <SoC代码目录> --rules S43
    

    核对命中对象及生效分支后,在条目清单记录修改与验证证据;扫描规则记录用于整理命中位置。

    扫描器下载、输入范围与报告说明

    源码与标准依据

    核查方式:源码与实测核对。实测仅覆盖本条所列场景。

    VCS 内置 UVM-1.2uvm_tlm_ifs.svh:23–24uvm_tlm2_ifs.svh:67

    VCS 内置 uvm-ieee-2020-2.0uvm_tlm_ifs.svh:24–25uvm_tlm2_ifs.svh:71

    引用代码(高亮为引用行);上方行号链接可直接定位。

    src/vcs-uvm-1.2/tlm1/uvm_tlm_ifs.svh
    //   permissions and limitations under the License.
    //-----------------------------------------------------------------------------
    
    `define UVM_TASK_ERROR "TLM interface task not implemented"
    `define UVM_FUNCTION_ERROR "TLM interface function not implemented"
    
    //-----------------------------------------------------------------------------
    //
    // CLASS: uvm_tlm_if_base #(T1,T2)
    //
    // This class declares all of the methods of the TLM API.
    //
    // Various subsets of these methods are combined to form primitive TLM
    // interfaces, which are then paired in various ways to form more abstract
    // "combination" TLM interfaces. Components that require a particular interface
    // use ports to convey that requirement. Components that provide a particular
    // interface use exports to convey its availability.
    //
    // Communication between components is established by connecting ports to
    

    完整源码 · SHA256:f468ec850172dab448b09667c18e3988a3dca6670d1fb6adc75e8f3d1107701b

    src/vcs-uvm-1.2/tlm2/uvm_tlm2_ifs.svh
    // MACRO: `UVM_TLM_FUNCTION_ERROR
    //
    // Defines Not-Yet-Implemented TLM functions
    `define UVM_TLM_FUNCTION_ERROR "TLM-2 interface function not implemented"
    
    //
    // Class: uvm_tlm_if
    //
    // Base class type to define the transport functions.
    //
    //  -  <nb_transport_fw>
    //
    //  - <nb_transport_bw>
    //
    //  - <b_transport>
    //
    
    class uvm_tlm_if #(type T=uvm_tlm_generic_payload,
                   type P=uvm_tlm_phase_e);
    

    完整源码 · SHA256:cedbf269dff526458d48896ac60e2fdc1d2964ce8a3a61a5d8a5359ca20b60e3

    src/vcs-uvm-ieee-2020-2.0/tlm1/uvm_tlm_ifs.svh
    //   permissions and limitations under the License.
    //-----------------------------------------------------------------------------
    
    `define UVM_TASK_ERROR "UVM TLM interface task not implemented"
    `define UVM_FUNCTION_ERROR "UVM TLM interface function not implemented"
    
    //-----------------------------------------------------------------------------
    //
    // CLASS -- NODOCS -- uvm_tlm_if_base #(T1,T2)
    //
    // This class declares all of the methods of the UVM TLM API.
    //
    // Various subsets of these methods are combined to form primitive TLM
    // interfaces, which are then paired in various ways to form more abstract
    // "combination" UVM TLM interfaces. Components that require a particular interface
    // use ports to convey that requirement. Components that provide a particular
    // interface use exports to convey its availability.
    //
    // Communication between components is established by connecting ports to
    

    完整源码 · SHA256:d41841280005f12da1d649f2ef692308c0751d33a8c665113a393f5f446797e7

    src/vcs-uvm-ieee-2020-2.0/tlm2/uvm_tlm2_ifs.svh
    // MACRO -- NODOCS -- `UVM_TLM_FUNCTION_ERROR
    //
    // Defines Not-Yet-Implemented UVM TLM functions
    `define UVM_TLM_FUNCTION_ERROR "UVM TLM 2 interface function not implemented"
    
    //
    // Class -- NODOCS -- uvm_tlm_if
    //
    // Base class type to define the transport functions.
    //
    //  -  <nb_transport_fw>
    //
    //  - <nb_transport_bw>
    //
    //  - <b_transport>
    //
    
    // @uvm-ieee 1800.2-2020 auto 12.3.2.1
    class uvm_tlm_if #(type T=uvm_tlm_generic_payload,
    

    完整源码 · SHA256:1bdca8de8dd5e53069e968446b76fb762f08368eadfde484d572579c37e83be9

    术语解释 · 兼容配置

    返回TLM · 迁移清单

    版本适用范围