data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh
1: b'%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:1: Unsupported: classes\nclass gpio_env extends uvm_env;\n^~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:1: syntax error, unexpected IDENTIFIER, expecting TYPE-IDENTIFIER\nclass gpio_env extends uvm_env;\n                       ^~~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:2: Define or directive not defined: \'`uvm_component_utils\'\n `uvm_component_utils(gpio_env)\n ^~~~~~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:20: Unsupported: new constructor\n extern function new(string name = "gpio_env", uvm_component parent = null);\n                 ^~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:20: syntax error, unexpected IDENTIFIER, expecting \')\'\n extern function new(string name = "gpio_env", uvm_component parent = null);\n                                                             ^~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:21: syntax error, unexpected IDENTIFIER, expecting \')\'\n extern function void build_phase(uvm_phase phase);\n                                            ^~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:22: syntax error, unexpected IDENTIFIER, expecting \')\'\n extern function void connect_phase(uvm_phase phase);\n                                              ^~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:27: Unsupported: Hierarchical class references\nfunction gpio_env::new(string name = "gpio_env", uvm_component parent = null);\n                 ^~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:27: Unsupported: scoped class reference\nfunction gpio_env::new(string name = "gpio_env", uvm_component parent = null);\n                      ^\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:27: Unsupported: scoped new constructor\nfunction gpio_env::new(string name = "gpio_env", uvm_component parent = null);\n                   ^~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:27: syntax error, unexpected IDENTIFIER, expecting \')\'\nfunction gpio_env::new(string name = "gpio_env", uvm_component parent = null);\n                                                               ^~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:31: Unsupported: Hierarchical class references\nfunction void gpio_env::build_phase(uvm_phase phase);\n                      ^~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:31: Unsupported: scoped class reference\nfunction void gpio_env::build_phase(uvm_phase phase);\n                        ^~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:27: Unsupported: Out of class block function declaration\nfunction gpio_env::new(string name = "gpio_env", uvm_component parent = null);\n                   ^~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:31: syntax error, unexpected IDENTIFIER, expecting \')\'\nfunction void gpio_env::build_phase(uvm_phase phase);\n                                              ^~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:35: Define or directive not defined: \'`uvm_fatal\'\n  `uvm_fatal("CONFIG_LOAD", "Cannot get() configuration gpio_env_config from uvm_config_db. Have you set() it?")\n  ^~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:39: Define or directive not defined: \'`uvm_info\'\n  `uvm_info("ENV BUILD", "config has sent", UVM_LOW)\n  ^~~~~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:81: Unsupported: Hierarchical class references\nfunction void gpio_env::connect_phase(uvm_phase phase);\n                      ^~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:81: Unsupported: scoped class reference\nfunction void gpio_env::connect_phase(uvm_phase phase);\n                        ^~~~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:31: Unsupported: Out of class block function declaration\nfunction void gpio_env::build_phase(uvm_phase phase);\n                        ^~~~~~~~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:81: syntax error, unexpected IDENTIFIER, expecting \')\'\nfunction void gpio_env::connect_phase(uvm_phase phase);\n                                                ^~~~~\n%Error: data/full_repos/permissive/506636840/block_level_tbs/gpio_tb/env/gpio_env.svh:93: Define or directive not defined: \'`uvm_info\'\n `uvm_info("RGM in env set", "now go to this", UVM_LOW);\n ^~~~~~~~~\n%Error: Exiting due to 22 error(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
function void gpio_env::build_phase(uvm_phase phase);


	if (!uvm_config_db #(gpio_env_config)::get(this, "", "gpio_env_config", m_cfg) )
		`uvm_fatal("CONFIG_LOAD", "Cannot get() configuration gpio_env_config from uvm_config_db. Have you set() it?")
	if(m_cfg.has_apb_agent) begin
		uvm_config_db #(apb_agent_config)::set(this,"m_apb_agent*", "apb_agent_config", m_cfg.m_apb_agent_cfg);
		m_apb_agent = apb_agent::type_id::create("m_apb_agent", this);
		`uvm_info("ENV BUILD", "config has sent", UVM_LOW)
	end
	if(m_cfg.has_GPO_agent) begin
		uvm_config_db #(gpio_agent_config)::set(this,"m_GPO_agent*", "gpio_agent_config", m_cfg.m_GPO_agent_cfg);
		m_GPO_agent = gpio_agent::type_id::create("m_GPO_agent", this);
	end
	if(m_cfg.has_GPOE_agent) begin
		uvm_config_db #(gpio_agent_config)::set(this,"m_GPOE_agent*", "gpio_agent_config", m_cfg.m_GPOE_agent_cfg);
		m_GPOE_agent = gpio_agent::type_id::create("m_GPOE_agent", this);
	end
	if(m_cfg.has_GPI_agent) begin
		uvm_config_db #(gpio_agent_config)::set(this,"m_GPI_agent*", "gpio_agent_config", m_cfg.m_GPI_agent_cfg);
		m_GPI_agent = gpio_agent::type_id::create("m_GPI_agent", this);
	end
	if(m_cfg.has_AUX_agent) begin
		uvm_config_db #(gpio_agent_config)::set(this,"m_AUX_agent*", "gpio_agent_config", m_cfg.m_AUX_agent_cfg);
		m_AUX_agent = gpio_agent::type_id::create("m_AUX_agent", this);
	end
	if(m_cfg.has_virtual_sequencer) begin
		m_v_sqr = gpio_virtual_sequencer::type_id::create("m_v_sqr", this);
	end



	if(m_cfg.has_reg_scoreboard) begin
		m_reg_sb = gpio_reg_scoreboard::type_id::create("m_reg_sb", this);
	end
	if(m_cfg.has_out_scoreboard) begin
		m_out_sb = gpio_out_scoreboard::type_id::create("m_out_sb", this);
	end
	if(m_cfg.has_in_scoreboard) begin
		m_in_sb = gpio_in_scoreboard::type_id::create("m_in_sb", this);
	end


	gpio_rgm = m_cfg.gpio_rgm;
	rgm_adapter = apb2reg_adapter::type_id::create("rgm_adapter");
	predictor = uvm_reg_predictor#(apb_seq_item)::type_id::create("predictor", this);


endfunction
function void gpio_env::build_phase(uvm_phase phase);



	if (!uvm_config_db #(gpio_env_config)::get(this, "", "gpio_env_config", m_cfg) )
		`uvm_fatal("CONFIG_LOAD", "Cannot get() configuration gpio_env_config from uvm_config_db. Have you set() it?")
	if(m_cfg.has_apb_agent) begin
		uvm_config_db #(apb_agent_config)::set(this,"m_apb_agent*", "apb_agent_config", m_cfg.m_apb_agent_cfg);
		m_apb_agent = apb_agent::type_id::create("m_apb_agent", this);
		`uvm_info("ENV BUILD", "config has sent", UVM_LOW)
	end
	if(m_cfg.has_GPO_agent) begin
		uvm_config_db #(gpio_agent_config)::set(this,"m_GPO_agent*", "gpio_agent_config", m_cfg.m_GPO_agent_cfg);
		m_GPO_agent = gpio_agent::type_id::create("m_GPO_agent", this);
	end
	if(m_cfg.has_GPOE_agent) begin
		uvm_config_db #(gpio_agent_config)::set(this,"m_GPOE_agent*", "gpio_agent_config", m_cfg.m_GPOE_agent_cfg);
		m_GPOE_agent = gpio_agent::type_id::create("m_GPOE_agent", this);
	end
	if(m_cfg.has_GPI_agent) begin
		uvm_config_db #(gpio_agent_config)::set(this,"m_GPI_agent*", "gpio_agent_config", m_cfg.m_GPI_agent_cfg);
		m_GPI_agent = gpio_agent::type_id::create("m_GPI_agent", this);
	end
	if(m_cfg.has_AUX_agent) begin
		uvm_config_db #(gpio_agent_config)::set(this,"m_AUX_agent*", "gpio_agent_config", m_cfg.m_AUX_agent_cfg);
		m_AUX_agent = gpio_agent::type_id::create("m_AUX_agent", this);
	end
	if(m_cfg.has_virtual_sequencer) begin
		m_v_sqr = gpio_virtual_sequencer::type_id::create("m_v_sqr", this);
	end



	if(m_cfg.has_reg_scoreboard) begin
		m_reg_sb = gpio_reg_scoreboard::type_id::create("m_reg_sb", this);
	end
	if(m_cfg.has_out_scoreboard) begin
		m_out_sb = gpio_out_scoreboard::type_id::create("m_out_sb", this);
	end
	if(m_cfg.has_in_scoreboard) begin
		m_in_sb = gpio_in_scoreboard::type_id::create("m_in_sb", this);
	end


	gpio_rgm = m_cfg.gpio_rgm;
	rgm_adapter = apb2reg_adapter::type_id::create("rgm_adapter");
	predictor = uvm_reg_predictor#(apb_seq_item)::type_id::create("predictor", this);


endfunction