Files
gps/hardware/generated/genesys2-soc-verilog/Queue1_TLBundleA_a14d64s2k1z4u.sv
T
2026-08-06 22:14:52 +03:00

49 lines
1.4 KiB
Systemverilog

// Generated by CIRCT firtool-1.151.0
module Queue1_TLBundleA_a14d64s2k1z4u(
input clock,
reset,
output io_enq_ready,
input io_enq_valid,
input [2:0] io_enq_bits_opcode,
io_enq_bits_param,
input [3:0] io_enq_bits_size,
input [1:0] io_enq_bits_source,
input [13:0] io_enq_bits_address,
input [7:0] io_enq_bits_mask,
input [63:0] io_enq_bits_data,
input io_enq_bits_corrupt,
io_deq_ready,
output io_deq_valid,
output [2:0] io_deq_bits_opcode,
output [3:0] io_deq_bits_size,
output [1:0] io_deq_bits_source
);
reg [98: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_opcode,
io_enq_bits_param,
io_enq_bits_size,
io_enq_bits_source,
io_enq_bits_address,
io_enq_bits_mask,
io_enq_bits_data,
io_enq_bits_corrupt};
end // always @(posedge)
assign io_enq_ready = ~maybe_full;
assign io_deq_valid = maybe_full;
assign io_deq_bits_opcode = ram[98:96];
assign io_deq_bits_size = ram[92:89];
assign io_deq_bits_source = ram[88:87];
endmodule