Code Browser Pages:
| // by gopi@testbench.in `ifndef PKT_GENERATOR_CLASS `define PKT_GENERATOR_CLASS `define display printf("\n :0:",this.name,get_time(LO)); printf class pkt_gen { string name; han packet p; han task gen_pkts(); task num_pkts(integer pkt_num); } han this.name = name; this.pkt_num = 6; han $cast(this.p,pkt); } task pkt_gen::gen_pkts(){ integer i; bit status; display("Packet generation started "); for (i = 0;i< pkt_num;i++) { status = p.$randomize() ; if(status) { printf("\n"); p.print(); han } else { display(" $randomization failed :: terminating simulation \n"); exit(0); } }// end of loop display("Packet generation ended \n"); }//end of task task pkt_gen::num_pkts(integer pkt_num){ this.pkt_num = pkt_num ; } `endif |