116 lines
4.1 KiB
Verilog
116 lines
4.1 KiB
Verilog
//
|
|
// Generated by Bluespec Compiler, version 2025.01.1 (build 65e3a87)
|
|
//
|
|
// On Tue Feb 17 13:06:26 GMT 2026
|
|
//
|
|
//
|
|
// Ports:
|
|
// Name I/O size props
|
|
// wrap64_fromMem O 115
|
|
// wrap64_fromMem_mem_cap I 89
|
|
//
|
|
// Combinational paths from inputs to outputs:
|
|
// wrap64_fromMem_mem_cap -> wrap64_fromMem
|
|
//
|
|
//
|
|
|
|
`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_wrap64_fromMem(wrap64_fromMem_mem_cap,
|
|
wrap64_fromMem);
|
|
// value method wrap64_fromMem
|
|
input [88 : 0] wrap64_fromMem_mem_cap;
|
|
output [114 : 0] wrap64_fromMem;
|
|
|
|
// signals for module outputs
|
|
wire [114 : 0] wrap64_fromMem;
|
|
|
|
// remaining internal signals
|
|
wire [88 : 0] thin__h113;
|
|
wire [31 : 0] x__h428;
|
|
wire [21 : 0] IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d33;
|
|
wire [7 : 0] bounds_topBits__h585,
|
|
res_addrBits__h131,
|
|
x__h618,
|
|
x__h638,
|
|
x__h653;
|
|
wire [5 : 0] x__h462;
|
|
wire [4 : 0] IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d52;
|
|
wire [2 : 0] repBound__h698, tb__h695;
|
|
wire [1 : 0] carry_out__h553,
|
|
impliedTopBits__h555,
|
|
len_correction__h554,
|
|
x__h635;
|
|
wire IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d39,
|
|
IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d40,
|
|
IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d42;
|
|
|
|
// value method wrap64_fromMem
|
|
assign wrap64_fromMem =
|
|
{ thin__h113[88],
|
|
thin__h113[31:0],
|
|
res_addrBits__h131,
|
|
thin__h113[87:46],
|
|
IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d33,
|
|
repBound__h698,
|
|
IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d39,
|
|
IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d40,
|
|
IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d52 } ;
|
|
|
|
// remaining internal signals
|
|
assign IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d33 =
|
|
{ thin__h113[46] ? x__h462 : 6'd0, x__h618, x__h638 } ;
|
|
assign IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d39 =
|
|
tb__h695 < repBound__h698 ;
|
|
assign IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d40 =
|
|
x__h638[7:5] < repBound__h698 ;
|
|
assign IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d42 =
|
|
res_addrBits__h131[7:5] < repBound__h698 ;
|
|
assign IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d52 =
|
|
{ IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d42,
|
|
(IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d39 ==
|
|
IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d42) ?
|
|
2'd0 :
|
|
((IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d39 &&
|
|
!IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d42) ?
|
|
2'd1 :
|
|
2'd3),
|
|
(IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d40 ==
|
|
IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d42) ?
|
|
2'd0 :
|
|
((IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d40 &&
|
|
!IF_wrap64_fromMem_mem_cap_XOR_15_CONCAT_DONTCA_ETC___d42) ?
|
|
2'd1 :
|
|
2'd3) } ;
|
|
assign bounds_topBits__h585 = { 2'h2, thin__h113[45:43], 3'd0 } ;
|
|
assign carry_out__h553 = (x__h653[5:0] < x__h638[5:0]) ? 2'b01 : 2'b0 ;
|
|
assign impliedTopBits__h555 = x__h635 + len_correction__h554 ;
|
|
assign len_correction__h554 = thin__h113[46] ? 2'b01 : 2'b0 ;
|
|
assign repBound__h698 = x__h638[7:5] - 3'b001 ;
|
|
assign res_addrBits__h131 =
|
|
thin__h113[46] ? x__h428[7:0] : thin__h113[7:0] ;
|
|
assign tb__h695 = { impliedTopBits__h555, x__h653[5] } ;
|
|
assign thin__h113 = wrap64_fromMem_mem_cap ^ 89'h00007D55555430200000000 ;
|
|
assign x__h428 = thin__h113[31:0] >> x__h462 ;
|
|
assign x__h462 = { thin__h113[42:40], thin__h113[34:32] } ;
|
|
assign x__h618 = { impliedTopBits__h555, x__h653[5:0] } ;
|
|
assign x__h635 = x__h638[7:6] + carry_out__h553 ;
|
|
assign x__h638 =
|
|
thin__h113[46] ?
|
|
{ thin__h113[39:35], 3'd0 } :
|
|
thin__h113[39:32] ;
|
|
assign x__h653 = thin__h113[46] ? bounds_topBits__h585 : thin__h113[47:40] ;
|
|
endmodule // module_wrap64_fromMem
|
|
|