# -*- python -*-

Module('caba:reconf:dspin_router',
    classname = 'soclib::caba::DspinRouter',
    tmpl_parameters = [ parameter.Int('flit_width')],
    header_files = ['../source/include/dspin_router.h'],
    implementation_files = ['../source/src/dspin_router.cpp'],
    interface_files = ['../../include/soclib/dspin_router_config.h'],
    ports = [
        Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
        Port('caba:clock_in', 'p_clk', auto = 'clock'),
        Port('caba:dspin_output', 'p_out', 5, dspin_data_size = parameter.Reference('flit_width')),
        Port('caba:dspin_input', 'p_in', 5, dspin_data_size = parameter.Reference('flit_width')),
    ],
    instance_parameters = [
        parameter.Int('x'),
        parameter.Int('y'),
        parameter.Int('x_width'),
        parameter.Int('y_width'),
        parameter.Int('in_fifo_depth'),
        parameter.Int('out_fifo_depth'),
        parameter.Bool('broadcast_supported'),
    ],
    uses = [
        Uses('caba:base_module'),
        Uses('caba:generic_fifo'),
    ],
)

# vim: ts=4 : sts=4 : sw=4 : et
