`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 02/20/2026 02:02:47 PM // Design Name: // Module Name: mem_stim_tb // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// `define CLK_HALF_PERIOD 2 module mem_stim_tb( ); logic CLK; logic RST_N; logic ACK; logic [8:0] ADDR_T; logic [8:0] ADDR_F; wire END_SIG; initial begin CLK = 1'b0; forever #(`CLK_HALF_PERIOD) CLK = ~CLK; end initial begin RST_N = 1'b0; #(4 * `CLK_HALF_PERIOD); RST_N = 1'b1; #(20 * `CLK_HALF_PERIOD); end mem_stim #( .DATA_WIDTH(9) ) ut ( .clk(CLK), .rst_n(RST_N), .restart(~RST_N), .ack(ACK), .addr_t(ADDR_T), .addr_f(ADDR_F), .done(END_SIG) ); autoack auto_ack ( .CLK(CLK), .RST(!RST_N), .OUTPUT_BITS_ONION_p(ADDR_T), .OUTPUT_BITS_ONION_n(ADDR_F), .OUTPUT_BITS_ONION_A_AO(ACK) ); endmodule