data/full_repos/permissive/184108896/pe_instr_decoder.v
[Errno 2] No such file or directory: 'preprocess.output'
1: b'%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:9: Cannot find include file: params.v\n`include "params.v" \n         ^~~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/184108896,data/full_repos/permissive/184108896/params.v\n             data/full_repos/permissive/184108896,data/full_repos/permissive/184108896/params.v.v\n             data/full_repos/permissive/184108896,data/full_repos/permissive/184108896/params.v.sv\n             params.v\n             params.v.v\n             params.v.sv\n             obj_dir/params.v\n             obj_dir/params.v.v\n             obj_dir/params.v.sv\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:15: syntax error, unexpected \')\', expecting \'[\'\n);\n^\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:17: Define or directive not defined: \'`logB\'\nparameter my_id = `logB\'b0;\n                  ^~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:19: syntax error, unexpected input\ninput [`INSTR_WIDTH-1: 0] instr_in;\n^~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:19: Define or directive not defined: \'`INSTR_WIDTH\'\ninput [`INSTR_WIDTH-1: 0] instr_in;\n       ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:21: Define or directive not defined: \'`OP_WIDTH\'\noutput [`OP_WIDTH-1: 0] command;\n        ^~~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:23: Define or directive not defined: \'`OP_WIDTH\'\nreg [`OP_WIDTH-1: 0] command;\n     ^~~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:24: Define or directive not defined: \'`OP_WIDTH\'\nwire [`OP_WIDTH-1: 0] op;\n      ^~~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:25: Define or directive not defined: \'`logB\'\nwire [`logB-1: 0] id;\n      ^~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:27: syntax error, unexpected assign\nassign id = instr_in[`INSTR_WIDTH-2: `OP_WIDTH];\n^~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:27: Define or directive not defined: \'`INSTR_WIDTH\'\nassign id = instr_in[`INSTR_WIDTH-2: `OP_WIDTH];\n                     ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:27: Define or directive not defined: \'`OP_WIDTH\'\nassign id = instr_in[`INSTR_WIDTH-2: `OP_WIDTH];\n                                     ^~~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:28: Define or directive not defined: \'`OP_WIDTH\'\nassign op = instr_in[`OP_WIDTH-1:0];\n                     ^~~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:29: Define or directive not defined: \'`INSTR_WIDTH\'\nassign fwd = instr_in[`INSTR_WIDTH-1];\n                      ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:36: Define or directive not defined: \'`READ0\'\n  `READ0:\n  ^~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:38: Define or directive not defined: \'`FORWARD\'\n   command <= `FORWARD;\n              ^~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:40: Define or directive not defined: \'`READ1\'\n  `READ1:\n  ^~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:42: Define or directive not defined: \'`FORWARD\'\n   command <= `FORWARD;\n              ^~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:44: Define or directive not defined: \'`COMPUTE\'\n  `COMPUTE:\n  ^~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:46: Define or directive not defined: \'`COMPUTE\'\n   command <= `COMPUTE;\n              ^~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:50: Define or directive not defined: \'`FORWARD\'\n   command <= `FORWARD;\n              ^~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:61: Define or directive not defined: \'`COMPUTE\'\n  if (op == `COMPUTE)\n            ^~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:63: Define or directive not defined: \'`COMPUTE\'\n   command <= `COMPUTE;\n              ^~~~~~~~\n%Error: data/full_repos/permissive/184108896/pe_instr_decoder.v:67: Define or directive not defined: \'`IDLE\'\n   command <= `IDLE;\n              ^~~~~\n%Error: Exiting due to 24 error(s)\n'
module pe_instr_decoder(
	instr_in,

	command,
);

parameter my_id = `logB'b0;

input [`INSTR_WIDTH-1: 0] instr_in;

output [`OP_WIDTH-1: 0] command;

reg [`OP_WIDTH-1: 0] command;
wire [`OP_WIDTH-1: 0] op;
wire [`logB-1: 0] id;

assign id = instr_in[`INSTR_WIDTH-2: `OP_WIDTH];
assign op = instr_in[`OP_WIDTH-1:0];
assign fwd = instr_in[`INSTR_WIDTH-1];

always @(*)
begin
	if (my_id < id)
	begin
		case (op)
		`READ0:
		begin
			command <= `FORWARD;
		end
		`READ1:
		begin
			command <= `FORWARD;
		end
		`COMPUTE:
		begin
			command <= `COMPUTE;
		end
		default:
		begin
			command <= `FORWARD;
		end
		endcase
	end
	else
	if (my_id == id)
	begin
		command <= op;
	end
	else
	begin
		if (op == `COMPUTE)
		begin
			command <= `COMPUTE;
		end
		else
		begin
			command <= `IDLE;
		end
	end
end

endmodule
module pe_instr_decoder(
	instr_in,

	command,
);


parameter my_id = `logB'b0;

input [`INSTR_WIDTH-1: 0] instr_in;

output [`OP_WIDTH-1: 0] command;

reg [`OP_WIDTH-1: 0] command;
wire [`OP_WIDTH-1: 0] op;
wire [`logB-1: 0] id;

assign id = instr_in[`INSTR_WIDTH-2: `OP_WIDTH];
assign op = instr_in[`OP_WIDTH-1:0];
assign fwd = instr_in[`INSTR_WIDTH-1];

always @(*)
begin
	if (my_id < id)
	begin
		case (op)
		`READ0:
		begin
			command <= `FORWARD;
		end
		`READ1:
		begin
			command <= `FORWARD;
		end
		`COMPUTE:
		begin
			command <= `COMPUTE;
		end
		default:
		begin
			command <= `FORWARD;
		end
		endcase
	end
	else
	if (my_id == id)
	begin
		command <= op;
	end
	else
	begin
		if (op == `COMPUTE)
		begin
			command <= `COMPUTE;
		end
		else
		begin
			command <= `IDLE;
		end
	end
end

endmodule