TI_RRI(1)

NAME
ti_rri - Rlink Backend Server

SYNOPSIS
ti_rri [OPTION]... [COMMAND]...

DESCRIPTION
The ti_rri command creates a tclsh(1)-based Rlink backend server session. After loading all basic packages and shared libraries that implement the Tcl binding of the Rlink server the command
    -   creates the default rlc and rls commands representing the connection and the server objects
    -   loads additional Tcl packages when requested with --pack
    -   sets up logging and debug according to --log, --logl, --dmpl, and --tiol
    -   sets up connection timeout according to --tout
    -   starts an additional process if requested with --run
    -   opens a connection when requested with --fifo, --term, or --cuff
    -   and finally executes all remaining COMMANDS arguments as Tcl commands

If no COMMANDS are present or if the --int options are given an interactive mode is entered with all features of tclsh(1) with tclreadline loaded.

OPTIONS

--pack=plist
    load, with 'package require', additional packages. plist is a comma-separated list of package names. Note that the packages rutiltpp, rlinktpp, and rlink are automatically loaded already by ti_rri.

--run=cmd
    execute the shell command cmd as a subprocess before the rlink port is opened. This is mainly used to start ghdl(1)-based test benches, usually via the tbw(1) wrapper script.

--fifo[=name[,opts]]
    open a fifo type rlink port. It uses a named pipe and is usually employed in conjunction with the --run option. Optional arguments are

    name
        name prefix for the named pipe file names. Default is 'rlink_cext_fifo'. Two fifo's are generated, one with a '_tx' and one with a '_tx' appended to the name prefix.

    opts
        comma-separated list of further fifo port options:
        keep
            fifo is kept open on exit
        xon software flow control (xon/xoff)
        noinit
            defer link initialization (debug or test benches)
    Note: in general the default pipe names are used, thus name is rarely specified. If only options are given an empty name field must be specified like in --fifo=,xon.

--term[=name[,baud[,opts]]]
    open a serial port type rlink port. Optional arguments are

    name
        tty device name, default is 'USB0'. If name does not start with '/' the name is prefixed with '/dev/tty'. The special device name 'USBD' triggers the auto-detection of a Digilent board with an FT2232C-based interface.

    baud
        serial port baud rate, default is '115k'. Allowed baud rate settings are:
            2400, 4800, 9600, 19200, 19k, 38400, 38k, 57600, 57k, 115200, 115k, 230400, 230k, 460800, 460k, 500000, 500k, 921600, 921k, 1000000, 1000k, 1M, 1500000, 1500k, 2000000, 2000k, 2M, 2500000, 2500k, 3000000, 3000k, 3M, 4000000, 4000k, 4M, 5000000, 5000k, 5M, 6000000, 6000k, 6M, 1000000, 10000k, 10M, 12000000, 12000k, 12M

    opts
        comma-separated list of further term port options:
        break
            send a break, do autobaud
        cts hardware flow control (cts/rts)
        xon software flow control (xon/xoff)
        noinit
            defer link initialization (debug or test benches)

--cuff[=name[,opts]]
    open a USB via Cypress FX2 type rlink port. Optional arguments are

    name
        USB path, default derived from environment variables RETRO_FX2_VID and RETRO_FX2_PID.

    opts
        comma-separated list of further cuff port options:
        trace
            trace USB activities
        noinit
            defer link initialization (debug or test benches)

--log=file
    set log file name. Default is to write to stdout(3).

--logl=lvl
    set rlink logging level. Default is '2', allowed values are:
    0   no logging
    1   log rlink commands with communication errors
    2   log rlink commands with failed checks
    3   log all rlink commands

--dmpl=lvl
    set rlink dump level. Default is '0', allowed values are as for the --logl option.

--tiol=lvl
    set I/O trace level. Default is '0', allowed values are:
    0   no I/O trace
    1   trace buffer activities
    2   trace character activities

--tout=dt
    set connection timeout. Default is '1.'. Must be >0. . Should be set to a larger value when slow simulators are connected, e.g. post-implementation timing models.

--int
    enter interactive mode even when further Tcl commands are given on the ti_rri command line.

--help
    print help text and exit

--  all following arguments are treated as Tcl commands.

COMMANDS
For arguments of the form '@<name>.tcl' the respective file is sourced. All other arguments are treated as Tcl commands and executed with eval.

EXAMPLES

ti_rri --fifo --run='tbw tb_tst_rlink_n4d'
    Starts the ghdl(1) test bench 'tb_tst_rlink_n4d' located in CWD via tbw(1). It is assumed that the local tbw.dat file configures fifo communication for the test bench.

ti_rri --fifo=,xon --run='tbw tb_tst_rlink_arty'
    Like above, starts arty rather n4d test bench. The rlink is operated with software flow control. Note the comma in front of xon, required to ensure that the default pipe name is used !

SEE ALSO
ti_w11(1), ghdl(1), tbw(1), tclsh(1)

AUTHOR
Walter F.J. Mueller <W.F.J.Mueller@gsi.de>