class pllreg_scoreboard; //Vars in intr_check int isr_error=0; integer fid; function new(); endfunction; //extern task do_check(); extern function bit compare( bit[31:0] spi_exp[$], bit[31:0] spi_act[$], pllreg_trans pll_exp[$], pllreg_trans pll_act[$] ); endclass function bit pllreg_scoreboard::compare( bit[31:0] spi_exp[$], bit[31:0] spi_act[$], pllreg_trans pll_exp[$], pllreg_trans pll_act[$] ); bit result=1'b1; int i=0; //$display(dout); if(spi_exp.size() != spi_act.size()) begin result = 1'b0; //$display("ScoreBoard(ERROR): write & read datanum ARNT'T equal!"); //$display("Exp spi_data size:%0d",spi_exp.size()); //$display("Act spi_data size:%0d",spi_act.size()); $fwrite(fid,"ScoreBoard(ERROR): write & read datanum ARNT'T equal!\t@:%t\n",$realtime); $fwrite(fid,"Exp spi_data size:%0d\n",spi_exp.size()); $fwrite(fid,"Act spi_data size:%0d\n",spi_act.size()); end else if(pll_exp.size() != pll_act.size()) begin result = 1'b0; //$display("ScoreBoard(ERROR): regmdl & read datanum ARNT'T equal!"); //$display("Exp pll_trs size:%0d",pll_exp.size()); //$display("Act pll_trs size:%0d",pll_act.size()); $fwrite(fid,"ScoreBoard(ERROR): regmdl & read datanum ARNT'T equal\t@:%t!\n",$realtime); $fwrite(fid,"Exp pll_trs size:%0d\n",pll_exp.size()); $fwrite(fid,"Act pll_trs size:%0d\n",pll_act.size()); end else for(i=0;i