URL
https://opencores.org/ocsvn/w11/w11/trunk
Subversion Repositories w11
Compare Revisions
- This comparison shows the changes necessary to convert path
/w11/tags/w11a_V0.7/doc/man/man1
- from Rev 31 to Rev 33
- ↔ Reverse comparison
Rev 31 → Rev 33
/file2tap.1
0,0 → 1,73
.\" -*- nroff -*- |
.\" $Id: file2tap.1 686 2015-06-04 21:08:08Z mueller $ |
.\" |
.\" Copyright 2015- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH FILE2TAP 1 2015-06-03 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
file2tap \- create a tap format tape container from individual files |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY file2tap |
.B -c |
.I TNAM |
.B -b |
.I n |
.IR FLIST ... |
.SY file2tap |
.B -a |
.I TNAM |
.B -b |
.I n |
.IR FLIST ... |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Creates (\fB-c\fR) a new or appends (\fB-a\fR) to an existing tap format tape |
container file \fTNAM\fR and adds files. The tape record size is specified |
with a \fB-b\fR option followed by the record size in units 512 bytes. |
Each tape file is build from a comma separated list of disk files \fIFLIST\fR, |
which are concatenated and written with a record size given by the last |
\fB-b\fR option. |
|
\fBfile2tap\fR writes to stdout a one line message for each created file which |
gives the file number, number of records, the record size in bytes and the |
names of the disk files used to build the tape file. |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
. |
.\" ---------------------------------------------- |
.IP "\fB\-c \fITNAM\fR" |
create a new tap format tape container with the name \fITNAM\fR. |
.IP "\fB\-a \fITNAM\fR" |
append to the existing tap format tape container \fITNAM\fR. |
.IP "\fB\-b \fIn\fR" |
gives the record size, in units of 512 bytes, for the following files. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBfile2tap -c tape.tap -b 20 patch.tar\fR" 4 |
converts the \fBtar\fR(1) archive file \fIpatch.tar\fR into a tape |
container file \fItape.tap\fR. The record size is 20*512 or 10240 bytes, |
the standard block size of Unix V7 format tar archives. |
|
.IP "\fBfile2tap -c tape.tap -b 1 b0,b1,b2 -b 2 f1 f2 -b 20 f3 f4 f5\fR" 4 |
creates a tape container file \fItape.tap\fR with six tape files. The first |
has a record length of 512 bytes and is composed of the concatenation of the |
disk files \fIb0\fR, \fIb1\fR, and \fIb2\fR. The second and third tape file |
have a record length of 1024 bytes and are created from \fIf1\fR and \fIf2\fR, |
respectively. The remaining three files have a record length of 10240 bytes. |
|
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR tap2file (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/tap2file.1
0,0 → 1,76
.\" -*- nroff -*- |
.\" $Id: tap2file.1 686 2015-06-04 21:08:08Z mueller $ |
.\" |
.\" Copyright 2015- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH TAP2FILE 1 2015-06-03 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
tap2file \- split a tap format tape container into individual files |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY tap2file |
.OP \-\-pref=p |
.I FILE |
. |
.SY tap2file |
.B \-\-help |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Reads the tap format tape container \fIFILE\fR and creates for tape file an |
individual disk file. The created files are named \fIpref\fR_nn.dat, where |
\fIpref\fR is either the prefix given with the \fB\-\-pref\fR option or the |
stem of \fIFILE\fR. |
|
\fBtap2file\fR writes to stdout a one line message for each created file which |
gives the filename, the number of tape records and the record length. In case |
the record length is variable the minimal and the maximal record length is given. |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
. |
.\" ---------------------------------------------- |
.IP "\fB\-\-pref\fR=\fIp\fR" |
use \fIp\fR as prefix to generate the names of all generated file. If not |
specified the stem of the input file name is taken. |
. |
.\" ---------------------------------------------- |
.IP "\fB\-help\fR" |
print full help text and exit. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBtap2file tmscptape.tap\fR" 4 |
reads the file \fItmscptape.tap\fR and creates a file for each tape file. |
Because no \fB\-\-pref\fR option is given the output files will be named |
"tmscptape_nn.dat". The stdout output might look like |
|
.EX |
tmscptape_00.dat: 73 records, length 512 |
tmscptape_01.dat: 38 records, length 1024 |
tmscptape_02.dat: 34 records, length 1024 |
tmscptape_03.dat: 36 records, length 1024 |
tmscptape_04.dat: 33 records, length 1024 |
tmscptape_05.dat: 501 records, length 10240 |
tmscptape_06.dat: 3516 records, length 10240 |
tmscptape_07.dat: 903 records, length 10240 |
tmscptape_08.dat: 4168 records, length 10240 |
.EE |
|
which indicates that the first file had 512 byte records, the next four 1024 |
byte records, and the remaining ones 10240 byte records. In case of a tape |
generated by a Unix system a record length of 10240 is a good hint this the |
file contains a \fBtar\fR(1) archive. |
|
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR file2tap (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/create_disk.1
0,0 → 1,163
.\" -*- nroff -*- |
.\" $Id: create_disk.1 686 2015-06-04 21:08:08Z mueller $ |
.\" |
.\" Copyright 2013-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH CREATE_DISK 1 2015-06-04 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
create_disk \- create disk container file for ti_w11 |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY create_disk |
.BI \-\-typ "\fR=\fPtyp" |
.OP \-\-ini=\fIpat\fP |
.OP \-\-bad |
.OP \-\-boot |
.I FILE |
. |
.SY create_disk |
.B \-\-help |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Creates a disk container file \fIFILE\fP with the proper size for a disk of |
type \fItyp\fP. |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-typ=\fItyp\fR |
determines disk type, must be specified. |
The list of supported disk types can be obtained with the |
.B \-\-help |
option. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-ini=\fIpat\fR |
determines whether the container file will be initialized with specific |
data pattern. Note that the \fB\-\-bad\fP and \fB\-\-boot\fP options will |
overwrite the last track or the first sector(s) respectively. |
The default without \fB\-\-ini\fR is to create a container with all zero data. |
It is implemented by writing a single zero byte after positioning with |
\fBlseek\fR(2) to the desired end. This creates a file with 'holes' and defers |
the actual allocation of disk space to the point when sectors are written. |
Allowed values for \fIpat\fP are |
.RS |
.IP \fBzero\fP |
creates a disk with all sectors zero'ed. In this case zero's are explicitely |
written. The explicit allocation of disk space is the main effect of this |
option. |
.IP \fBones\fP |
creates a disk with all data bytes set to 0xff. |
.IP \fBdead\fP |
creates a disk with an alternating 0xdead 0xbeaf pattern. Can be helpful |
to diagnose whether an operating system accesses uninitialized parts of a disk. |
.IP \fBtest\fP |
creates a disk with a unique test pattern in each sector. The whole disk |
is initialized with groups of 8 16bit words (in PDP-11 little endian) with |
|
.RS |
.RS 3 |
.PD 0 |
.IP 0: 4 |
absolute disk byte address, lower word |
.IP 1: 4 |
absolute disk byte address, upper word |
.IP 2: 4 |
current cyclinder number (0 based) |
.IP 3: 4 |
current track/head number (0 based) |
.IP 4: 4 |
current sector number (0 based) |
.IP 5: 4 |
number of cyclinders for disk type |
.IP 6: 4 |
number of tracks/heads for disk type |
.IP 7: 4 |
number of sectors for disk type |
.RE |
.PD |
.PP |
A \fBhexdump\fP(1) of a RP06 disk image initialized with |
\fB\-\-ini\fP=\fItest\fP |
will look like |
|
.EX |
0000000 0000 0000 0000 0000 0000 032f 0013 0016 |
0000010 0010 0000 0000 0000 0000 032f 0013 0016 |
... |
00001f0 01f0 0000 0000 0000 0000 032f 0013 0016 |
0000200 0200 0000 0000 0000 0001 032f 0013 0016 |
... |
a657be0 7be0 0a65 032e 0012 0015 032f 0013 0016 |
a657bf0 7bf0 0a65 032e 0012 0015 032f 0013 0016 |
.EE |
. |
.RE |
.RE |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-bad\fP |
creates a DEC standard 044 compliant bad block table on the last track |
of the disk container file. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-boot\fP |
creates a PDP-11 dummy boot block. When such a disk is attached and booted |
with \fBti_w11\fP(1) or a simh pdp11 a message like |
|
.EX |
++======================================++ |
|| This is not a hardware bootable disk || |
++======================================++ |
|
Disk image created with 'create_disk --typ=RK05': |
number of cylinders: 203 |
tracks per cylinder: 2 |
sectors per track: 12 |
block size: 512 |
total number of sectors: 4872 |
capacity in kByte: 2436 |
|
CPU WILL HALT |
.EE |
|
will be printed on the system console and the CPU HALTed. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-help\fP |
print full help, with list \fB\-\-typ\fP and \fB\-\-ini\fP options. |
. |
.\" ------------------------------------------------------------------ |
.SH EXIT STATUS |
If the file |
.I FILE |
can not be created an exit status 1 is returned. |
|
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBcreate_disk -typ=rk05 rk05.dsk\fR" 4 |
This will create a zero'ed disk contained sized for a RK05 disk. In most |
cases it is sufficient to create such plain zero'ed disk images. |
. |
.IP "\fBcreate_disk -typ=rl02 -bad rl02.dsk\fR" |
Creates a RL02 sized disk with a 'factory bad block table'. When using |
RLxx, RPxx, or RMxx type disks, especially in conjunction with DEC |
operating systems, it is advisable to create disks with \fB\-\-bad\fP. |
. |
.IP "\fBcreate_disk -typ=rk05 -ini=test rk05_test.dsk\fR" |
Creates a RK05 sized disk with test pattern. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR ti_w11 (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/ti_rri.1
0,0 → 1,224
.\" -*- nroff -*- |
.\" $Id: ti_rri.1 666 2015-04-12 21:17:54Z mueller $ |
.\" |
.\" Copyright 2013-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH TI_RRI 1 2015-04-12 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
ti_rri \- \fBRlink\fP Backend Server |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY ti_rri |
.OP OPTIONS |
.OP COMMANDS |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
The \fBti_rri\fP command creates a \fBtclsh\fP(1) based \fBRlink\fP backend |
server session. After loading all basic packages and shared libraries which |
implement the tcl binding of the \fBRlink\fP server the command |
|
.RS 2 |
.PD 0 |
.IP "-" 2 |
creates the default \fIrlc\fP and \fIrls\fP commands representing the connection |
and the server objects |
.IP "-" |
loads additional tcl packages when requested with \fB\-\-pack\fP |
.IP "-" |
sets up logging and debug according to \fB\-\-log\fP, \fB\-\-logl\fP, |
\fB\-\-dmpl\fP, and \fB\-\-tiol\fP |
.IP "-" |
starts an additional process if requested with \fB\-\-run\fP |
.IP "-" |
opens a connection when requested with \fB\-\-fifo\fP, |
\fB\-\-term\fP, or \fB\-\-cuff\fP |
.IP "-" |
and finally executes all remaining \fICOMMANDS\fP arguments as tcl commands |
.PD |
.RE |
.PP |
If no \fICOMMANDS\fP are present or if the \fB\-\-int\fP options is given |
an interactive mode is entered with all features of \fBtclsh\fP(1) with |
tclreadline loaded. |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
.\" ---------------------------------------------- |
.IP \fB\-\-pack=\fIplist\fR |
load, with 'package require', additional packages. \fIplist\fP is a comma |
separated list of package names. Note that the packages |
.BR rutiltpp , |
.BR rlinktpp , |
and |
.BR rlink |
are automatically loaded already by \fBti_rri\fP. |
. |
.\" -- --run ------------------------------------- |
.IP \fB\-\-run=\fIcmd\fR |
execute the shell command \fIcmd\fP as subprocess before the \fBrlink\fP |
port is opened. This is mainly used to start \fBghdl\fP(1) based test |
benches, usually via the \fBtbw\fP(1) wrapper script. |
. |
.\" -- --fifo ------------------------------------ |
.IP \fB\-\-fifo\fR[=\fIname\fR[,\fIopts\fR]] |
open a fifo type \fBrlink\fP port. It uses a named pipe, and is usually |
employed in conjunction with the \fB\-\-run\fP option. |
Optional arguments are |
.RS |
.IP \fBname\fP |
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. |
.IP \fBopts\fP |
comma separated list of further fifo port options: |
.RS |
.PD 0 |
.IP \fBkeep\fP |
fifo is kept open on exit |
.IP \fBxon\fP |
software flow control (xon/xoff) |
.IP \fBnoinit\fP |
defer link initialization (debug or test benches) |
.PD |
.RE |
.RE |
. |
.\" -- --term ------------------------------------ |
.IP \fB\-\-term\fR[=\fIname\fR[,\fIbaud\fR[,\fIopts\fR]]] |
open a serial port type \fBrlink\fP port. Optional arguments are |
.RS |
.IP \fBname\fP |
tty device name, default is 'USB0'. If \fIname\fP does not start with '/' |
the name is prefixed with '/dev/tty'. |
.IP \fBbaud\fP |
serial port baud rate, default is '115k'. Allowed baud rate settings are: |
.RS |
.PD 0 |
.IP "" 3 |
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 |
|
.PD |
.RE |
.IP \fBopts\fP |
comma separated list of further term port options: |
.RS |
.PD 0 |
.IP \fBbreak\fP |
send a break, do autobaud |
.IP \fBcts\fP |
hardware flow control (cts/rts) |
.IP \fBxon\fP |
software flow control (xon/xoff) |
.IP \fBnoinit\fP |
defer link initialization (debug or test benches) |
.PD |
.RE |
.RE |
. |
.\" -- --cuff ------------------------------------ |
.IP \fB\-\-cuff\fR[=\fIname\fR[,\fIopts\fR]] |
open a USB via Cypress FX2 type \fBrlink\fP port. Optional arguments are |
.RS |
.IP \fBname\fP |
USB path, default derived from environment variables RETRO_FX2_VID and |
RETRO_FX2_PID. |
.IP \fBopts\fP |
comma separated list of further cuff port options: |
.RS |
.PD 0 |
.IP \fBtrace\fP |
trace USB activities |
.IP \fBnoinit\fP |
defer link initialization (debug or test benches) |
.PD |
.RE |
.RE |
. |
.\" -- --log ------------------------------------ |
.IP \fB\-\-log=\fIfile\fR |
set log file name. Default is to write to \fBstdout\fP(3). |
. |
.\" -- --logl ----------------------------------- |
.IP \fB\-\-logl=\fIlvl\fR |
set rlink logging level. Default is '2', allowed values are: |
.RS |
.PD 0 |
.IP \fB0\fP 3 |
no logging |
.IP \fB1\fP 3 |
log rlink commands with communication errors |
.IP \fB2\fP 3 |
log rlink commands with failed checks |
.IP \fB3\fP 3 |
log all rlink commands |
.PD |
.RE |
. |
.\" -- --dmpl ----------------------------------- |
.IP \fB\-\-dmpl=\fIlvl\fR |
set rlink dump level. Default is '0', allowed values are as for the |
\fB\-\-logl\fP option. |
. |
.\" -- --tiol ----------------------------------- |
.IP \fB\-\-tiol=\fIlvl\fR |
set I/O trace level. Default is '0', allowed values are: |
.RS |
.PD 0 |
.IP \fB0\fP 3 |
no I/O trace |
.IP \fB1\fP 3 |
trace buffer activities |
.IP \fB2\fP 3 |
trace character activities |
.PD |
.RE |
. |
.\" -- --int ------------------------------------ |
.IP \fB\-\-int\fP |
enter interactive mode even when further tcl commands are given on the |
\fBti_rri\fP command line. |
. |
.\" -- --help ----------------------------------- |
.IP \fB\-\-help\fP |
print help text and exit |
. |
.\" -- -- --------------------------------------- |
.IP \fB\-\-\fP |
all following arguments are treated as tcl commands. |
. |
.\" ------------------------------------------------------------------ |
.SH 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. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBti_rri --fifo --run='tbw tb_tst_rlink_n3'" 4 |
Starts the \fBghdl\fP(1) test bench 'tb_tst_rlink_n3' located in CWD via |
\fBtbw\fP(1). It is assumed that the local \fItbw.dat\fP file configures |
fifo communication for the test bench. |
|
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR ti_w11 (1), |
.BR ghdl (1), |
.BR tbw (1), |
.BR tclsh (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/ti_w11.1
0,0 → 1,124
.\" -*- nroff -*- |
.\" $Id: ti_w11.1 680 2015-05-14 13:29:46Z mueller $ |
.\" |
.\" Copyright 2013-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH TI_W11 1 2015-04-12 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
ti_w11 \- Quick starter for \fBti_rri\fP with \fBw11\fP CPU designs |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY ti_w11 |
.OP OPTIONS |
.OP "ti_rri options and commands" |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Generates the \fBti_rri\fP(1) commands for starting the \fBrri\fP backend |
in standard configurations with \fBw11\fP CPU designs. Connections to |
FPGA boards as well as to \fPghdl\fP based simulations are supported. |
|
Since \fBti_w11\fP is only a quick starter for \fBti_rri\fP(1) this man page |
will only describe briefly the \fBti_w11\fP specific options, for any further |
detail consult the \fBti_rri\fP(1) man page. |
|
\fBti_w11\fP will print the generated \fBti_rri\fP(1) command to stdout before |
executing it. |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
.SS "setup options for FPGA connects" |
.IP \fB-u\fP |
use \fB\-\-cuff\fP connect (USB via Cypress FX2) |
.IP \fB-t\fIDN\fR[,\fIopts\fP] |
use \fB\-\-term\fP connect, \fID\fP specifies device name, \fIN\fP |
specified the device number, and \fIopts\fP the addtional options |
a \fB\-\-term\fP can hold (e.g. break or xon). \fID\fP is mapped as |
.RS |
.PD 0 |
.IP \fBs\fP 4 |
use /dev/ttyS* (* is device number \fIN\fP) |
.IP \fBu\fP 4 |
use /dev/ttyUSB* (* is device number \fIN\fP) |
.PD |
.RE |
. |
.SS "setup options for ghdl simulation runs" |
.PD 0 |
.IP \fB-b3\fP |
start \fItb_w11a_b3\fP simulation (w11a on Basys3, default \fB-f1x\fP) |
.IP \fB-n4\fP |
start \fItb_w11a_n4\fP simulation (w11a on Nexys4) |
.IP \fB-n3\fP |
start \fItb_w11a_n3\fP simulation (w11a on Nexys3, default \fB-fc\fP) |
.IP \fB-n2\fP |
start \fItb_w11a_n2\fP simulation (w11a on Nexys2, default \fB-fc\fP) |
.IP \fB-s3\fP |
start \fItb_w11a_s3\fP simulation (w11a on S3board, default \fB-f2\fP) |
.PD |
.IP \fB-f\fIm\fR |
select communication mode for simulation. The \fB-f\fIm\fR can be used after |
the \fB-b3\fP,...,\fB-s3\fP options to overwrite the default. Valid values |
for mode \fIm\fP are |
.RS |
.PD 0 |
.IP \fBc\fP 4 |
use Cypress FX2 data path (cuff, only for -n2 and -n3) |
.IP \fB1\fP 4 |
use 1st serport |
.IP \fB1x\fP 4 |
use 1st serport with xon |
.IP \fB2\fP 4 |
use 2nd serport (fusp, only for -s3,-n2,-n3) |
.IP \fB2x\fP 4 |
use 2nd serport with xon |
.PD |
.RE |
.IP \fB-tmu\fP |
activate trace and monitoring unit |
. |
.SS "common options" |
.IP \fB-e "\fR=\fIfile"\fR |
load and execute \fIfile\fP. If the file type is '.mac' the file will |
be on the fly compiled with \fBasm-11\fP(1), for all other file types |
it is assumed that they are in \fBlda\fP(5) format. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBti_w11 -u @211bsd_rk_boot.tcl\fR" 4 |
Assumes a FPGA board with a \fBw11\fP CPU design already configured. |
Connected via USB, communication via Cypress FX2. |
\fBti_rri\fP(1) will be started and the given boot script executed. |
Typical way to start Nexys2 and Nexys3 boards. |
|
.IP "\fBti_w11 -tu2,10M,break,cts @211bsd_rl_boot.tcl\fR" 4 |
Assumes a FPGA board with a \fBw11\fP CPU design already configured. |
Connected via USB, communication via an USB UART. In this case the |
device \fI/dev/ttyUSB2\fP will be used, with \fI10 MBaud\fP, \fIbreak\fP to |
trigger auto-bauding, and \fIcts\fP to use hardware handshake. |
\fBti_rri\fP(1) will be started and the given boot script executed. |
Typical way to start Nexys4 boards. |
|
.IP "\fBti_w11 -n3 -e $RETROBASE/tools/asm-11/w11/sys/dl11/simple_out.mac\fR" |
Will start the \fItb_w11a_n3\fP test bench in \fBghdl\fP(1), on the fly |
compile the \fIsimple_out.mac\fP test program with \fBasm-11\fP(1), load |
and execute it. This little test code just produces |
.EX |
Hello world! |
Hello world! |
.EE |
forever, just abort with ^C if you have seen enough. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR ti_rri (1), |
.BR asm-11 (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/xise_msg_filter.1
0,0 → 1,108
.\" -*- nroff -*- |
.\" $Id: xise_msg_filter.1 640 2015-02-01 09:56:53Z mueller $ |
.\" |
.\" Copyright 2014-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
.TH ISEMSG_FILTER 1 2015-01-30 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
xise_msg_filter \- message filter for Xilinx ISE tool chain log files |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY xise_msg_filter |
.OP \-\-pack |
.I TYPE |
.I MFSET |
.I LOGFILE |
. |
.SY xise_msg_filter |
.B \-\-help |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
.\" ---------------------------------------------- |
Scans the log file \fILOGFILE\fP generated by Xilinx ISE tool specified |
by \fITYPE\fP for informational, warning and error messages and compares |
these messages against a set of message filter rules defined in the |
\fIMFSET\fP file. |
xise_msg_filter will print all no-matching messages. |
All filter rules which do not match a message are also listed, these |
messages are considered missing. |
Matched messages are considered accepted. |
In normal operation they will not create output. |
xise_msg_filter is useful for example in \fBmake\fP(1) based flows to |
create a short summary from the log files. |
|
The accepted values for \fITYPE\fP are: |
|
.RS 3 |
.PD 0 |
.IP \fBxst\fP 6 |
ISE xst |
.IP \fBtra\fP |
ISE ngdbuild (translate) |
.IP \fBmap\fP |
ISE map |
.IP \fBpar\fP |
ISE par |
.IP \fBtwr\fP |
ISE trce |
.IP \fBbgn\fP |
ISE bitgen |
.PD |
.RE |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
.\" ---------------------------------------------- |
.IP \fB\-\-pacc\fP |
Print a summary of all accepted messages. The match count for each rule is |
listed. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-help\fP |
print full help. |
. |
.\" ------------------------------------------------------------------ |
.SH MESSAGE FILTER FILE FORMAT |
.\" ---------------------------------------------- |
Simply a list of regular expression patters structured by section headers |
of the form "[TYPE]". |
Blank lines and lines starting with '#' will be ignored. |
xise_msg_filter will extract the patters of the section matching the |
\fITYPE\fP argument. |
.SS Example message filter file |
.EX |
# --------- |
[xst] |
INFO:.*The FF/Latch <.*> is equivalent to .* will be removed |
Node <HIO/IOB_BTN/R_DI_[1-4]> of sequential type is unconnected |
# --------- |
[map] |
INFO:.*The FF/Latch <.*>.*is equivalent to the following FF/Latch |
.EE |
.\" ------------------------------------------------------------------ |
.SH EXIT STATUS |
If \fITYPE\fP is invalid or the \fIMFSET\fP or \fILOGFILE\fP files |
can't be opend an exit status 1 is returned. |
|
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBxise_msg_filter xst proj.mfset proj_xst.log\fR" 4 |
Generate a short summary of a ISE xst log file. |
. |
.\" ------------------------------------------------------------------ |
.SH "BUGS" |
The \fIMFSET\fP file is flat, no structuring possible, e.g. with includes. |
It be great to have for example default rules for each target device. |
Since ISE is 'end-of-life' no further work on xise_msg_filter will be done. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
. |
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/vbomconv.1
0,0 → 1,518
.\" -*- nroff -*- |
.\" $Id: vbomconv.1 646 2015-02-15 12:04:55Z mueller $ |
.\" |
.\" Copyright 2010-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH VBOMCONV 1 2015-02-15 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
vbomconv \- generate files and actions from vbom manifest files |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY vbomconv |
.B \-\-help |
. |
.SY vbomconv |
.OP \-\-trace |
.B \-\-dep_ghdl |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.B \-\-dep_xst |
| |
.B \-\-dep_isim |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.B \-\-dep_vsyn |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.B \-\-ghdl_i_cmd |
| |
.B \-\-ghdl_i |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.OP \-\-xlpath=\fIpath\fP |
.B \-\-ghdl_a_cmd |
| |
.B \-\-ghdl_a |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.OP \-\-xlpath=\fIpath\fP |
.B \-\-ghdl_m_cmd |
| |
.B \-\-ghdl_m |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.BI \-\-ghdl_export "\fR=\fPpath" |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.B \-\-xst_prj |
| |
.B \-\-isim_prj |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.BI \-\-xst_export "\fR=\fPpath" |
| |
.BI \-\-isim_export "\fR=\fPpath" |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.B \-\-vsyn_prj |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.B \-\-get_top |
.I vbom |
. |
.SY vbomconv |
.OP \-\-trace |
.B \-\-flist |
.I vbom |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
. |
.\" -------------------------------------------------------- |
.SS Introduction |
\fBvbomconv\fP is the central tool in a build system for |
\fIvhdl\fP projects. Each \fIvhdl\fP source file has an associated |
manifest file in \fBvbom\fP(5) format which contains a list of used |
libraries and instantiated components, and the name of the |
associated vhdl source file. |
The instantiated components are defined via their \fBvbom\fP file. |
All file names are relative to the current directory. |
A recursive traversal through all \fBvbom\fP's |
gives for each vhdl entity all the sources files needed to compile it, |
with duplicates removed and in proper compilation order, thus libraries first |
and top level design last. |
|
The \fBvbomconv\fP tool does this traversal of \fBvbom\fP |
files and generates, depending on command line options, the files and/or |
commands needed to run a synthesis tool or to build a simulation model. |
Currently supported is synthesis with Xilinx ISE \fBxst\fP Xilinx Vivado |
and simulation with \fBghdl\fP(1) or Xilinx ISE \fBISim\fP. |
\fBvbomconv\fP therefore currently generates |
|
.PD 0 |
.IP "\fB- ghdl\fP" 8 |
commands for analysis, inspection and make step |
.IP "\fB- xst\fP" 8 |
project files |
.IP "\fB- ISim\fP" 8 |
project files |
.IP "\fB- vsyn\fP" 8 |
project setups for Vivado synthesis |
.IP "\fB- make\fP" 8 |
dependency files |
.PD |
|
.PP |
Key advantage of this approach is that the individual \fBvbom\fP |
files are easy to maintain. They reflect the libraries and components used |
in the vhdl source they describe, a structural change in the vhdl source |
usually implies an update of the vbom. The project files are automatically |
generated from this 'local' information, which can be of great help in |
projects with many top level designs which large number of entities in |
different constellations. |
|
\fBvbomconv\fP is usually embedded in a GNU \fBmake\fP(1) based build system. |
The \fIMakefile\fP's in general just contain a few definitions and includes, |
the whole \fBvbomconv\fP magic is encapsulated in some pattern rules for |
simulation and synthesis. |
Some are given in the EXAMPLES section. |
. |
.\" -------------------------------------------------------- |
.SS Principle of Operation |
\fBvbomconv\fP will start with processing the \fIvbom\fP |
file given as argument. |
Each file name extracted from a \fBvbom\fP is prepended with the directory |
path of the \fBvbom\fP. |
This ensures that all file names are relative to working directory under |
which \fBvbomconv\fP was started, even though each \fBvbom\fP file holds |
only file names which are relative to the \fBvbom\fP. |
|
\fBvbomconv\fP expects that the entries in the \fBvbom\fP's |
are ordered, libraries first, than the components in the order they are |
instantiated, finally the name of the associated source file. |
Each \fI.vhd\fP file is added to a table of source files. |
Each \fI.vbom\fP file is added to a list of \fBvbom\fP's |
to be processed if it hasn't been processed yet. |
The sub-\fBvbom\fP's are processed in the order they were found which |
leads to breadth-first traversal of the \fBvbom\fP tree. |
|
After all \fBvbom\fP's |
are processed a ranking algorithm will generate an ordered list of source |
files in proper compilation order. This ensures that libraries are compiled |
before a source refers to them with a '\fIuse\fP' clause, and that entities |
are compiled before they are refered to by an explicit instatiation. |
|
The \fBvbom\fP file format supports conditional inclusion of files via a |
condition prefix. |
The main purpose of this mechanism is to handle libraries and components |
which are only refered in |
.EX |
-- synthesis translate_off |
-- synthesis translate_on |
.EE |
sections and are used only for simulation. |
|
The \fBvbom\fP file format has a logical name mechanism to support the |
\fIconfiguration\fP mechanism of vhdl. A logical name can be defined with |
.EX |
<lname> = <filename> |
.EE |
and it can be used with |
.EX |
<lname> : <filename> |
.EE |
The first definition seen in the \fIvbom\fP |
traversal is taken, all others are ignored. The filename in the usage clause |
is the default used in case the logical name wasn't defined. |
|
Last but not least are 3 directives defined in the \fBvbom\fP |
file format: |
. |
.IP "\fB@top\fP:\fIname\fP" |
allows to specify the top level design name in case it differs from the |
stem of the \fIvbom\fP file name. |
. |
.IP "\fB@lib\fP:\fIname\fP" |
allows to specify additional system libraries. Currently used to indicate |
that the \fIunisim\fP, \fIunimacro\fP or \fIsimprim\fP libraries are |
needed by \fBghdl\fP. |
. |
.IP "\fB@ucf_cpp\fP:\fIfile\fP" |
indicates that a \fIfile\fP.ucf file is to be generated by \fBcpp\fP(1) |
from a \fIfile\fP.ucf_cpp source file. This allows to modularize ISE ucf files. |
.PP |
The full description of the file format and examples are given in a |
separate man page \fBvbom\fP(5). |
. |
.\" -------------------------------------------------------- |
.SH USAGE |
The \fBvbomconv\fP command has the form |
.IP "" 4 |
.B vbomconv |
.RI [ options ] |
.RI [ action ] |
.I vbom |
.PP |
and must be called, with the exception of the \fB\-\-help\fP case, with |
exactly one \fIvbom\fP file. |
. |
.\" -------------------------------------------------------- |
.SH OPTIONS |
.P |
.IP \fB\-\-trace\fP |
Gives a detailed trace, written to \fIstderr\fP, |
of the vbom file traversal and processing, the process of source file ranking |
to determine the compilation order, and of the final internal file list and |
property table. |
. |
.\" ---------------------------------------------- |
.TP |
.BI \-\-xlpath \fR=\fPpath |
Defines the location where the \fBghdl\fP compiled Xilinx unisim, unimacro |
or simprim libraries are located. This option is mandatory for |
\fB\-\-ghdl_a\fP and \fB\-\-ghdl_m\fP commands when the design contains |
a \fB@lib\fP directive. |
These compiled libs are typically created with the |
\fBxise_ghdl_unisim\fP(1) or \fBxise_ghdl_simprim\fP(1) commands. |
. |
.\" -------------------------------------------------------- |
.SH ACTIONS |
.P |
.\" ---------------------------------------------- |
.IP \fB\-\-help\fP |
Prints a usage summary to \fIstdout\fP and quits. This action is the only |
one not requiring a \fIvbom\fP file. |
. |
.\" ---------------------------------------------- |
.TP |
.B \-\-dep_ghdl |
.TQ |
.B \-\-dep_xst |
.TQ |
.B \-\-dep_isim |
.TQ |
.B \-\-dep_vsyn |
These four actions write to \fIstdout\fP dependency rules for inclusion in |
\fIMakefile\fPs. |
Together with an appropruate pattern rule they allow to automatitize |
the dependency handling, see the EXAMPLES section for practical usage. |
|
\fB\-\-dep_ghdl\fP creates the dependencies for \fBghdl\fP |
based simulation models and produces the following types of dependencies |
.EX |
\fI<stem>\fP : \fI<stem>\fP.dep_ghdl |
\fI<stem>\fP : \fB*\fP.vhd |
\fI<stem>\fP.dep_ghdl : \fB*\fP.vbom |
.EE |
|
\fB\-\-dep_xst\fP creates the dependencies for \fBxst\fP |
synthesis make flows and produces the following types of dependencies |
.EX |
\fI<stem>\fP.ngc : \fI<stem>\fP.dep_xst |
\fI<stem>\fP.ngc : \fB*\fP.vhd |
\fI<stem>\fP.dep_xst : \fB*\fP.vbom |
.EE |
with \fB*\fP indicating that one rule will be generated for each file |
involved. |
|
If a \fB@ucf_cpp\fP directive was found also rules describing the |
.I ucf |
file handling are added |
.EX |
<stem>.ncd : <stem>.ucf |
include sys_w11a_n2.dep_ucf_cpp |
.EE |
If this mechanism is used the \fIMakefile\fP must contain, usually via |
another include, a pattern rule to create the \fI.dep_ucf_cpp\fP file, |
for example |
.EX |
%.dep_ucf_cpp : %.ucf_cpp |
cpp -I${RETROBASE}/rtl -MM $*.ucf_cpp |\\ |
sed 's/\.o:/\.ucf:/' > $*.dep_ucf_cpp |
.EE |
|
\fB\-\-dep_isim\fP creates the dependencies for ISE \fBISim\fP |
based simulation models and produces the following types of dependencies |
.EX |
\fI<stem>\fP_ISim : \fI<stem>\fP.dep_isim |
\fI<stem>\fP_ISim : \fB*\fP.vhd |
\fI<stem>\fP.dep_isim : \fB*\fP.vbom |
.EE |
|
\fB\-\-dep_vsyn\fP creates the dependencies for Vivado synthesis make flows |
and produces the following types of dependencies |
.EX |
\fI<stem>\fP.bit : \fI<stem>\fP.dep_vsyn |
\fI<stem>\fP.bit : \fB*\fP.vhd \fB*\fP.xdc |
\fI<stem>\fP_syn.dcp : \fB*\fP.vhd \fB*\fP.xdc |
\fI<stem>\fP_rou.dcp : \fB*\fP.vhd \fB*\fP.xdc |
\fI<stem>\fP.dep_vsyn : \fB*\fP.vbom |
.EE |
. |
.\" ---------------------------------------------- |
.TP |
.B \-\-ghdl_i_cmd |
.TQ |
.B \-\-ghdl_i |
The \fB\-\-ghdl_i_cmd\fP action writes to \fIstdout\fP |
a \fB"ghdl -i"\fP command for the \fBghdl\fP inspection step with all |
source file names in proper compilation order. The \fB\-\-ghdl_i\fP |
action immediately executes this command via \fBexec\fP(3). |
. |
.\" ---------------------------------------------- |
.TP |
.B \-\-ghdl_a_cmd |
.TQ |
.B \-\-ghdl_a |
The \fB\-\-ghdl_a_cmd\fP action writes to \fIstdout\fP a list of |
\fB"ghdl -a"\fP commands for the \fBghdl\fP analysis step. |
The commands are in proper compilation order. The \fB\-\-ghdl_a\fP |
action immediately executes these commands via \fBexec\fP(3). |
. |
.\" ---------------------------------------------- |
.TP |
.B \-\-ghdl_m_cmd |
.TQ |
.B \-\-ghdl_m |
The \fB\-\-ghdl_m_cmd\fP action writes to \fIstdout\fP |
a \fB"ghdl -m"\fP command for the \fBghdl\fP inspection make with all |
required library and external object file qualifiers. |
The \fB\-\-ghdl_m\fP action immediately executes this command via |
\fBexec\fP(3). |
. |
.\" ---------------------------------------------- |
.TP |
.B \-\-xst_prj |
.TQ |
.B \-\-isim_prj |
These two actions write to \fIstdout\fP a project file suitable for ISE |
\fBxst\fP or \fBISim\fP, respectively. |
The vhdl source files are in proper compilation order. See |
the EXAMPLES section for practical usage in a make flow. |
. |
.\" ---------------------------------------------- |
.TP |
.B \-\-vsym_prj |
This action write to \fIstdout\fP a Tcl script suitable as project definition |
for Vivado synthesis. This script is source'ed or eval'ed and defines the |
source fileset and the constraints fileset. The vhdl source files are in |
proper compilation order. |
. |
.\" ---------------------------------------------- |
.TP |
.BI \-\-xst_export \fR=\fPpath |
.TQ |
.BI \-\-ghdl_export \fR=\fPpath |
.TQ |
.BI \-\-isim_export \fR=\fPpath |
These three actions create a flat copy of all source files needed for a |
\fBxst\fP synthesis or a \fBghdl\fP or \fBISim\fP |
simulation model in the directory \fIpath\fP. |
The sub directory structure is lost, all files will be in directory |
\fIpath\fP. This is for example helpful for setting up an ISE project. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-get_top\fP |
Returns the top level entity name to \fIstdout\fP. |
Is by default the stem of the \fIvbom\fP file name, or given by a |
\fB@top\fP directive picked up during \fBvbom\fP traversal. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-flist\fP |
Write an alphabetically sorted list of all source and vbom files to |
\fIstdout\fP. |
This information is for example helpful to build a project export tool. |
Note that in contrast to most other actions the files are not in compilation |
but in alphabetic order, and that also the \fBvbom\fP files are included |
in this list. |
. |
.\" ------------------------------------------------------------------ |
.SH EXIT STATUS |
Returns a non-zero exit status when the |
.I vbom |
file is not found or readable or none or multiple actions are given. |
.PP |
The \fB\-\-ghdl_a\fP, \fB\-\-ghdl_i\fP, or \fB\-\-ghdl_m\fP |
actions use \fBexec\fP(3) to execute the \fBghdl\fP command. |
In these cases the caller will see the exit status of \fBghdl\fP. |
. |
.\" ------------------------------------------------------------------ |
.SH BUGS |
.IP \(bu 2 |
Duplicate file elimination fails when one source file is refered to by |
different \fIvbom\fP's |
with different paths, like for example the file |
.I aa/bb/cc/foo.vdh |
seen from |
.I aa/xx/yy |
via |
.EX |
../../bb/cc/foo.vhd |
../../../aa/bb/cc/foo.vdh |
.EE |
The synthesis and simulation tools will react with sometimes hard to |
trace error messages. |
.br |
To avoid this problem ensure that building of the relative paths |
is always done with the minimal number of \fI../\fP to reach the file. |
. |
.IP \(bu 2 |
The handling of \fIucf\fP files with the \fB@ucf_cpp\fP directive |
is a kludge and should be revised. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
. |
.\" -------------------------------------------------------- |
.SS Auto-Dependency Generation |
The \fB\-\-dep_xst\fP, \fB\-\-dep_ghdl\fP and \fB\-\-dep_isim\fP |
actions allow to setup together with the auto-rebuild and restart semantics |
of the GNU \fBmake\fP(1) \fIinclude\fP directive to fully automatize the |
proper generation of dependencies. |
Just add to the \fIMakefile\fP |
a pattern rule to create the dependency rule files from the \fBvbom\fP |
files and include them. In case they don't yet exist or are out of date |
\fBmake\fP(1) will (re-)create them and restart. Example for using |
\fB\-\-dep_xst\fP in a \fIMakefile\fP : |
.PP |
.EX |
VBOM_all = $(wildcard *.vbom) |
... |
%.dep_xst: %.vbom |
vbomconv --dep_xst $< > $@ |
... |
include $(VBOM_all:.vbom=.dep_xst) |
.EE |
.PP |
After renames and deletions of source files the dependency rule files can have |
dangling entries which cause 'No rule to make target' errors. In that case |
just delete all '.dep_*' files. The script \fBrm_dep\fP(1) |
will do that recursively for a whole directory tree. |
. |
.\" -------------------------------------------------------- |
.SS Xst Synthesis |
A simple \fBmake\fP(1) flow for synthesis with \fBxst\fP using |
ISE \fBxflow\fP and the \fB\-\-xst_prj\fP action and a pattern |
rule looks like |
.PP |
.EX |
%.ngc: %.vbom |
if [ ! -d ./ise ]; then mkdir ./ise; fi |
(cd ./ise; vbomconv --xst_prj ../$< > $*.prj) |
(cd ./ise; touch $*.xcf) |
xtwi xflow -wd ise -synth xst_vhdl.opt $*.prj |
(cd ./ise; chmod -x *.* ) |
if [ -r ./ise/$*.ngc ]; then cp -p ./ise/$*.ngc .; fi |
if [ -r ./ise/$*_xst.log ]; then cp -p ./ise/$*_xst.log .; fi |
.EE |
.PP |
It creates a working directory \fI./ise\fP, the xst project file, runs |
\fBxst\fP via ISE \fBxflow\fP, and copies the \fIngc\fP and \fIlog\fP files |
back into the working directory. |
The ISE environment is started with \fBxtwi\fR(1) wrapper. |
. |
.\" -------------------------------------------------------- |
.SS Ghdl Simulation |
A simple \fBmake\fP(1) flow for building a \fBghdl\fP simulation model from |
the sources described by a \fBvbom\fP file is given by the following |
pattern rule: |
.PP |
.EX |
% : %.vbom |
vbomconv --ghdl_i $< |
vbomconv --ghdl_m $< |
.EP |
. |
.\" -------------------------------------------------------- |
.SS Collecting Statistics |
A simple way to determine the number of sources involved in a |
synthesis or simulation model is to count with \fBwc\fP(1) |
the lines of a \fB\-\-xst_prj\fP or \fB\-\-isim_prj\fP |
output like in |
.PP |
.EX |
vbomconv --xst_prj sys_w11a_n2.vbom | wc |
vbomconv --ghdl_a_cmd tb_w11a_n2.vbom | wc |
vbomconv --isim_prj tb_w11a_n2.vbom | wc |
.EP |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR vbom (5), |
.BR rm_dep (1), |
.BR ghdl (1), |
.BR xtwi (1), |
.BR cpp (1), |
.br |
.BR xise_ghdl_simprim (1), |
.BR xise_ghdl_unisim (1) |
. |
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/xise_ghdl_unisim.1
0,0 → 1,68
.\" -*- nroff -*- |
.\" $Id: xise_ghdl_unisim.1 642 2015-02-06 18:53:12Z mueller $ |
.\" |
.\" Copyright 2010-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH XISE_GHDL_UNISIM 1 2015-02-04 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
xise_ghdl_unisim \- compile Xilinx ISE UNISIM and UNIMACRO libraries for ghdl |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.B xise_ghdl_unisim |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
\fBxise_ghdl_unisim\fP compiles the Xilinx ISE UNISIM and UNIMACRO |
libraries for \fBghdl\fP. The object files generated by \fBghdl\fP |
are stored in the directory tree of the currently active version of |
ISE under \fI$XILINX/ghdl/unisim\fP and \fI$XILINX/ghdl/unimacro\fP. |
|
Since direct calls to ISE tools are in general encapsulated with \fBxtwi\fP(1) |
the \fI$XTWI_PATH\fP is used instead of \fI$XILINX\fP. |
This allows to use this script and \fBghdl\fP without a \fBxtwi\fP wrapper. |
|
Just use the \fBghdl\fP option |
|
.EX |
-P${XWTI_PATH}/ISE_DE/ISE/ghdl/unisim |
-P${XWTI_PATH}/ISE_DE/ISE/ghdl/unimacro |
.EE |
|
to link to the UNISIM or UNIMACRO library. |
|
The Xilinx source code has since many releases some buggy statements with |
self-referencial initializations. They seem to be tolerated by the commercial |
tools but not by \fBghdl\fP. |
The \fBxilinx_vhdl_memcolltype_fix\fP |
helper script simply removes them, no further problems seen so far. |
|
.\" ------------------------------------------------------------------ |
.SH ENVIRONMENT VARIABLES |
.IP \fBXTWI_PATH\fP |
points to the root of the currently active ISE installation. |
. |
.\" ------------------------------------------------------------------ |
.SH FILES |
.IP \fI$XTWI_PATH/ISE_DS/ISE/vhdl/src/unisims\fP |
The vhdl sources for the Xilinx ISE UNISIM library |
.IP \fI$XTWI_PATH/ISE_DS/ISE/vhdl/src/unimacro\fP |
The vhdl sources for the Xilinx ISE UNIMACRO library |
.IP \fI$XTWI_PATH/ISE_DS/ISE/ghdl\fP |
The created object files will be written into this directory. The directory |
is created if not yet existing. Note that the \fI$XTWI_PATH\fP |
directory must be writable for the script. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR xtwi (1), |
.BR ghdl (1), |
.BR xise_ghdl_simprim (1), |
.BR xviv_ghdl_unisim (1) |
. |
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/xtwi.1
0,0 → 1,65
.\" -*- nroff -*- |
.\" $Id: xtwi.1 651 2015-02-26 21:32:15Z mueller $ |
.\" |
.\" Copyright 2014- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH XTWI 1 2013-11-10 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
xtwi \- Xilinx Tool Wrapper script for ISE |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY xtwi |
.OP COMMAND |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
The Xilinx ISE setup script redefines PATH and LD_LIBRARY_PATH. The ISE |
tools run fine in this environment, but other installed programs on the |
system can (and actually do) fail. \fBxtwi\fP helps to keep the ISE |
environment separate from the normal working environment. |
|
The environment variable XTWI_PATH must be setup to the install path |
of the ISE version to be used. Without the /ISE_DS/ which is added |
by the ISE installation procedure. |
|
\fBxtwi\fP uses XTWI_PATH to locate the ISE setup script, sources it, |
and execs the \fICOMMAND\fP. This way \fICOMMAND\fP is executed in the |
ISE environment, while the login shell stays clean. |
|
. |
.\" ------------------------------------------------------------------ |
.SH ENVIRONMENT |
.TP 4 |
.B XTWI_PATH |
Install path of ISE, without the /ISE_DS/ appended by ISE installation |
. |
.\" ------------------------------------------------------------------ |
.SH FILES |
.TP 4 |
$XTWI_PATH/ISE_DS/settings32.sh |
.TQ |
$XTWI_PATH/ISE_DS/settings64.sh |
ISE setup script located and sourced on 32 or 64 bit systems |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBxtwi netgen -sim -intstyle xflow -ofmt vhdl -w test.ngc" 4 |
Starts the ISE netlister and generates a vhdl model from \fItest.ngc\fP. |
. |
.\" ------------------------------------------------------------------ |
.SH "NOTES" |
If both ISE and Vivado are used \fBxtwi\fP and \fBxtwv\fP(1) offer a convenient |
way to have both tools available in one session without interference. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR xtwv (1) |
. |
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/config_wrapper.1
0,0 → 1,142
.\" -*- nroff -*- |
.\" $Id: config_wrapper.1 651 2015-02-26 21:32:15Z mueller $ |
.\" |
.\" Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH CONFIG_WRAPPER 1 2013-01-02 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
config_wrapper \- configure FPGA via ISE impact or Linux jtag |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY config_wrapper |
.OP \-\-board=\fIb\fP |
.OP \-\-path=\fIp\fP |
.I COMMAND |
.I FILE |
. |
.SY config_wrapper |
.B \-\-help |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Wrapper script to handle the configuration of an FPGA board with either |
a XILINX JTAG programming cable and the ISE \fBimpact\fP program or with |
an onboard Cypress FX2 USB controller and the \fBjtag\fP(1) program. |
The \fICOMMAND\fP argument controls the action: |
|
.RS 3 |
.PD 0 |
.IP \fBiconfig\fP 10 |
configure using \fBimpact\fP with \fI.bit\fP file \fIFILE\fP |
.IP \fBjconfig\fP |
configure using \fBjtag\fP(1) with \fI.svf\fP file \fIFILE\fP |
.IP \fBbit2svf\fP |
create a \fI.svf\fP file from the \fI.bit\fP file \fIFILE\fP |
.PD |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-board=\fIb\fR |
determines the type of board to be configured. The default is 's3board', |
currently supported boards are: |
.RS |
.RS 3 |
.PD 0 |
.IP \fBs3board\fP 10 |
Digilent S3BOARD. Default path: xc3s1000 |
.IP \fBnexys2\fP |
Digilent Nexys2. Default path: xc3s1200e |
.IP \fBnexys3\fP |
Digilent Nexys3. Default path: xc6slx16 |
.IP \fBatlys\fP |
Digilent Atlys. Default path: xc6slx45 |
.IP \fBsp605\fP |
Xilinx SP605. Default path: xc6slx45t |
.RE |
.RE |
.PD |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-path=\fIp\fR |
determines the type of FPGA to be configured. It usually properly defaulted |
based on the \fB\-\-board\fP option. Only in cases were a board is available |
with several die sizes this option will be needed. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-help\fP |
print help text and exit. |
. |
.\" ------------------------------------------------------------------ |
.SH COMMANDS |
. |
.\" ---------------------------------------------- |
.IP \fBbit2svf\fP |
Convert a FPGA configuration file from \fI.bit\fP format (the native XILINX |
format) to \fI.svf\fP format (the portable Serial Vector Format). The |
XILINX ISE \fBimpact\fP program is used, the input \fIFILE\fP must be in |
\fI.bit\fP format. |
. |
.\" ---------------------------------------------- |
.IP \fBiconfig\fP |
Configure a FPGA with XILINX ISE \fBimpact\fP. The input \fIFILE\fP must be in |
\fI.bit\fP format. |
. |
.\" ---------------------------------------------- |
.IP \fBjconfig\fP |
Configure a FPGA with \fBjtag\fP(1). The input \fIFILE\fP must be in |
\fI.svf\fP format. This sub command is usually used for boards with a |
Cypress FX2 USB controller, like the Digilent Nexys2, Nexys3 or Atlys, |
and a FX2 firmware which emulates an Altera USB-Blaster programming cable. |
|
The USB device path is defined by the environment variables RETRO_FX2_VID |
and RETRO_FX2_PID, or defaults to vid=16c0 and pid=03ef. |
|
Use the \fBfx2load_wrapper\fP(1) command to ensure that the proper firmware |
is loaded in the Cypress FX2 USB controller. |
The \fBbit2svf\fP sub command can be used to create a \fI.svf\fP from |
a \fI.bit\fP file. |
. |
.\" ------------------------------------------------------------------ |
.SH EXIT STATUS |
In case of an error an exit status 1 is returned. |
. |
.\" ------------------------------------------------------------------ |
.SH ENVIRONMENT |
.IP "\fBRETRO_FX2_VID, RETRO_FX2_PID\fR" 4 |
Used by the \fBjconfig\fP sub command to define the USB path of the |
Cypress FX2 USB controller emulating an Altera USB-Blaster cable. |
.IP \fBXILINX\fR |
Path to current XILINX ISE installation. Required by all sub commands, |
mainly to locate the \fI.bsdl\fP files which describe the JTAG commands |
of all devices in the JTAG chain. |
.br |
Best is to use \fBconfig_wrapper\fP with the \fBxtwi\fP(1) wrapper, this will |
automatically define this environment variable. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBconfig_wrapper bit2svf test.bit\fR" 4 |
Creates \fItest.svf\fP from \fItest.bit\fP. |
. |
.IP "\fBconfig_wrapper --board=nexys2 iconfig test.bit\fR" |
Configures a Nexys2 board with \fItest.bit\fP using ISE \fBimpact\fP. |
. |
.IP "\fBconfig_wrapper --board=nexys3 jconfig test.svf\fR" |
Configures a Nexys3 board with \fItest.svf\fP using \fBjtag\fP(1). |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR jtag (1), |
.BR fx2load_wrapper (1), |
.BR xtwi (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/xise_ghdl_simprim.1
0,0 → 1,71
.\" -*- nroff -*- |
.\" $Id: xise_ghdl_simprim.1 639 2015-01-30 18:12:19Z mueller $ |
.\" |
.\" Copyright 2010-2015 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH XISE_GHDL_SIMPRIM 1 2015-01-29 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
xise_ghdl_simprim \- compile Xilinx ISE SIMPRIM libraries for ghdl |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.B xise_ghdl_simprim |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
\fBxise_ghdl_simprim\fP compiles the Xilinx ISE/WebPack SIMPRIM libraries |
for \fBghdl\fP. |
The object files generated by \fBghdl\fP are stored in the directory |
tree of the currently active version of ISE/WebPack under |
\fI$XILINX/ghdl/simprim\fP. |
|
Since direct calls to ISE tools are in general encapsulated with \fBxtwi\fP(1) |
the \fI$XTWI_PATH\fP is used instead of \fI$XILINX\fP. |
This allows to use this script and \fBghdl\fP without a \fBxtwi\fP wrapper. |
|
Just use the \fBghdl\fP option |
|
.EX |
-P${XWTI_PATH}/ISE_DE/ISE/ghdl/unisim |
.EE |
|
to link to the SIMPRIM library. |
|
Up to ISE 10 the VITAL models were all concatinated in one large file |
\fIsimprim_VITAL.vhd\fP. |
In this case the \fBxilinx_vhdl_chop\fP |
helper script will create individual source files for each model. |
For ISE 11 and later the modules are shipped as separate files. |
|
The Xilinx source code has since many releases some buggy statements with |
self-referencial initializations. They seem to be tolerated by the commercial |
tools but not by \fBghdl\fP. |
The \fBxilinx_vhdl_memcolltype_fix\fP |
helper script simply removes them, no further problems seen so far. |
|
.\" ------------------------------------------------------------------ |
.SH ENVIRONMENT VARIABLES |
.IP \fBXTWI_PATH\fP |
points to the root of the currently active ISE/WebPack installation. |
. |
.\" ------------------------------------------------------------------ |
.SH FILES |
.IP \fI$XTWI_PATH/ISE_DS/ISE/vhdl/src/simprims\fP |
The vhdl sources for the SIMPRIM library are looked for in this directory tree. |
.IP \fI$XTWI_PATH/ISE_DS/ISE/ghdl/simprim\fP |
The created object files will be written into this directory. The directory |
is created if not yet existing. Note that the \fI$XTWI_PATH\fP |
directory must be writable for the script. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR xtwi (1), |
.BR ghdl (1), |
.BR xilinx_ghdl_unisim (1) |
. |
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/xtwv.1
0,0 → 1,67
.\" -*- nroff -*- |
.\" $Id: xtwv.1 651 2015-02-26 21:32:15Z mueller $ |
.\" |
.\" Copyright 2014- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH XTWV 1 2014-04-21 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
xtwv \- Xilinx Tool Wrapper script for Vivado |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY xtwv |
.OP COMMAND |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
The Xilinx Vivado setup script redefines PATH and LD_LIBRARY_PATH. |
The Vivado tools run fine in this environment, but other installed programs |
on the system might fail. \fBxtwv\fP helps to keep the Vivado environment |
separate from the normal working environment. |
|
The environment variable XTWV_PATH must be setup to the install path |
of the Vivado version to be used. |
|
\fBxtwv\fP uses XTWV_PATH to locate the Vivado setup script, sources it, |
and execs the \fICOMMAND\fP. This way \fICOMMAND\fP is executed in the |
Vivado environment, while the login shell stays clean. |
|
. |
.\" ------------------------------------------------------------------ |
.SH ENVIRONMENT |
.TP 4 |
.B BXTWV_PATH |
Install path of Vivado |
. |
.\" ------------------------------------------------------------------ |
.SH FILES |
.TP 4 |
$XTWV_PATH/settings32.sh |
.TQ |
$XTWV_PATH/settings64.sh |
Vivado setup script located and sourced on 32 or 64 bit systems |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBxtwv vivado -mode batch -source test.tcl" 4 |
Starts vivado in batch mode and executes the script \fItest.tcl\fP. |
. |
.\" ------------------------------------------------------------------ |
.SH "NOTES" |
Vivado is a lot less intrusive as ISE, but it's still a good precaution to |
wrap calls of Vivado tools with \fBxtwv\fP. |
.br |
If both Vivado and ISE are used \fBxtwv\fP and \fBxtwi\fP(1) offer a convenient |
way to have both tools available in one session without interference. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR xtwi (1) |
. |
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/xviv_ghdl_unisim.1
0,0 → 1,67
.\" -*- nroff -*- |
.\" $Id: xviv_ghdl_unisim.1 642 2015-02-06 18:53:12Z mueller $ |
.\" |
.\" Copyright 2015- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH XVIV_GHDL_UNISIM 1 2015-02-04 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
xviv_ghdl_unisim \- compile Xilinx Vivado UNISIM and UNIMACRO libraries for ghdl |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.B xviv_ghdl_unisim |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
\fBxviv_ghdl_unisim\fP compiles the Xilinx Vivado UNISIM and UNIMACRO |
libraries for \fBghdl\fP. The object files generated by \fBghdl\fP |
are stored in the directory tree of the currently active version of |
Vivado under \fI$XTWV_PATH/ghdl/unisim\fP and \fI$XTWV_PATH/ghdl/unimacro\fP. |
|
This script build the 'retarget' version of UNISIM, thus most legacy entities |
from the ISE UNISIM library are available and will be mapped to the matching |
Series-7 entities. |
|
Just use the \fBghdl\fP option |
|
.EX |
-P${XWTI_PATH}/ghdl/unisim |
-P${XWTI_PATH}/ghdl/unimacro |
.EE |
|
to link to the UNISIM or UNIMACRO library. |
\fBghdl\fP can be used without a \fBxtwv\fP wrapper. |
|
The Xilinx source code has since many releases some buggy statements with |
self-referencial initializations. They seem to be tolerated by the commercial |
tools but not by \fBghdl\fP. |
The \fBxilinx_vhdl_memcolltype_fix\fP |
helper script simply removes them, no further problems seen so far. |
|
.\" ------------------------------------------------------------------ |
.SH ENVIRONMENT VARIABLES |
.IP \fBXTWV_PATH\fP |
points to the root of the currently active Vivado installation. |
. |
.\" ------------------------------------------------------------------ |
.SH FILES |
.IP \fI$XTWV_PATH/data/vhdl/src/unisims\fP |
The vhdl sources for the Xilinx Vivado UNISIM library |
.IP \fI$XTWV_PATH/data/vhdl/src/unimacro\fP |
The vhdl sources for the Xilinx Vivado UNIMACRO library |
.IP \fI$XTWV_PATH/ghdl\fP |
The created object files will be written into this directory. The directory |
is created if not yet existing. Note that the \fI$XTWV_PATH\fP |
directory must be writable for the script. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR xtwv (1), |
.BR ghdl (1) |
. |
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/tbw.1
0,0 → 1,204
.\" -*- nroff -*- |
.\" $Id: tbw.1 620 2014-12-25 10:48:35Z mueller $ |
.\" |
.\" Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH TBW 1 2011-11-06 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
tbw \- wrapper script to start ghdl based VHDL test benches |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY tbw |
.I TBPROG |
.RI [ OPTIONS ] |
.RI [ FILEDEF ]... |
.RI [ GHDL-OPTIONS ]... |
. |
.SY tbw |
.B \-\-help |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Executes the \fBghdl\fP based test bench \fITBPROG\fP in an environment |
defined by the descriptor file \fItbw.dat\fP and the \fIFILEDEF\fP |
arguments. Any additional options \fIGHDL-OPTIONS\fP are passed on to the test |
bench executable. |
|
.SS Backgroud |
The VHDL implementation in \fBghdl\fP has no direct support for passing |
command line arguments to the VHDL code. All test benches in the Retro |
project use therefore fixed build-in generic file names. By convention |
they refer to symlinks (see \fBsymlink\fP(7)) which are setup by |
\fBtbw\fP to point to a specific file prior to the execution of the |
test bench. |
|
.SS Default behaviour |
In the simplest case \fBtbw\fP assumes a test bench with a single stimulus |
file which is opened by convention as \'<TBPROG>_stim\'. The default |
stimulus file is named \'<TBPROG>_stim.dat\'. \fBtbw\fP will simply |
define \'<TBPROG>_stim\' as a symlink refering to \'<TBPROG>_stim.dat\', |
or if defined to \fIFILEDEF\fP, and execute \fITBPROG\fP. In essence |
|
.EX |
ln -s -f <TBPROG>_stim.dat <TBPROG>_stim |
<TBPROG> <GHDL-OPTIONS> |
.EE |
. |
.SS Using a \fItbw.dat\fP configuration file |
When the generic file name or the stimulus file name does not follow the |
simple default pattern or more than one input file is required a |
configuration file can be used to define the setup. It has the fixed |
name \fItbw.dat\fP and is searched the current working directory. The |
format is described in section FILES. |
|
In this case the \fIFILEDEF\fP argument can be specified as 'tag=value' |
pairs where tag refers to a generic name and value gives the concrete |
file name. Useful when several input files are to be specified. |
. |
.SS Test benches controlled with \fBti_rri\fP |
In this case the communication between test bench and the controlling |
\fBti_rri\fP is done via two named pipes (see \fBfifo\fP(7)). The test |
bench might open in addition a configuration file. This setup is also |
defined via the \fItbw.dat\fP file, for details see section FILES. |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
The options \fB\-run\fP, \fB\-fifo\fP and \fB\-verbose\fP are processed |
by tbw itself. If more than one is given they must be in this order. |
.IP \fB\-run\fR |
Used for _ISim tb's, runs the tb with a 'run all' command. |
.IP \fB\-fifo\fR |
Forces usage of rlink_cext fifo, will ignore tbw.dat |
.IP \fB\-verbose\fR |
show the used tag,value settings before execution |
|
.\" ------------------------------------------------------------------ |
.SH GHDL OPTIONS |
All options are passed on to the test bench executable. The list of |
available options for a \fBghdl\fP generated executable can be inquired |
with the "\fB\-\-help\fR" option. Some especially useful options are: |
. |
.\" ---------------------------------------------- |
.IP "\fB\-\-wave=\fIfile\fR" |
dump signal values into a wave file (use file type .ghw). Far superior |
to the VCD format and allows to inspect all VHDL records and all data types |
with \fBgtkwave\fP(1). |
. |
.\" ---------------------------------------------- |
.IP "\fB\-\-stack-max-size\fP=\fIn\fR" |
set maximum stack size. Very helpful in case of very large models. A value |
of \fIn\fP=16384 is in general enough for all generated models, which usually |
have a large number of very simple processes. |
. |
.\" ---------------------------------------------- |
.IP "\fB\-\-stop-time\fI=t\fR" |
stop the simulation at time \fIt\fP (in VHDL notation, e.g. 100ns). |
. |
.\" ---------------------------------------------- |
.IP "\fB\-\-disp-time\fR" |
display time as simulation advances. |
. |
.\" ---------------------------------------------- |
.IP "\fB\-\-trace-processes\fR" |
display process name before each cycle. |
. |
.\" ------------------------------------------------------------------ |
.SH FILES |
.IP "\fI./tbw.dat\fR" 4 |
This configuration file is searched for in the current working directory |
and holds associations between generic file names and concrete file names |
for one or more test bench executables. It contains sections of the format |
|
.EX |
[\fITBPROG\fP] |
<generic name 1> = <concrete file name 1> |
<generic name 2> = <concrete file name 2> |
... |
.EE |
|
.RS |
.IP "\fBUsage with Stimulus file based test benches\fR" 4 |
\fBtbw\fP will create a \fBsymlink\fP(7) with the generic name which |
refers to the given concrete file name. A typical example is |
|
.EX |
[tb_nx_cram_memctl_as] |
tb_nx_cram_memctl_stim = tb_nx_cram_memctl_stim.dat |
.EE |
|
.IP "\fBUsage with test benches controlled with ti_rri\fR" |
The special token \fI<fifo>\fP indicates that a named pipe is used |
rather than a normal file. In this case \fBtbw\fP will create a |
\fBfifo\fP(7) rather than a symlink. Another special token is |
\fI<null>\fP, it simply translates to \fI/dev/null\fP and can be |
used as default value for configuration files. Currently all |
\fBrlink\fP based test benches use the same generic names and have |
a setup like |
|
.EX |
[tb_w11a_n3] |
rlink_cext_fifo_rx = <fifo> |
rlink_cext_fifo_tx = <fifo> |
rlink_cext_conf = <null> |
.EE |
|
.RE |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.SS Stimulus file based test benches |
Test benches are usually self-checking and produce a comprehensive log file. |
For each checked response the line contains the word \fICHECK\fP and either |
an \fIOK\fP or a \fIFAIL\fP, in the later case in general with an indication |
of whats wrong. |
Other unexpected behaviour, like timeouts, will also result in a line |
containing the word \fIFAIL\fP. |
When the simulation stops a line with the word \fIDONE\fP is printed. |
These test benches are usually run like |
|
.EX |
tbw <testbenchname> [stimfile] | tee <logfile> | egrep "(FAIL|DONE)" |
.EE |
|
where |
.RS 2 |
.PD 0 |
.IP "\-" 2 |
\fBtbw\fP sets up the stimulus file and runs the test bench executable |
.IP "\-" |
\fBtee\fP ensures that the full log is saved |
.IP "\-" |
\fBegrep\fP filters \fIFAIL\fP and \fIDONE\fP lines, a successful run will |
produce a single \fIDONE\fP line |
.PD |
.RE |
|
.SS Test benches controlled with \fBti_rri\fP |
In these cases the test bench is started via \fBti_rri\fP using the |
\fB\-\-run\fP and \fB\-\-fifo\fP options. Also here usually a pipe with |
\fBtee\fP and \fBegrep\fP is used, a typical example is |
|
.EX |
ti_rri \-\-run="tbw tb_tst_rlink_n3" \-\-fifo \-\-logl=3 \-\- \\ |
"package require tst_rlink" \\ |
"tst_rlink::setup" "tst_rlink::test_all" |\\ |
tee tb_tst_rlink_n3_dsim.log |\\ |
egrep "(\-[EFW]:|FAIL|PEND|DONE)" |
.EE |
|
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR ti_rri (1), |
.BR gtkwave (1), |
.BR symlink (7), |
.BR fifo (7) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/fx2load_wrapper.1
0,0 → 1,117
.\" -*- nroff -*- |
.\" $Id: fx2load_wrapper.1 581 2014-08-10 21:48:46Z mueller $ |
.\" |
.\" Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH FX2LOAD_WRAPPER 1 2013-01-05 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
fx2load_wrapper \- auto-load firmware into Cypress FX2 USB controller |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY fx2load_wrapper |
.OP \-\-board=\fIb\fP |
.OP \-\-file=\fIf\fP |
.OP \-\-ihx_path=\fIp\fP |
.OP \-\-cycfx2prog |
.OP \-\-force |
.OP \-\-dry_run |
. |
.SY fx2load_wrapper |
.B \-\-help |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Checks firmware state of a Cypress FX2 USB controller and re-loads the |
firmware in case of a mismatch of currently active and desired firmware. |
|
The command locates a USB device with a USB path defined by the environment |
variables RETRO_FX2_VID and RETRO_FX2_PID, or default vid=16c0 and pid=03ef. |
It inquires with \fBlsusb\fP(1) the 'iProduct' attribute of the currently |
active USB descriptor. If this attribute is defined and equals the basename |
of the firmware image given with \fB-\-file\fP it is assumed the the proper |
firmware is already active. Otherwise the firmware image is loaded with |
either \fBfxload\fP(1) or \fBcycfx2prog\fP. |
|
\fBNote:\fP after a firmware load the Cypress FX2 USB controller restarts. |
This causes a USB re-numeratation, the USB device disconnects and reconnects |
with a new device descriptor. It can take some time till the Linux USB stack |
shows the new device descriptor. The command sleeps for 1.5 seconds, this is |
usually enough to ensure that subsequent commands see the new state. |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-board=\fIb\fR |
determines the type of board to be configured. The default is 'nexys2', |
currently supported boards are: |
.RS |
.PD 0 |
.IP \fBnexys2\fP |
Digilent Nexys2. Default file: nexys2_jtag_2fifo_ic.ihx |
.IP \fBnexys3\fP |
Digilent Nexys3. Default file: nexys3_jtag_2fifo_ic.ihx |
.IP \fBatlys\fP |
Digilent Atlys. Default file: nexys3_jtag_2fifo_ic.ihx |
.RE |
.PD |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-file=\fIf\fR |
specifies the firmware image to be loaded. Must be in \fI.ihx\fP format |
and located in the path defined with the \fB\-\-ihx_path\fP option. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-ihx_path=\fIp\fR |
specifies the directory were firmware image files are searched. The default |
is \fI$RETROBASE/tools/fx2/bin\fP. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-cycfx2prog\fP |
Use \fBcycfx2prog\fP instead of \fBfxload\fP(1) to load the firmware. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-force\fP |
Unconditionally load the firmware, even when a 'iProduct' attribute match |
is seen. Useful to reset the Cypress FX2 controller. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-dry_run\fP |
Don't load the firmware, display only the command used to do so. |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-help\fP |
print help text and exit. |
. |
.\" ------------------------------------------------------------------ |
.SH EXIT STATUS |
In case of an error an exit status 1 is returned. |
. |
.\" ------------------------------------------------------------------ |
.SH ENVIRONMENT |
.IP "\fBRETRO_FX2_VID, RETRO_FX2_PID\fR" 4 |
Define the USB path of the Cypress FX2 USB controller. If not specified |
the defaults vid=16c0 and pid=03ef are used. |
.IP \fBRETROBASE\fR |
Path to current Retro project root directory. Used for the default |
firmware path in case no \fB\-\-ihx_path\fP option given. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBfx2load_wrapper --board=nexys2 --file=nexys2_jtag_2fifo_ic.ihx\fR" 4 |
Checks whether the 'nexys2_jtag_2fifo_ic' version of the firmware is loaded |
and in case not loads the firmware image. |
|
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR fxload (1), |
.BR config_wrapper (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/console_starter.1
0,0 → 1,127
.\" -*- nroff -*- |
.\" $Id: console_starter.1 581 2014-08-10 21:48:46Z mueller $ |
.\" |
.\" Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH CONSOLE_STARTER 1 2010-07-09 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
console_starter \- setup vt52/vt100 emulator windows for ti_rri or simh |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY console_starter |
.OP \-t term |
.OP \-d dev |
.OP \-s |
.OP \-w |
.OP \-l |
. |
.SY console_starter |
.B \-\-h |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Script to setup a \fBxterm\fP vt52 or vt100 emulator window which |
will connect to a DL11 or DZ11 serial interface emulation port of |
\fBti_rri\fP or a CPU emulator from the \fBsimh\fP suite, |
e.g. \fBpdp11\fP, via a \fBtelnet\fP connection. |
|
If the connect to the interface emulation port fails or is terminated |
a message like |
|
.EX |
localhost 8000 |
Trying 127.0.0.1... |
telnet: Unable to connect to remote host: Connection refused |
telnet failed with rc=256 |
enter q or <^D> to quit, otherwise hit <ENTER> to reconnect: |
.EE |
|
is displayed in the \fBxterm\fP window. Entering a 'q' or 'Control-D' |
will terminate the \fBxterm\fP window, after pressing the '<ENTER>' |
key a re-connect will be tried. |
|
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
. |
.\" ---------------------------------------------- |
.IP "\fB\-t \fIterm\fR" |
defines the terminal emulator type. Allowed values are: |
.RS |
.RS 3 |
.PD 0 |
.IP \fBvt100\fP 8 |
use VT100 emulation. The default. |
.IP \fBvt52\fP |
use VT52 emulation. Useful in conjunction with OS which do not have VT100 |
support, like early DEC RSX-11M versions. |
.RE |
.RE |
.PD |
. |
.\" ---------------------------------------------- |
.IP "\fB\-d \fIdev\fR" |
defines the serial interface emulation port to connect to. Supported |
are currently primary and secondary DL11 interface and eight lines of |
the first DZ11 interface. Allowed values for \fIdev\fP are: |
.RS |
.RS 3 |
.PD 0 |
.IP \fBDL0\fP 6 |
first DL11 (usually console). The default. |
.IP \fBDL1\fP 6 |
second DL11. |
.IP \fBDZ\fIn\fP 6 |
eight lines of the first DZ11. \fIn\fP = 0,...,7. |
.RE |
.RE |
.PD |
. |
.\" ---------------------------------------------- |
.IP "\fB\-s\fR" |
Use simh port numbers. Default is to use \fBti_rri\fP ports. |
. |
.\" ---------------------------------------------- |
.IP "\fB\-w\fR" |
Use a wide 132 column screen. Default is 80 column screen width. |
. |
.\" ---------------------------------------------- |
.IP "\fB\-l\fR" |
Use a long 48 line screen. Default is a 24 lines screen height. |
. |
.\" ---------------------------------------------- |
.IP "\fB\-h\fR" |
print full help text and exit. |
. |
. |
.\" ------------------------------------------------------------------ |
.SH EXIT STATUS |
In case of an error an exit status 1 is returned. |
. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBconsole_starter -d DL0 &\fR" 4 |
Creates a background process with a \fBxterm\fP in VT100 emulation mode |
with a 80x24 screen size which will try to connect to the primary DL11 |
emulator port of \fBti_rri\fP. |
. |
.IP "\fBconsole_starter -t vt52 -d DL1 -s &\fR" |
Creates a background process with a \fBxterm\fP in VT52 emulation mode |
with a 80x24 screen size which will try to connect to the secondary DL11 |
emulator port of a \fBsimh\fP suite CPU emulator. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR telnet (1), |
.BR ti_rri (1), |
.BR xterm (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/svn_set_ignore.1
0,0 → 1,50
.\" -*- nroff -*- |
.\" $Id: svn_set_ignore.1 550 2014-02-03 08:16:57Z mueller $ |
.\" |
.\" Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH SVN_SET_IGNORE 1 2010-04-26 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
svn_set_ignore \- setup svn:ignore properties based on .cvsignore files |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY svn_set_ignore |
.OP \-\-dry-run |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Creates or updates a \fIsvn:ignore\fP property for the current directory |
and all sub-directories. The current directory must contain a |
\fI.cvsignore\fP file which defines the default list of ignore patterns for the |
whole project. If a local \fI.cvsignore\fP file is found in a sub directory |
its content will be appended to the default list. |
. |
If no \fIsvn:ignore\fP property exists or the existing one differs from |
the ignore pattern list determined from the top level and local |
\f.cvsignore\fP file the property is set or updated. |
. |
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
. |
.\" ---------------------------------------------- |
.IP \fB\-\-dry-run\fP |
Shows \fIsvn:ignore\fP property changes, but doesn't store them in the |
svn repository. |
. |
.\" ------------------------------------------------------------------ |
.SH EXIT STATUS |
If no \fI.cvsignore\fP file is found or a \fBsvn\fP(1) command fails the |
script dies with exit status 2. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR svn (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/asm-11_expect.1
0,0 → 1,161
.\" -*- nroff -*- |
.\" $Id: asm-11_expect.1 550 2014-02-03 08:16:57Z mueller $ |
.\" |
.\" Copyright 2014- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH ASM-11_EXPECT 1 2013-03-30 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
asm-11_expect \- expect checker for asm-11 test bench |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY asm-11_expect |
.RI [ OPTION ]... |
.I FILE... |
. |
.SY asm-11_expect |
.B \-\-help |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
Reads one of more \fBasm-11\fP(1) listing files and checks for unexpected |
assembly errors and tests for expected address and generated data values. |
What is expected is specified by comments, described in section EXPECT COMMENTS, |
which are added to the asm-11 source code. |
asm-11 will copy these comments to the listing file and asm-11_expect extracts |
them and checks whether the actual assembly results match the expected ones. |
.PP |
asm-11_expect produces at least a one line summary per file like |
.PP |
.EX |
asm-11_expect: test_0010_alloc.lst OK |
asm-11_expect: test_0020_expr.lst OK |
.EE |
.PP |
where each file is marked either \fBOK\fR or \fBFAILED\fR. |
In case of detected errors additional output follows which gives a description |
of each error and the affected listing line, like |
.PP |
.EX |
asm-11_expect: test_0110_op_gg.lst FAILED |
FAIL: data 1 mismatch: found=177736, expect=177734 |
in: 1 27 001042 067700 177736 add @pa,r0 ;;!! 067700 177734 |
.EE |
.PP |
Main application for asm-11_expect is to build self-checking test benches |
for \fBasm-11\fP(1). |
. |
. |
.\" ------------------------------------------------------------------ |
.SH EXPECT COMMENTS |
The special comments which describe what to expect for an assembly line |
have the format |
.PP |
.EX |
;;!! [\fIetags\fP] [\fIaddr\fP:] [\fIdata\fP]... |
.EE |
.PP |
with |
.PP |
.PD 0 |
.IP "\fBetags\fP" |
list of expected assembly error flags, given as sequence of uppercase letters |
without white space between letters. |
.IP "\fBaddr\fP" |
expected location counter (value of '.'), given as 6 digit octal number. |
Note that all 6 digits must be specified, even leading zeros. |
.IP "\fBdata\fP" |
expected generated assembly output data, given as blank separated list |
of either 3 (for byte output) or 6 (for word output) digit octal numbers. |
Again, all 3 or 6 digits must be specified, even leading zeros. |
This is checked against the data section of the assembly listing. |
.br |
In general this is used to check data emitted into the binary output. |
However, some assembler statements, e.g. assignments or directives like .end, |
indicate some result value in data section, and this can of course be |
checked as well. |
.PD |
.PP |
All three components are optional. Error flags are always tested, if no |
\fIetags\fP are specified it is checked that no assembly error flag has |
been generated for the line. Address and data tests are only done in case |
\fIaddr\fP or \fIdata\fP components have been given. |
.PP |
If a line starts with an expect comment it will be applied to the asm-11 |
statement in the following line. Or it is simply appended to a asm-11 |
statement. |
.SS Comment examples |
.IP "\fB;;\-\- DM\fR" 4 |
expect a D and a M error flag |
.IP "\fB;;\-\- 001020:\fR" |
expect that current location will be 001020, data not checked |
.IP "\fB;;\-\- 074167 177762\fR" |
expect that the listing data section shows two words, 074167 and 177762. |
Address is not checked. |
.IP "\fB;;\-\- 001004: 000207\fR" |
expect that current location will be 001004 and that the listing data section |
shows one word with value 000207. |
|
.SS Some practical cases |
.EX |
.word 65537. ;;!! T |
sob r4,s4 ;;!! A |
|
stkbot: .blkw 400 ;;!! 001000: |
|
.word 100+77 ;;!! 000177 |
.byte 2+<4*10> ;;!! 042 |
spl 5 ;;!! 000235 |
inc @1234(r4) ;;!! 005274 001234 |
add @p,@#a ;;!! 067737 177614 001000 |
|
jsr pc,sub ;;!! 001006: 004767 177772 |
|
cmp = 1234 ;;!! 001234 |
c2 = inc + 67 ;;!! 005267 |
.end ;;!! 000001 |
|
.EE |
|
.\" ------------------------------------------------------------------ |
.SH OPTIONS |
. |
.\" ---------------------------------------------- |
.IP "\fB\-\-tline\fR" |
Prints input lines from listing file as they are processed. Helpful to |
debug expect comments, e.g. in conjunction with the \fB-\-tcheck\fR |
option. |
. |
.\" ---------------------------------------------- |
.IP "\fB\-\-tcheck\fR" |
Prints for each detected expect comment in the listing file a line reflecting |
the content of the comment, like |
.EX |
...line generated by \-\-tcheck ... | original expect comment |
exp: err=T | ;;!! T |
exp: dot=001000 | ;;!! 001000: |
exp: dat=060037 001000 | ;;!! 060037 001000 |
exp: dot=001006 dat=004767 | ;;!! 001006: 004767 |
.EE |
. |
.\" ---------------------------------------------- |
.IP "\fB\-help\fR" |
print full help text and exit. |
. |
.\" ------------------------------------------------------------------ |
.SH EXAMPLES |
.IP "\fBasm-11_expect *.lst\fR" 4 |
Will check all listing files in current directory and produce a listing with |
at least one summary line per file as described in section DESCRIPTION. |
|
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR asm-11 (1) |
|
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
/rm_dep.1
0,0 → 1,43
.\" -*- nroff -*- |
.\" $Id: rm_dep.1 321 2010-08-01 19:43:39Z mueller $ |
.\" |
.\" Copyright 2010- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.\" |
.\" ------------------------------------------------------------------ |
. |
.TH RM_DEP 1 2010-07-24 "Retro Project" "Retro Project Manual" |
.\" ------------------------------------------------------------------ |
.SH NAME |
rm_dep \- remove vbomconv generated dependency files in a directory tree |
.\" ------------------------------------------------------------------ |
.SH SYNOPSIS |
. |
.SY rm_dep |
.YS |
. |
.\" ------------------------------------------------------------------ |
.SH DESCRIPTION |
.B rm_dep |
removes all |
.B vbomconv |
generated dependency rule files from the whole directory tree starting |
at the current working directory. Specifically, it removes |
.PP |
.EX |
*.dep_ghdl |
*.dep_isim |
*.dep_xst |
*.dep_ucf_cpp |
.EE |
.PP |
The script produces a log to |
.I stdout |
indicating all removed files, the messages are generated by '\fIrm -v\fP'. |
. |
.\" ------------------------------------------------------------------ |
.SH "SEE ALSO" |
.BR vbomconv (1) |
. |
.\" ------------------------------------------------------------------ |
.SH AUTHOR |
Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
.
Property changes :
Added: svn:ignore
## -0,0 +1,33 ##
+*.dep_ghdl
+*.dep_isim
+*.dep_xst
+work-obj93.cf
+*.vcd
+*.ghw
+*.sav
+*.tmp
+*.exe
+ise
+xflow.his
+*.ngc
+*.ncd
+*.pcf
+*.bit
+*.msk
+isim
+isim.log
+isim.wdb
+fuse.log
+*_[sft]sim.vhd
+*_tsim.sdf
+*_xst.log
+*_tra.log
+*_twr.log
+*_map.log
+*_par.log
+*_tsi.log
+*_pad.log
+*_bgn.log
+*_svn.log
+*_sum.log
+*_[dsft]sim.log