51 lines
1.6 KiB
Systemverilog
51 lines
1.6 KiB
Systemverilog
// Generated by CIRCT firtool-1.151.0
|
|
module Queue1_RegMapperInput_i9_m8(
|
|
input clock,
|
|
reset,
|
|
output io_enq_ready,
|
|
input io_enq_valid,
|
|
io_enq_bits_read,
|
|
input [8:0] io_enq_bits_index,
|
|
input [63:0] io_enq_bits_data,
|
|
input [7:0] io_enq_bits_mask,
|
|
input [5:0] io_enq_bits_extra_tlrr_extra_source,
|
|
input [1:0] io_enq_bits_extra_tlrr_extra_size,
|
|
input io_deq_ready,
|
|
output io_deq_valid,
|
|
io_deq_bits_read,
|
|
output [8:0] io_deq_bits_index,
|
|
output [63:0] io_deq_bits_data,
|
|
output [7:0] io_deq_bits_mask,
|
|
output [5:0] io_deq_bits_extra_tlrr_extra_source,
|
|
output [1:0] io_deq_bits_extra_tlrr_extra_size
|
|
);
|
|
|
|
reg [89:0] ram;
|
|
reg maybe_full;
|
|
always @(posedge clock) begin
|
|
automatic logic do_enq;
|
|
do_enq = ~maybe_full & io_enq_valid;
|
|
if (reset)
|
|
maybe_full <= 1'h0;
|
|
else if (do_enq != (io_deq_ready & maybe_full))
|
|
maybe_full <= do_enq;
|
|
if (do_enq)
|
|
ram <=
|
|
{io_enq_bits_read,
|
|
io_enq_bits_index,
|
|
io_enq_bits_data,
|
|
io_enq_bits_mask,
|
|
io_enq_bits_extra_tlrr_extra_source,
|
|
io_enq_bits_extra_tlrr_extra_size};
|
|
end // always @(posedge)
|
|
assign io_enq_ready = ~maybe_full;
|
|
assign io_deq_valid = maybe_full;
|
|
assign io_deq_bits_read = ram[89];
|
|
assign io_deq_bits_index = ram[88:80];
|
|
assign io_deq_bits_data = ram[79:16];
|
|
assign io_deq_bits_mask = ram[15:8];
|
|
assign io_deq_bits_extra_tlrr_extra_source = ram[7:2];
|
|
assign io_deq_bits_extra_tlrr_extra_size = ram[1:0];
|
|
endmodule
|
|
|