// // Generated by Bluespec Compiler, version 2018.10.beta1 (build e1df8052c, 2018-10-17) // // // // // Ports: // Name I/O size props // brAddrCalc O 64 // brAddrCalc_pc I 64 // brAddrCalc_val I 64 // brAddrCalc_iType I 5 // brAddrCalc_imm I 64 // brAddrCalc_taken I 1 // // Combinational paths from inputs to outputs: // (brAddrCalc_pc, // brAddrCalc_val, // brAddrCalc_iType, // brAddrCalc_imm, // brAddrCalc_taken) -> brAddrCalc // // `ifdef BSV_ASSIGNMENT_DELAY `else `define BSV_ASSIGNMENT_DELAY `endif `ifdef BSV_POSITIVE_RESET `define BSV_RESET_VALUE 1'b1 `define BSV_RESET_EDGE posedge `else `define BSV_RESET_VALUE 1'b0 `define BSV_RESET_EDGE negedge `endif module module_brAddrCalc(brAddrCalc_pc, brAddrCalc_val, brAddrCalc_iType, brAddrCalc_imm, brAddrCalc_taken, brAddrCalc); // value method brAddrCalc input [63 : 0] brAddrCalc_pc; input [63 : 0] brAddrCalc_val; input [4 : 0] brAddrCalc_iType; input [63 : 0] brAddrCalc_imm; input brAddrCalc_taken; output [63 : 0] brAddrCalc; // signals for module outputs reg [63 : 0] brAddrCalc; // remaining internal signals wire [63 : 0] brAddrCalc_pc_PLUS_brAddrCalc_imm___d2, brAddrCalc_val_PLUS_brAddrCalc_imm__q1, pcPlus4__h27; // value method brAddrCalc always@(brAddrCalc_iType or pcPlus4__h27 or brAddrCalc_pc_PLUS_brAddrCalc_imm___d2 or brAddrCalc_val_PLUS_brAddrCalc_imm__q1 or brAddrCalc_taken) begin case (brAddrCalc_iType) 5'd8: brAddrCalc = brAddrCalc_pc_PLUS_brAddrCalc_imm___d2; 5'd9: brAddrCalc = { brAddrCalc_val_PLUS_brAddrCalc_imm__q1[63:1], 1'b0 }; 5'd10: brAddrCalc = brAddrCalc_taken ? brAddrCalc_pc_PLUS_brAddrCalc_imm___d2 : pcPlus4__h27; default: brAddrCalc = pcPlus4__h27; endcase end // remaining internal signals assign brAddrCalc_pc_PLUS_brAddrCalc_imm___d2 = brAddrCalc_pc + brAddrCalc_imm ; assign brAddrCalc_val_PLUS_brAddrCalc_imm__q1 = brAddrCalc_val + brAddrCalc_imm ; assign pcPlus4__h27 = brAddrCalc_pc + 64'd4 ; endmodule // module_brAddrCalc