| module IndirectBranchPredictor ( | |
| clk, | |
| rst, | |
| IN_clearICache, | |
| IN_ibUpdates, | |
| OUT_predDst | |
| ); | |
| parameter NUM_UPDATES = 2; | |
| input wire clk; | |
| input wire rst; | |
| input wire IN_clearICache; | |
| input wire [(NUM_UPDATES * 63) - 1:0] IN_ibUpdates; | |
| output reg [30:0] OUT_predDst; | |
| integer i; | |
| always @(posedge clk) | |
| if (rst || IN_clearICache) | |
| OUT_predDst <= 0; | |
| else | |
| for (i = 0; i < NUM_UPDATES; i = i + 1) | |
| if (IN_ibUpdates[i * 63]) | |
| OUT_predDst <= IN_ibUpdates[(i * 63) + 31-:31]; | |
| endmodule |