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_rx { string name; han rx_packet p; han task gen_pkts(); task num_pkts(integer pkt_num); } han this.name = name; this.pkt_num = 6; han } task pkt_gen_rx::gen_pkts(){ integer i; bit status; display("Packet generation started "); p = new(); 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_rx::num_pkts(integer pkt_num){ this.pkt_num = pkt_num ; } `endif |