Files
cheri-cap-lib/module_wrap64_getLength.v
2026-02-17 13:49:05 +00:00

58 lines
1.5 KiB
Verilog

//
// Generated by Bluespec Compiler, version 2025.01.1 (build 65e3a87)
//
// On Tue Feb 17 13:06:25 GMT 2026
//
//
// Ports:
// Name I/O size props
// wrap64_getLength O 33
// wrap64_getLength_cap I 115
//
// Combinational paths from inputs to outputs:
// wrap64_getLength_cap -> wrap64_getLength
//
//
`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_getLength(wrap64_getLength_cap,
wrap64_getLength);
// value method wrap64_getLength
input [114 : 0] wrap64_getLength_cap;
output [32 : 0] wrap64_getLength;
// signals for module outputs
wire [32 : 0] wrap64_getLength;
// remaining internal signals
wire [32 : 0] length__h66;
wire [9 : 0] base__h65, top__h64, x__h125;
// value method wrap64_getLength
assign wrap64_getLength =
(wrap64_getLength_cap[31:26] < 6'd26) ?
length__h66 :
33'h1FFFFFFFF ;
// remaining internal signals
assign base__h65 =
{ wrap64_getLength_cap[1:0], wrap64_getLength_cap[17:10] } ;
assign length__h66 = { 23'd0, x__h125 } << wrap64_getLength_cap[31:26] ;
assign top__h64 =
{ wrap64_getLength_cap[3:2], wrap64_getLength_cap[25:18] } ;
assign x__h125 = top__h64 - base__h65 ;
endmodule // module_wrap64_getLength