data/full_repos/permissive/212394344/PCIM.v
1: b"%Error: data/full_repos/permissive/212394344/PCIM.v:39: Cannot find file containing module: 'Program_Memory'\nProgram_Memory PM(\n^~~~~~~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/212394344,data/full_repos/permissive/212394344/Program_Memory\n             data/full_repos/permissive/212394344,data/full_repos/permissive/212394344/Program_Memory.v\n             data/full_repos/permissive/212394344,data/full_repos/permissive/212394344/Program_Memory.sv\n             Program_Memory\n             Program_Memory.v\n             Program_Memory.sv\n             obj_dir/Program_Memory\n             obj_dir/Program_Memory.v\n             obj_dir/Program_Memory.sv\n%Error: Exiting due to 1 error(s)\n"
module PCIM(ins, Current_Address,jmp_loc, pc_mux_sel, Stall, Stall_pm, reset, clk);

input[7:0] jmp_loc;
input pc_mux_sel;
input Stall;
input Stall_pm;
input reset, clk;
output wire[23:0] ins;
output wire[7:0] Current_Address;

wire [7:0] CAJ,CAR,IA;
wire [23:0] ins_PM,PM_out;
reg [7:0] Hold_Address, Next_Address;
reg [23:0] ins_prv;

assign CAJ=(Stall==0)? Next_Address: Hold_Address;
assign CAR=(pc_mux_sel==0)? CAJ : jmp_loc;
assign Current_Address=(reset==0)? 8'b0 : CAR;
Program_Memory PM(
  .clka(clk),
  .addra(Current_Address),
  .douta(PM_out)
);




assign ins_PM=(Stall_pm==0)?PM_out : ins_prv;
assign ins=(reset==0)? 24'b0 : ins_PM;
assign IA=(Current_Address+ 8'b00000001);



wire [7:0] temp1,temp2;
assign temp1=(reset==1'b0)? 8'b00000000 :Current_Address ;                     
assign temp2=(reset==1'b0)? 8'b00000000 :IA ;                     

always @(posedge clk)
begin
	Hold_Address<=temp1;
	Next_Address<=temp2;
end



wire [23:0] temp3;
assign temp3 = (reset== 1'b0)? 24'b0 : ins ;                     
always @(posedge clk)
begin
	ins_prv <= temp3;
end

endmodule
module PCIM(ins, Current_Address,jmp_loc, pc_mux_sel, Stall, Stall_pm, reset, clk);


input[7:0] jmp_loc;
input pc_mux_sel;
input Stall;
input Stall_pm;
input reset, clk;
output wire[23:0] ins;
output wire[7:0] Current_Address;

wire [7:0] CAJ,CAR,IA;
wire [23:0] ins_PM,PM_out;
reg [7:0] Hold_Address, Next_Address;
reg [23:0] ins_prv;

assign CAJ=(Stall==0)? Next_Address: Hold_Address;
assign CAR=(pc_mux_sel==0)? CAJ : jmp_loc;
assign Current_Address=(reset==0)? 8'b0 : CAR;
Program_Memory PM(
  .clka(clk),
  .addra(Current_Address),
  .douta(PM_out)
);




assign ins_PM=(Stall_pm==0)?PM_out : ins_prv;
assign ins=(reset==0)? 24'b0 : ins_PM;
assign IA=(Current_Address+ 8'b00000001);



wire [7:0] temp1,temp2;
assign temp1=(reset==1'b0)? 8'b00000000 :Current_Address ;                     
assign temp2=(reset==1'b0)? 8'b00000000 :IA ;                     

always @(posedge clk)
begin
	Hold_Address<=temp1;
	Next_Address<=temp2;
end



wire [23:0] temp3;
assign temp3 = (reset== 1'b0)? 24'b0 : ins ;                     
always @(posedge clk)
begin
	ins_prv <= temp3;
end

endmodule