// // test module for RiSC cpu // module top (); reg clk; RiSC cpu(clk); integer j; initial begin #1 $readmemh("init.dat", cpu.m); #10000 $stop; end always begin #5 clk = 0; #5 clk = 1; $display("-------------"); $display("RF: %h %h %h %h %h %h %h %h", cpu.rf[0], cpu.rf[1], cpu.rf[2], cpu.rf[3], cpu.rf[4], cpu.rf[5], cpu.rf[6], cpu.rf[7]); $display(" pc - %h", cpu.pc); $display(" IFID - %h %h", cpu.IFID_instr, cpu.IFID_pc); $display(" IDEX - %h %h %h %h %h %h %h", cpu.IDEX_op, cpu.IDEX_rT, cpu.IDEX_pc, cpu.IDEX_x, cpu.IDEX_arg0, cpu.IDEX_arg2, cpu.IDEX_arg1); $display("EXMEM - %h %h %h %h %h %h", cpu.EXMEM_op, cpu.EXMEM_rT, cpu.EXMEM_pc, cpu.EXMEM_x, cpu.EXMEM_stdata, cpu.EXMEM_aluout); $display("MEMWB - %h %h %h %h", cpu.MEMWB_rT, cpu.MEMWB_pc, cpu.MEMWB_x, cpu.MEMWB_rfdata); $display(""); for (j=0; j<256; j=j+16) $display("MEM %h %h %h %h %h %h %h %h %h %h %h %h %h %h %h %h", cpu.m[j+0], cpu.m[j+1], cpu.m[j+2], cpu.m[j+3], cpu.m[j+4], cpu.m[j+5], cpu.m[j+6], cpu.m[j+7], cpu.m[j+8], cpu.m[j+9], cpu.m[j+10], cpu.m[j+11], cpu.m[j+12], cpu.m[j+13], cpu.m[j+14], cpu.m[j+15]); end endmodule