vt_decode.v 5.87 KB
/*
*************************************************************************
*									*
*               Copyright (C) 1994, Silicon Graphics, Inc.		*
*									*
*  These coded instructions, statements, and computer programs  contain	*
*  unpublished  proprietary  information of Silicon Graphics, Inc., and	*
*  are protected by Federal copyright  law.  They  may not be disclosed	*
*  to  third  parties  or copied or duplicated in any form, in whole or	*
*  in part, without the prior written consent of Silicon Graphics, Inc.	*
*									*
*************************************************************************
*/

// $Id: 

// vt_decode.v:	vt register address decode, 5->32,

`timescale 1ns / 10ps

module vt_decode(
		  rd_inst,
		  branch_or_addr_unbuf,
		  su_inst_6_unbuf,
		  su_inst_15_unbuf,
		  rd_inst_buf,
		  branch_or_addr,
		  su_inst6,
		  su_inst15
		);

input [63:0] rd_inst;

input [11:0] branch_or_addr_unbuf;
input su_inst_6_unbuf;
input su_inst_15_unbuf;

output [11:0] branch_or_addr;
output [63:0] rd_inst_buf;      // buffered instruction to rspbusses
output su_inst6;
output su_inst15;


ni01d7 br_buf_00(.i(branch_or_addr_unbuf[0]), .z(branch_or_addr[0]));
ni01d7 br_buf_01(.i(branch_or_addr_unbuf[1]), .z(branch_or_addr[1]));
ni01d7 br_buf_02(.i(branch_or_addr_unbuf[2]), .z(branch_or_addr[2]));
ni01d7 br_buf_03(.i(branch_or_addr_unbuf[3]), .z(branch_or_addr[3]));
ni01d7 br_buf_04(.i(branch_or_addr_unbuf[4]), .z(branch_or_addr[4]));
ni01d7 br_buf_05(.i(branch_or_addr_unbuf[5]), .z(branch_or_addr[5]));
ni01d7 br_buf_06(.i(branch_or_addr_unbuf[6]), .z(branch_or_addr[6]));
ni01d7 br_buf_07(.i(branch_or_addr_unbuf[7]), .z(branch_or_addr[7]));
ni01d7 br_buf_08(.i(branch_or_addr_unbuf[8]), .z(branch_or_addr[8]));
ni01d7 br_buf_09(.i(branch_or_addr_unbuf[9]), .z(branch_or_addr[9]));
ni01d7 br_buf_10(.i(branch_or_addr_unbuf[10]), .z(branch_or_addr[10]));
ni01d7 br_buf_11(.i(branch_or_addr_unbuf[11]), .z(branch_or_addr[11]));

ni01d7 su_inst_buf_6(.i(su_inst_6_unbuf), .z(su_inst6));
ni01d7 su_inst_buf_15(.i(su_inst_15_unbuf), .z(su_inst15));

// buffer rd_inst to send over to rspbusses

ni01d7 rd_inst_buf_0(.i(rd_inst[0]), .z(rd_inst_buf[0]));
ni01d7 rd_inst_buf_1(.i(rd_inst[1]), .z(rd_inst_buf[1]));
ni01d7 rd_inst_buf_2(.i(rd_inst[2]), .z(rd_inst_buf[2]));
ni01d7 rd_inst_buf_3(.i(rd_inst[3]), .z(rd_inst_buf[3]));
ni01d7 rd_inst_buf_4(.i(rd_inst[4]), .z(rd_inst_buf[4]));
ni01d7 rd_inst_buf_5(.i(rd_inst[5]), .z(rd_inst_buf[5]));
ni01d7 rd_inst_buf_6(.i(rd_inst[6]), .z(rd_inst_buf[6]));
ni01d7 rd_inst_buf_7(.i(rd_inst[7]), .z(rd_inst_buf[7]));
ni01d7 rd_inst_buf_8(.i(rd_inst[8]), .z(rd_inst_buf[8]));
ni01d7 rd_inst_buf_9(.i(rd_inst[9]), .z(rd_inst_buf[9]));
ni01d7 rd_inst_buf_10(.i(rd_inst[10]), .z(rd_inst_buf[10]));
ni01d7 rd_inst_buf_11(.i(rd_inst[11]), .z(rd_inst_buf[11]));
ni01d7 rd_inst_buf_12(.i(rd_inst[12]), .z(rd_inst_buf[12]));
ni01d7 rd_inst_buf_13(.i(rd_inst[13]), .z(rd_inst_buf[13]));
ni01d7 rd_inst_buf_14(.i(rd_inst[14]), .z(rd_inst_buf[14]));
ni01d7 rd_inst_buf_15(.i(rd_inst[15]), .z(rd_inst_buf[15]));
ni01d7 rd_inst_buf_16(.i(rd_inst[16]), .z(rd_inst_buf[16]));
ni01d7 rd_inst_buf_17(.i(rd_inst[17]), .z(rd_inst_buf[17]));
ni01d7 rd_inst_buf_18(.i(rd_inst[18]), .z(rd_inst_buf[18]));
ni01d7 rd_inst_buf_19(.i(rd_inst[19]), .z(rd_inst_buf[19]));
ni01d7 rd_inst_buf_20(.i(rd_inst[20]), .z(rd_inst_buf[20]));
ni01d7 rd_inst_buf_21(.i(rd_inst[21]), .z(rd_inst_buf[21]));
ni01d7 rd_inst_buf_22(.i(rd_inst[22]), .z(rd_inst_buf[22]));
ni01d7 rd_inst_buf_23(.i(rd_inst[23]), .z(rd_inst_buf[23]));
ni01d7 rd_inst_buf_24(.i(rd_inst[24]), .z(rd_inst_buf[24]));
ni01d7 rd_inst_buf_25(.i(rd_inst[25]), .z(rd_inst_buf[25]));
ni01d7 rd_inst_buf_26(.i(rd_inst[26]), .z(rd_inst_buf[26]));
ni01d7 rd_inst_buf_27(.i(rd_inst[27]), .z(rd_inst_buf[27]));
ni01d7 rd_inst_buf_28(.i(rd_inst[28]), .z(rd_inst_buf[28]));
ni01d7 rd_inst_buf_29(.i(rd_inst[29]), .z(rd_inst_buf[29]));
ni01d7 rd_inst_buf_30(.i(rd_inst[30]), .z(rd_inst_buf[30]));
ni01d7 rd_inst_buf_31(.i(rd_inst[31]), .z(rd_inst_buf[31]));
ni01d7 rd_inst_buf_32(.i(rd_inst[32]), .z(rd_inst_buf[32]));
ni01d7 rd_inst_buf_33(.i(rd_inst[33]), .z(rd_inst_buf[33]));
ni01d7 rd_inst_buf_34(.i(rd_inst[34]), .z(rd_inst_buf[34]));
ni01d7 rd_inst_buf_35(.i(rd_inst[35]), .z(rd_inst_buf[35]));
ni01d7 rd_inst_buf_36(.i(rd_inst[36]), .z(rd_inst_buf[36]));
ni01d7 rd_inst_buf_37(.i(rd_inst[37]), .z(rd_inst_buf[37]));
ni01d7 rd_inst_buf_38(.i(rd_inst[38]), .z(rd_inst_buf[38]));
ni01d7 rd_inst_buf_39(.i(rd_inst[39]), .z(rd_inst_buf[39]));
ni01d7 rd_inst_buf_40(.i(rd_inst[40]), .z(rd_inst_buf[40]));
ni01d7 rd_inst_buf_41(.i(rd_inst[41]), .z(rd_inst_buf[41]));
ni01d7 rd_inst_buf_42(.i(rd_inst[42]), .z(rd_inst_buf[42]));
ni01d7 rd_inst_buf_43(.i(rd_inst[43]), .z(rd_inst_buf[43]));
ni01d7 rd_inst_buf_44(.i(rd_inst[44]), .z(rd_inst_buf[44]));
ni01d7 rd_inst_buf_45(.i(rd_inst[45]), .z(rd_inst_buf[45]));
ni01d7 rd_inst_buf_46(.i(rd_inst[46]), .z(rd_inst_buf[46]));
ni01d7 rd_inst_buf_47(.i(rd_inst[47]), .z(rd_inst_buf[47]));
ni01d7 rd_inst_buf_48(.i(rd_inst[48]), .z(rd_inst_buf[48]));
ni01d7 rd_inst_buf_49(.i(rd_inst[49]), .z(rd_inst_buf[49]));
ni01d7 rd_inst_buf_50(.i(rd_inst[50]), .z(rd_inst_buf[50]));
ni01d7 rd_inst_buf_51(.i(rd_inst[51]), .z(rd_inst_buf[51]));
ni01d7 rd_inst_buf_52(.i(rd_inst[52]), .z(rd_inst_buf[52]));
ni01d7 rd_inst_buf_53(.i(rd_inst[53]), .z(rd_inst_buf[53]));
ni01d7 rd_inst_buf_54(.i(rd_inst[54]), .z(rd_inst_buf[54]));
ni01d7 rd_inst_buf_55(.i(rd_inst[55]), .z(rd_inst_buf[55]));
ni01d7 rd_inst_buf_56(.i(rd_inst[56]), .z(rd_inst_buf[56]));
ni01d7 rd_inst_buf_57(.i(rd_inst[57]), .z(rd_inst_buf[57]));
ni01d7 rd_inst_buf_58(.i(rd_inst[58]), .z(rd_inst_buf[58]));
ni01d7 rd_inst_buf_59(.i(rd_inst[59]), .z(rd_inst_buf[59]));
ni01d7 rd_inst_buf_60(.i(rd_inst[60]), .z(rd_inst_buf[60]));
ni01d7 rd_inst_buf_61(.i(rd_inst[61]), .z(rd_inst_buf[61]));
ni01d7 rd_inst_buf_62(.i(rd_inst[62]), .z(rd_inst_buf[62]));
ni01d7 rd_inst_buf_63(.i(rd_inst[63]), .z(rd_inst_buf[63]));

endmodule