uvm-1.2取消在sequence内控制objection的写法

文章讲述了从uvm-1.1到1.2版本中,uvm测试框架中的sequence控制机制的变化。1.1中通过raise_objection/drop_objection手动管理,1.2则推荐使用set_automatic_phase_objection自动控制sequence的起始和结束。

1) 在uvm-1.1中可以通过在seq内raise_objection与drop_objection控制tb的运行;

(2)在uvm-1.2中取消了这种写法,改用set_automatic_phase_objection(1); 在sequence的new函数中添加上面这一句就可以自动控制sequence的开始与结束; sequence在执行前后会自动调用raise_objection与drop_objection,详见uvm_sequence_base的start函数;

 

posedge@EDA:/mnt/hgfs/VMware/集成电路验证/ces_uvm-1.2_2017.12/labs/lab1$ vcs -sverilog -ntb_opts uvm-1.2 test.sv *** Using c compiler gcc-4.8 instead of cc ... Chronologic VCS (TM) Version O-2018.09-SP2_Full64 -- Mon Dec 1 09:44:57 2025 Copyright (c) 1991-2018 by Synopsys Inc. ALL RIGHTS RESERVED This program is proprietary and confidential information of Synopsys Inc. and may be used and disclosed only as authorized in a license agreement controlling such use and disclosure. Parsing design file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv' Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_version_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_global_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_message_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_phase_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_object_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_printer_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_tlm_defines.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm_imps.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_tlm_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_sequence_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_callback_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_reg_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/macros/uvm_deprecated_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dpi/uvm_dpi.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dpi/uvm_hdl.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dpi/uvm_dpi.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dpi/uvm_svcmd_dpi.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dpi/uvm_dpi.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dpi/uvm_regex.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dpi/uvm_dpi.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_coreservice.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_version.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_object_globals.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_misc.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_object.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_pool.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_queue.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_factory.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_registry.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_spell_chkr.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_resource.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_resource_specializations.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_resource_db.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_config_db.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_printer.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_comparer.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_packer.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_links.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_tr_database.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_tr_stream.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_recorder.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_event_callback.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_event.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_barrier.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_callback.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_macros.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_callback.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_report_message.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_report_catcher.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_report_server.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_report_handler.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_report_object.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_transaction.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_phase.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_domain.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_bottomup_phase.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_topdown_phase.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_task_phase.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_common_phases.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_runtime_phases.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_component.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_root.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_component.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_objection.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_heartbeat.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_globals.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_cmdline_processor.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_traversal.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_base.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_dap.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_set_get_dap_base.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_dap.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_simple_lock_dap.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_dap.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_get_to_lock_dap.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_dap.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_set_before_get_dap.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/dap/uvm_dap.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm_ifs.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_sqr_ifs.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/base/uvm_port_base.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm_imps.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_imps.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_ports.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_exports.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_analysis_port.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm_fifo_base.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm_fifos.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm_req_rsp.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_sqr_connections.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm1/uvm_tlm.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_pair.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_policies.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_in_order_comparator.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_algorithmic_comparator.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_random_stimulus.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_subscriber.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_monitor.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_driver.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_push_driver.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_scoreboard.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_agent.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_env.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_test.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/comps/uvm_comps.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequence_item.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequencer_base.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequencer_analysis_fifo.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequencer_param_base.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequencer.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_push_sequencer.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequence_base.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequence.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequence_library.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_sequence_builtin.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/seq/uvm_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_defines.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_time.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_generic_payload.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_ifs.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_imps.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_ports.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_exports.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_sockets_base.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2_sockets.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/tlm2/uvm_tlm2.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_item.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_adapter.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_predictor.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_sequence.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_cbs.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_backdoor.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_field.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_vreg_field.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_indirect.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_fifo.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_file.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_mem_mam.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_vreg.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_mem.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_map.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_block.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/sequences/uvm_reg_hw_reset_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/sequences/uvm_reg_bit_bash_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/sequences/uvm_mem_walk_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/sequences/uvm_mem_access_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/sequences/uvm_reg_access_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/sequences/uvm_reg_mem_shared_access_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/sequences/uvm_reg_mem_built_in_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/sequences/uvm_reg_mem_hdl_paths_seq.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Parsing included file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/snps_uvm_reg_bank.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/reg/uvm_reg_model.svh'. Back to file '/opt/synopsys/vcs-mx2018/O-2018.09-SP2/etc/uvm-1.2/uvm_pkg.sv'. Parsing design file 'test.sv' Top Level Modules: test No TimeScale specified Error-[DDCBA] Daidir cannot be accessed DaiDir directory "simv.daidir" does not have read/write access or is not a directory. Please check directory permissions. 1 error CPU time: 11.798 seconds to compile
最新发布
12-02
<think> 我们正在解决VCS编译时出现的“DaiDir directory 'simv.daidir' does not have read/write access”错误。根据错误信息,问题在于VCS尝试访问的目录'simv.daidir'没有读写权限。这通常发生在编译过程中,VCS需要创建或写入该目录时。 可能的解决方法包括: 1. 确保当前用户对当前工作目录有读写权限。 2. 如果目录已存在,检查其权限设置;如果不存在,尝试手动创建并设置适当权限。 3. 使用VCS的编译选项改变.daidir目录的位置或名称。 另外,参考引用[2]中提到了VCS的编译选项,我们可以考虑使用VCS的编译选项来避免这个问题。具体来说,VCS有一个`-debug`相关的选项,其中可能会涉及到.daidir目录的生成。我们可以尝试不使用某些调试选项,或者改变.daidir目录的位置。 根据VCS文档,我们可以使用`-debug`选项来控制调试信息的生成。而`-debug`选项有一个子选项`-daidir`可以用来指定.daidir目录的路径。因此,我们可以尝试在编译时指定一个具有读写权限的目录作为.daidir目录。 具体步骤: a) 首先,我们可以尝试手动创建simv.daidir目录并赋予读写权限: ```bash mkdir simv.daidir chmod -R 777 simv.daidir ``` 但是,这种方法可能不够通用,特别是在自动化脚本中。 b) 其次,我们可以在编译命令中通过`-debug -daidir <directory>`来指定一个可读写的目录。例如: ```bash vcs -sverilog -debug -daidir ./my_daidir test.sv +incdir+<UVM路径> ...其他选项... ``` 这里,我们将.daidir目录指定为当前目录下的my_daidir,并确保该目录可读写。 c) 如果问题仍然存在,可以尝试不使用`-debug`选项(如果不需要调试),或者使用`-debug_acc`(该选项可能不生成.daidir目录?)或其他调试选项的变体。 另外,错误信息中提到的目录名是"simv.daidir",这通常是默认目录。我们可以尝试改变输出可执行文件的名称(使用`-o`选项),这样默认的.daidir目录名也会改变,可能会避免权限问题?例如: ```bash vcs -sverilog -o my_simv ...其他选项... ``` 这样,VCS会尝试创建my_simv.daidir目录,而不是simv.daidir。 如果上述方法都不行,检查当前文件系统的权限,确保用户有权限在当前目录下创建目录和文件。 注意:在编译UVM测试平台时,我们需要包含UVM库。通常使用`+incdir+`指定UVM源文件路径,并使用`-ntb_opts uvm`或`-ntb`选项。确保这些选项正确。 总结步骤: 1. 检查当前目录权限:使用`ls -ld`查看当前目录权限,确保有写权限。 2. 手动创建目录并赋权(临时解决): ```bash rm -rf simv.daidir # 如果存在且权限不对,先删除 mkdir simv.daidir chmod 777 simv.daidir ``` 然后重新运行编译命令。 3. 在编译命令中指定一个自定义的.daidir目录: ```bash vcs -sverilog -debug -daidir ./my_daidir -o my_simv test.sv +incdir+<UVM路径> -ntb_opts uvm ``` 或者,如果不需要调试,可以尝试去掉`-debug`选项(但通常UVM调试需要)。 4. 如果使用了仿真配置文件(如synopsys_sim.setup),检查其中是否有设置daidir的选项。 5. 确保VCS版本与UVM1.2兼容。 6. 如果是在共享文件系统上(如NFS),则可能存在用户权限映射问题(如root_squash),请尝试在本地目录编译。 根据引用[1]中提到的静态代码问题,虽然不直接相关,但注意UVM测试平台中是否有死循环等问题,但此错误是编译(更准确说是编译链接)阶段的权限错误,与运行时问题不同。 因此,重点放在目录权限和编译选项上。 相关问题: 1. 如何设置VCS编译选项以改变调试数据目录? 2. VCS编译UVM测试平台需要哪些基本选项? 3. 如何检查Linux目录权限及修改? 4. VCS编译过程中生成的临时文件有哪些?如何管理? </think> ### 解决 VCS 编译时 "DaiDir directory 'simv.daidir' does not have read/write access" 错误 这个错误通常是由文件系统权限问题或 VCS 编译选项配置不当引起的。以下是系统性的解决方案: #### 1. **检查并修复目录权限** ```bash # 删除现有目录(如果存在) rm -rf simv.daidir # 创建新目录并赋权 mkdir simv.daidir chmod 777 simv.daidir # 赋予完全读写权限 ``` > 📌 如果使用 NFS 等网络文件系统,需额外检查服务端的权限映射配置[^1] #### 2. **修改 VCS 编译选项** 在编译命令中添加 `-debug` 和 `-daidir` 参数: ```bash vcs -sverilog -debug -daidir ./custom_daidir_path \ +incdir+<UVM路径> test.sv -ntb_opts uvm-1.2 ``` 关键参数说明: - `-debug`:启用调试模式(必须) - `-daidir ./custom_daidir_path`:指定自定义目录(避免默认路径权限问题) - `-ntb_opts uvm-1.2`:显式声明 UVM 版本 #### 3. **清理临时文件** ```bash rm -rf csrc simv simv.daidir ucli.key vcs -clean # 执行VCS自清理命令 ``` #### 4. **文件系统检查** ```bash df -T . # 查看当前文件系统类型 mount | grep <当前目录> # 检查挂载选项 ``` 需确保: - 非 `noexec` 挂载 - 非只读文件系统 - 磁盘空间充足 (`df -h`) #### 5. **环境变量配置** 在 `~/.cshrc` 或 `~/.bashrc` 中添加: ```bash setenv VCS_HOME /path/to/vcs/install setenv PATH $VCS_HOME/bin:$PATH setenv UVM_HOME /path/to/uvm-1.2 ``` ### 常见原因排查表 | 现象 | 解决方案 | |------|----------| | 多用户共享环境 | 使用 `-daidir $HOME/my_daidir` 指定用户私有目录 | | 企业级存储权限限制 | 联系IT部门开放 `/tmp/vcs_${USER}` 的写入权限 | | 防病毒软件拦截 | 将 VCS 安装目录加入白名单 | | SELinux 限制 | 执行 `setenforce 0` 临时禁用(生产环境慎用) | ### 完整编译示例 ```bash # 创建专用目录 mkdir -p $HOME/vcs_build && cd $HOME/vcs_build # 带权限修复的编译命令 vcs -sverilog -debug -daidir ./my_daidir \ +incdir+$UVM_HOME/src test.sv \ -ntb_opts uvm-1.2 \ +define+UVM_NO_DEPRECATED \ -l compile.log ``` > ⚠️ **重要提示**:若仍报错,检查 VCS 版本与 UVM-1.2 的兼容性,建议升级至 VCS 最新 LTS 版本[^2]
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值