import os
import {ipc}

import cocotb


@cocotb.test()
def ram_test(dut):

    # connect the cocotb simulation to SST through {ipc}
    {driver_bind}
    _sock.{connect}(cocotb.plusargs["ipc_proc"])

    _sock.{send}(str(os.getpid()).encode())

    while True:
        signal = str(_sock.recv({buf_size}).decode("utf-8"))
        alive = int(signal[0])
        signal = signal[1:]
        if not alive:
            break
        {inputs}
        yield cocotb.triggers.Timer(1, units='ns')

        _outputs = (
            {outputs}
        )
        _sock.{send}(_outputs)

    _sock.close()
