module pc_unit ( new_address, current_pc, clock, load, incpc ); output [15:0] current_pc; reg [15:0] current_pc; input clock, load, incpc; input [15:0] new_address; `include ".\\timing.v" initial begin current_pc = 0; end always@(posedge incpc or posedge load) case(load) 0: begin #TPDINC current_pc = current_pc + 1; $display("%t: PC incremented %m PC=%h",$time,current_pc); end 1: begin current_pc = new_address; $display("%t: PC loaded %m PC=%h",$time,current_pc); end default: $display("%t (%m):Illegal value of load: %b",$time, load); endcase endmodule