Line 54... |
Line 54... |
codebuf0, codebuf1,
|
codebuf0, codebuf1,
|
btgtA, btgtB, btgtC, btgtD,
|
btgtA, btgtB, btgtC, btgtD,
|
nop_fetchbuf,
|
nop_fetchbuf,
|
take_branch0, take_branch1,
|
take_branch0, take_branch1,
|
stompedRets,
|
stompedRets,
|
|
pred_on,
|
panic
|
panic
|
);
|
);
|
parameter AMSB = `AMSB;
|
parameter AMSB = `AMSB;
|
parameter RSTPC = 64'hFFFC0100;
|
parameter RSTPC = 64'hFFFC0100;
|
parameter TRUE = 1'b1;
|
parameter TRUE = 1'b1;
|
Line 126... |
Line 127... |
input [AMSB:0] btgtD;
|
input [AMSB:0] btgtD;
|
input [3:0] nop_fetchbuf;
|
input [3:0] nop_fetchbuf;
|
output take_branch0;
|
output take_branch0;
|
output take_branch1;
|
output take_branch1;
|
input [3:0] stompedRets;
|
input [3:0] stompedRets;
|
|
input pred_on;
|
output reg [3:0] panic;
|
output reg [3:0] panic;
|
integer n;
|
integer n;
|
|
|
//`include "FT64_decode.vh"
|
//`include "FT64_decode.vh"
|
|
|
Line 181... |
Line 183... |
if (ins[`INSTRUCTION_OP]==`CMPRSSD)
|
if (ins[`INSTRUCTION_OP]==`CMPRSSD)
|
fnInsLength = 3'd2;
|
fnInsLength = 3'd2;
|
else
|
else
|
`endif
|
`endif
|
case(ins[7:6])
|
case(ins[7:6])
|
2'd0: fnInsLength = 3'd4;
|
2'd0: fnInsLength = 3'd4|pred_on;
|
2'd1: fnInsLength = 3'd6;
|
2'd1: fnInsLength = 3'd6|pred_on;
|
default: fnInsLength = 3'd2;
|
default: fnInsLength = 3'd2|pred_on;
|
endcase
|
endcase
|
endfunction
|
endfunction
|
|
|
wire [2:0] fetchbufA_inslen;
|
wire [2:0] fetchbufA_inslen;
|
wire [2:0] fetchbufB_inslen;
|
wire [2:0] fetchbufB_inslen;
|
wire [2:0] fetchbufC_inslen;
|
wire [2:0] fetchbufC_inslen;
|
wire [2:0] fetchbufD_inslen;
|
wire [2:0] fetchbufD_inslen;
|
FT64_InsLength uilA (fetchbufA_instr, fetchbufA_inslen);
|
FT64_InsLength uilA (fetchbufA_instr, fetchbufA_inslen, pred_on);
|
FT64_InsLength uilB (fetchbufB_instr, fetchbufB_inslen);
|
FT64_InsLength uilB (fetchbufB_instr, fetchbufB_inslen, pred_on);
|
FT64_InsLength uilC (fetchbufC_instr, fetchbufC_inslen);
|
FT64_InsLength uilC (fetchbufC_instr, fetchbufC_inslen, pred_on);
|
FT64_InsLength uilD (fetchbufD_instr, fetchbufD_inslen);
|
FT64_InsLength uilD (fetchbufD_instr, fetchbufD_inslen, pred_on);
|
|
|
wire [47:0] xinsn0;
|
wire [47:0] xinsn0;
|
wire [47:0] xinsn1;
|
wire [47:0] xinsn1;
|
|
|
FT64_iexpander ux1
|
FT64_iexpander ux1
|