内部实现:文件组织、内部数据结构与实现钩子的变化。直接依赖内部接口时查阅,普通 API 的使用不需要重审这些源码。
影响范围
直接 include 旧 recorder 文件,或解析 text database 的注册和句柄输出。
具体差异
text database/stream 拆为独立文件,set_file_name 等入口与 UVM_CHANGE_DEFAULT_TR_DB_NAME 定制保留;注册与句柄类型也随新框架更新,不能称类体逐字不变。正常通过 uvm_pkg 获得类型;自行 include 宿主文件并依赖 text 类型的用法需同步文件依赖。
修改方案
通过 uvm_pkg 使用类型时无需修改;直接 include 旧宿主文件且依赖 text 类型时,同步目标文件依赖。
//// @uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2classuvm_text_tr_databaseextendsuvm_tr_database;// Variable- m_filename_dap// Data Access Protected Filename`ifndefUVM_DISABLE_DEFAULT_TR_DBlocaluvm_simple_lock_dap#(string)m_filename_dap;`endif// Variable- m_fileUVM_FILEm_file;`uvm_object_utils(uvm_text_tr_database)// Function: new// Constructor//
// // @uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2classuvm_text_tr_streamextendsuvm_tr_stream;// Variable- m_text_db// Internal reference to the text-based backendlocaluvm_text_tr_databasem_text_db;`uvm_object_utils_begin(uvm_text_tr_stream)`uvm_object_utils_end// Function: new// Constructor//// Parameters:// name - Instance namefunctionnew(stringname="unnamed-uvm_text_tr_stream");super.new(name);