Regarding including uvm_macros

Hi,
I’ve included uvm_macros in the top file, but it is showing errors while phrasing
Error:
at apb_seq_item.sv(3): (qverilog-2962) apb_seq_item.sv(3): A non-IEEE 1800-2012-compliant identifier was used to define a macro: ‘“APB_SEQ_ITEM_SV”’.
I’m running on vim using Windows PowerShell
here u can find my codes
apb_seq_item:
/****** apb_seq_item*******************************/
ifndef "APB_SEQ_ITEM_SV" define “APB_SEQ_ITEM_SV”

class apb_seq_item extends uvm_sequence_item;
`uvm_object_utils(apb_seq_item)

//declaration of data feilds
rand bit p_write;
rand bit p_enable;
rand bit p_read;
rand bit [7:0] p_rdata;
rand bit [3:0] p_addr;
bit [7:0] p_wdata;
bit p_clk;
bit p_reset;
bit p_ready;
bit p_sel;

uvm_object_utils_begin(mem_seq_item) uvm_field_int(p_addr,UVM_ALL_ON)
uvm_field_int(p_write,UVM_ALL_ON) uvm_field_int(p_read,UVM_ALL_ON)
uvm_field_int(p_wdata,UVM_ALL_ON) uvm_object_utils_end

function new (string name=“apb_seq_item”, uvm_component parent=null);
super.new(name,parent);
endfunction : new

endclass : apb_seq_item
`endif

/////////////////////apb_top.sv////////////////////////////////////
/********** apb_top ************/
// getting all the instantiations

//import apb_pkg::*;
//
`include “uvm_macros.svh”

import uvm_pkg::*;
include "apb_interface.sv" include “apb_cfg.sv”
include "apb_seq_item.sv" include “apb_write_seq.sv”
include "apb_sequencer.sv" include “apb_driver.sv”
include "apb_monitor.sv" include “apb_agent.sv”
include "apb_scoreboard.sv" include “apb_environment.sv”
`include “apb_write_test.sv”

module tbench_top;
//clk and reset signal declaration
bit p_clk;
bit reset;
//clock generation
always #25 p_clk = ~p_clk;

//reset generation
always #10 reset = ~reset;

//craeting the instance of interface to connect the dut
apb_interface itf(clk,reset);

//dut and interface connections
reg_sync DUT(
.pclk(itf.p_clk),
.presetn(itf.reset),
.paddr(itf.p_addr),
.pwrite(itf.p_write),
.penable(itf.p_enable),
.read(itf.p_read),
.psel(itf.p_sel),
.prdata(itf.p_rdata),
.pwdata(itf.p_wdata)
);

// enabling the wave dump
initial begin
uvm_config_db#(virtual apb_interface)::set(“null”,“*”,“vif”,itf);
$dumpfile(“dump.vcd”);
$dumpvars;
end

initial begin
runtest(apb_write_test.sv);
end // initial
endmodule // tbench_top

can you please help me to solve these errors

In reply to rushmitha ganji:

Your macro definition is wrong. It should be:
ifndef APB_SEQ_ITEM_SV define APB_SEQ_ITEM_SV

BTW these are not UVM specific macros. They are only used to control the compilation of the corresponding file.

In reply to chr_sue:
thank you, it worked