www.pudn.com > SHA1.zip > mux_wt.v, change:2001-01-30,size:1675b


module mux_wt (temp,	sel, out); 
	 
	input [511:0] temp; 
	input [3:0] sel; 
 
	output [127:0] out; 
	reg [127:0] out; 
 
	always @(temp or sel or out)  
		 
		case (sel)	 
			4'B 0000 : out <= { temp[447:416], temp[287:256], temp[95:64], temp[31:0] }; 
 			 
 			4'B 0001 : out <= { temp[479:448], temp[319:288], temp[127:96], temp[63:32] }; 
 
			4'B 0010 : out <= { temp[511:480], temp[351:320], temp[159:128], temp[95:64] }; 
						 
			4'B 0011 : out <= { temp[31:0], temp[383:352], temp[191:160], temp[127:96] }; 
 
			4'B 0100 : out <= { temp[63:32], temp[415:384], temp[223:192], temp[159:128] }; 
						 
 			4'B 0101 : out <= { temp[95:64], temp[447:416], temp[255:224], temp[191:160] };	 
 
			4'B 0110 : out <= { temp[127:96], temp[479:448], temp[287:256], temp[223:192] }; 
						 
 			4'B 0111 : out <= { temp[159:128], temp[511:480], temp[319:288], temp[255:224] }; 
						 
			4'B 1000 : out <= { temp[191:160], temp[31:0], temp[351:320], temp[287:256] }; 
						 
			4'B 1001 : out <= { temp[223:192], temp[63:32], temp[383:352], temp[319:288] }; 
						 
			4'B 1010 : out <= { temp[255:224], temp[95:64], temp[415:384], temp[351:320] }; 
						 
			4'B 1011 : out <= { temp[287:256], temp[127:96], temp[447:416], temp[383:352] }; 
				 
			4'B 1100 : out <= { temp[319:288], temp[159:128], temp[479:448], temp[415:384] }; 
						 
			4'B 1101 : out <= { temp[351:320], temp[191:160], temp[511:480], temp[447:416] }; 
						 
			4'B 1110 : out <= { temp[383:352], temp[223:192], temp[31:0], temp[479:448] }; 
						 
			4'B 1111 : out <= { temp[415:384], temp[255:224], temp[63:32], temp[511:480] }; 
			 
			 
			 
						 
		endcase 
		 
endmodule