OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [or1ksim/] [doc/] [or1ksim.info] - Diff between revs 19 and 82

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 19 Rev 82
Line 1... Line 1...
This is ../../doc/or1ksim.info, produced by makeinfo version 4.11 from
This is ../../doc/or1ksim.info, produced by makeinfo version 4.13 from
../../doc/or1ksim.texi.
../../doc/or1ksim.texi.
 
 
INFO-DIR-SECTION Embedded development
INFO-DIR-SECTION Embedded development
START-INFO-DIR-ENTRY
START-INFO-DIR-ENTRY
* Or1ksim: (or32-uclinux-or1ksim).      The OpenRISC 1000 Architectural
* Or1ksim: (or32-uclinux-or1ksim).      The OpenRISC 1000 Architectural
Line 62... Line 62...
===============
===============
 
 
Unpack the software and create a _separate_ directory in which to build
Unpack the software and create a _separate_ directory in which to build
it:
it:
 
 
     tar jxf or1ksim-0.3.0.tar.bz2
     tar jxf or1ksim-0.3.1-2010-04-20.tar.bz2
     mkdir builddir_or1ksim
     mkdir builddir_or1ksim
     cd builddir_or1ksim
     cd builddir_or1ksim
 
 


File: or1ksim.info,  Node: Configuring the Build,  Next: Build and Install,  Prev: Preparation,  Up: Installation
File: or1ksim.info,  Node: Configuring the Build,  Next: Build and Install,  Prev: Preparation,  Up: Installation
Line 79... Line 79...
 
 
The most significant argument is `--target', which should specify the
The most significant argument is `--target', which should specify the
OpenRISC 1000 32-bit architecture. If this argument is omitted, it will
OpenRISC 1000 32-bit architecture. If this argument is omitted, it will
default to OpenRISC 1000 32-bit with a warning
default to OpenRISC 1000 32-bit with a warning
 
 
     ../or1ksim-0.3.0/configure --target=or32-uclinux ...
     ../or1ksim-0.3.1-2010-04-20/configure --target=or32-uclinux ...
 
 
There are several other options available, many of which are standard
There are several other options available, many of which are standard
to GNU `configure' scripts. Use `configure --help' to see all the
to GNU `configure' scripts. Use `configure --help' to see all the
options. The most useful is `--prefix' to specify a directory for
options. The most useful is `--prefix' to specify a directory for
installation of the tools.
installation of the tools.
Line 106... Line 106...
    `--enable-execution=simple'
    `--enable-execution=simple'
          Build the original simple interpreting simulator
          Build the original simple interpreting simulator
 
 
    `--enable-execution=complex'
    `--enable-execution=complex'
          Build a more complex interpreting simulator. Experiments
          Build a more complex interpreting simulator. Experiments
          suggest this is 50% faster than the simple simulator. This is
          suggest this is 50% faster than the simple simulator.  This
          the default.
          is the default.
 
 
    `--enable-execution=dynamic'
    `--enable-execution=dynamic'
          Build a dynamically compiling simulator. This is the way many
          Build a dynamically compiling simulator.  This is the way
          modern ISS are built. This represents a work in progress.
          many modern ISS are built.  This represents a work in
          Currently Or1ksim will compile, but segfaults if configured
          progress.  Currently Or1ksim will compile, but segfaults if
          with this option.
          configured with this option.
 
 
 
 
     The default is `--enable-execution=complex'.
     The default is `--enable-execution=complex'.
 
 
`--enable-ethphy'
`--enable-ethphy'
Line 145... Line 145...
     `l.srai', `l.sub', `l.xor' and `l.xori'.
     `l.srai', `l.sub', `l.xor' and `l.xori'.
 
 
     The default is for this to be disabled.
     The default is for this to be disabled.
 
 
          Caution: This appears a very dangerous option, to the extent
          Caution: This appears a very dangerous option, to the extent
          of arguably being a bug. Whether or not flags are set is part
          of arguably being a bug.  Whether or not flags are set is
          of the OpenRISC 1000 architectural specification. Within the
          part of the OpenRISC 1000 architectural specification.
          above list, the arithmetic instructions (`l.add', `l.addc',
          Within the above list, the arithmetic instructions (`l.add',
          `l.addi', `l.div', `l.divu', `l.mul', `l.muli' and `l.sub'),
          `l.addc', `l.addi', `l.div', `l.divu', `l.mul', `l.muli' and
          together with `l.addic' which is missed out, set the overflow
          `l.sub'), together with `l.addic' which is missed out, set
          flag. All the others (`l.and', `l.andi', `l.or', `l.ori',
          the overflow flag.  All the others (`l.and', `l.andi',
          `l.sll', `l.slli', `l.srl', `l.srli', `l.sra', `l.srai',
          `l.or', `l.ori', `l.sll', `l.slli', `l.srl', `l.srli',
          `l.xor' and `l.xori') do not.
          `l.sra', `l.srai', `l.xor' and `l.xori') do not.
 
 
          Thus it is impossible to get correct behavior whichever way
          Thus it is impossible to get correct behavior whichever way
          this option is set.
          this option is set.
 
 
`--enable-arith-flag'
`--enable-arith-flag'
Line 189... Line 189...
 
 
`--enable-debug'
`--enable-debug'
`--disable-debug'
`--disable-debug'
     This is a feature of the Argtable2 package used to process
     This is a feature of the Argtable2 package used to process
     arguments. If enabled, some debugging features are turned on in
     arguments. If enabled, some debugging features are turned on in
     Argtable2. It is provided for completeness, but there is no reason
     Argtable2.  It is provided for completeness, but there is no
     why this feature should ever be needed by any Or1ksim user.
     reason why this feature should ever be needed by any Or1ksim user.
 
 
 
`--enable-all-tests'
 
`--disable-all-tests'
 
     Some of the tests (at the time of writing just one) will not
 
     compile without error.  If enabled with this flag, all test
 
     programs will be compiled with `make check'.
 
 
 
     This flag is intended for those working on the test package, who
 
     wish to get the missing test(s) working.
 
 
 
 


File: or1ksim.info,  Node: Build and Install,  Next: Known Issues,  Prev: Configuring the Build,  Up: Installation
File: or1ksim.info,  Node: Build and Install,  Next: Known Issues,  Prev: Configuring the Build,  Up: Installation
 
 
1.3 Building and Installing
1.3 Building and Installing
===========================
===========================
 
 
The tool is then built with:
Build the tool with:
 
 
     make all
     make all
 
 
 
If you have the OpenRISC tool chain and DejaGNU installed, you can
 
verify the tool as follows (otherwise omit this step):
 
 
 
     make check
 
 
 
Install the tool with:
 
 
     make install
     make install
 
 
This will install the three variations of the Or1ksim tool,
This will install the three variations of the Or1ksim tool,
`or32-uclinux-sim', `or32-uclinux-psim' and `or32-uclinux-mpsim', the
`or32-uclinux-sim', `or32-uclinux-psim' and `or32-uclinux-mpsim', the
Or1ksim library, `libsim', the header file, `or1ksim.h' and this
Or1ksim library, `libsim', the header file, `or1ksim.h' and this
Line 223... Line 240...
File: or1ksim.info,  Node: Known Issues,  Prev: Build and Install,  Up: Installation
File: or1ksim.info,  Node: Known Issues,  Prev: Build and Install,  Up: Installation
 
 
1.4 Known Problems and Issues
1.4 Known Problems and Issues
=============================
=============================
 
 
The following problems and issues are known about with Or1ksim 0.3.0.
The following problems and issues are known about with Or1ksim
The OpenRISC tracker may be used to see the current state of these
0.3.1-2010-04-20.  The OpenRISC tracker may be used to see the current
issues and to raise new problems and feature requests. It may be found
state of these issues and to raise new problems and feature requests.
at `http://www.opencores.org/ptracker.cgi/view/or1k/398'.
It may be found at
 
`http://www.opencores.org/ptracker.cgi/view/or1k/398'.
 
 
   * The Supervision Register Little Endian Enable (LEE) bit is
   * The Supervision Register Little Endian Enable (LEE) bit is
     ignored. Or1ksim can be built for either little endian or big
     ignored. Or1ksim can be built for either little endian or big
     endian use, but that behavior cannot be changed dynamically.
     endian use, but that behavior cannot be changed dynamically.
 
 
Line 261... Line 279...
     original design, and can only be fixed by a complete rewrite. The
     original design, and can only be fixed by a complete rewrite. The
     entire source code uses static global constants liberally!
     entire source code uses static global constants liberally!
 
 
   * There is no support for floating point instructions currently in
   * There is no support for floating point instructions currently in
     Or1ksim. However this is a work in progress and should be
     Or1ksim. However this is a work in progress and should be
     available in the near future.
     available in the future.
 
 
 
 


File: or1ksim.info,  Node: Usage,  Next: Configuration,  Prev: Installation,  Up: Top
File: or1ksim.info,  Node: Usage,  Next: Configuration,  Prev: Installation,  Up: Top
 
 
Line 288... Line 306...
The general form the standalone command is:
The general form the standalone command is:
 
 
     or32-uclinux-sim [-vhi] [-f FILE] [--nosrv] [--srv=[N]] [-d STR]
     or32-uclinux-sim [-vhi] [-f FILE] [--nosrv] [--srv=[N]] [-d STR]
                      [--enable-profile] [--enable-mprofile] [FILE]
                      [--enable-profile] [--enable-mprofile] [FILE]
 
 
Many of the options have both a short and a long form. For example `-h'
Many of the options have both a short and a long form.  For example
or `--help'.
`-h' or `--help'.
 
 
`-v'
`-v'
`--version'
`--version'
     Print out the version and copyright notice for Or1ksim and exit.
     Print out the version and copyright notice for Or1ksim and exit.
 
 
Line 304... Line 322...
`-f FILE'
`-f FILE'
`--file FILE'
`--file FILE'
     Read configuration commands from the specified file, looking first
     Read configuration commands from the specified file, looking first
     in the current directory, and otherwise in the `$HOME/.or1k'
     in the current directory, and otherwise in the `$HOME/.or1k'
     directory. If this argument is not specified, the file `sim.cfg'
     directory. If this argument is not specified, the file `sim.cfg'
     in those two locations is used. Failure to find the file is a fatal
     in those two locations is used.  Failure to find the file is a
     error. *Note Configuration: Configuration, for detailed information
     fatal error.  *Note Configuration: Configuration, for detailed
     on configuring Or1ksim.
     information on configuring Or1ksim.
 
 
`--nosrv'
`--nosrv'
     Do not start up the debug server. This overrides any setting
     Do not start up the debug server. This overrides any setting
     specified in the configuration file. This option may not be
     specified in the configuration file. This option may not be
     specified with `--srv'. If it is, a rude message is printed and the
     specified with `--srv'.  If it is, a rude message is printed and
     `--nosrv' option is ignored.
     the `--nosrv' option is ignored.
 
 
`--srv'
`--srv'
 
 
`--srv=N'
`--srv=N'
     Start up the debug server. If the parameter, N, is specified, use
     Start up the debug server. If the parameter, N, is specified, use
     that as the TCP/IP port for the server, otherwise a random value
     that as the TCP/IP port for the server, otherwise a random value
     from the private port range (41920-65535) will be used. This option
     from the private port range (41920-65535) will be used.  This
     may not be specified with `--nosrv'. If it is, a rude message is
     option may not be specified with `--nosrv'.  If it is, a rude
     printed and the `--nosrv' option is ignored.
     message is printed and the `--nosrv' option is ignored.
 
 
`-d=CONFIG_STRING'
`-d=CONFIG_STRING'
`--debug-config=CONFIG_STRING'
`--debug-config=CONFIG_STRING'
     Enable selected debug messages in Or1ksim. This parameter is for
     Enable selected debug messages in Or1ksim. This parameter is for
     use by developers only, and is not covered further here. See the
     use by developers only, and is not covered further here. See the
Line 336... Line 354...
     After starting, drop into the Or1ksim interactive command shell.
     After starting, drop into the Or1ksim interactive command shell.
 
 
`--strict-npc'
`--strict-npc'
     In real hardware, setting the next program counter (NPC, SPR 16),
     In real hardware, setting the next program counter (NPC, SPR 16),
     flushes the processor pipeline. The consequence of this is that
     flushes the processor pipeline. The consequence of this is that
     until the pipeline refills, reading the NPC will return zero. This
     until the pipeline refills, reading the NPC will return zero.
     is typically the case when debugging, since the processor is
     This is typically the case when debugging, since the processor is
     stalled.
     stalled.
 
 
     Historically, Or1ksim has always returned the value of the NPC,
     Historically, Or1ksim has always returned the value of the NPC,
     irrespective of when it is changed. If the `--strict-npc' option is
     irrespective of when it is changed.  If the `--strict-npc' option
     used, then Or1ksim will mirror real hardware more accurately. If
     is used, then Or1ksim will mirror real hardware more accurately.
     the NPC is changed while the processor is stalled, subsequent
     If the NPC is changed while the processor is stalled, subsequent
     reads of its value will return 0 until the processor is unstalled.
     reads of its value will return 0 until the processor is unstalled.
 
 
     This is not currently the default behavior, since tools such as
     This is not currently the default behavior, since tools such as
     GDB have been implemented assuming the historic Or1ksim behavior.
     GDB have been implemented assuming the historic Or1ksim behavior.
     However at some time in the future it will become the default.
     However at some time in the future it will become the default.
Line 363... Line 381...
File: or1ksim.info,  Node: Profiling Utility,  Next: Memory Profiling Utility,  Prev: Standalone Simulator,  Up: Usage
File: or1ksim.info,  Node: Profiling Utility,  Next: Memory Profiling Utility,  Prev: Standalone Simulator,  Up: Usage
 
 
2.2 Profiling Utility
2.2 Profiling Utility
=====================
=====================
 
 
This utility analyses instruction profile data generated by Or1ksim. It
This utility analyses instruction profile data generated by Or1ksim.
may be invoked as a standalone command, or from the Or1ksim CLI. The
It may be invoked as a standalone command, or from the Or1ksim CLI.
general form the standalone command is:
The general form the standalone command is:
 
 
     or32-uclinux-profile [-vhcq] [-g=FILE]
     or32-uclinux-profile [-vhcq] [-g=FILE]
 
 
Many of the options have both a short and a long form. For example `-h'
Many of the options have both a short and a long form.  For example
or `--help'.
`-h' or `--help'.
 
 
`-v'
`-v'
`--version'
`--version'
     Print out the version and copyright notice for the Or1ksim
     Print out the version and copyright notice for the Or1ksim
     profiling utility and exit.
     profiling utility and exit.
Line 407... Line 425...
be invoked as a standalone command, or from the Or1ksim CLI. The
be invoked as a standalone command, or from the Or1ksim CLI. The
general form the standalone command is:
general form the standalone command is:
 
 
     or32-uclinux-mprofile  [-vh] [-m=M] [-g=N] [-f=FILE] FROM TO
     or32-uclinux-mprofile  [-vh] [-m=M] [-g=N] [-f=FILE] FROM TO
 
 
Many of the options have both a short and a long form. For example `-h'
Many of the options have both a short and a long form.  For example
or `--help'.
`-h' or `--help'.
 
 
`-v'
`-v'
`--version'
`--version'
     Print out the version and copyright notice for the Or1ksim memory
     Print out the version and copyright notice for the Or1ksim memory
     profiling utility and exit.
     profiling utility and exit.
Line 483... Line 501...
 
 
     *Note Configuration: Configuration, for detailed information on
     *Note Configuration: Configuration, for detailed information on
     configuring Or1ksim and the format of the configuration file.
     configuring Or1ksim and the format of the configuration file.
 
 
     UPW is called for any write to an address external to the model
     UPW is called for any write to an address external to the model
     (determined by a `generic' section in the configuration file). UPR
     (determined by a `generic' section in the configuration file).
     is called for any reads to an external address. The CLASS_PTR is
     UPR is called for any reads to an external address.  The CLASS_PTR
     passed back with these upcalls, allowing the function to associate
     is passed back with these upcalls, allowing the function to
     the call with the class which originally initialized the library.
     associate the call with the class which originally initialized the
 
     library.
 
 
     MASK indicates which bytes in the word are to be written or read.
     MASK indicates which bytes in the word are to be written or read.
     Bytes to be read/written should have 0xff set in MASK. Otherwise
     Bytes to be read/written should have 0xff set in MASK. Otherwise
     the byte should be zero.
     the byte should be zero.
 
 
Line 528... Line 547...
     Return 1 (logical true) if the Or1ksim simulation is
     Return 1 (logical true) if the Or1ksim simulation is
     little-endian, 0 otherwise.
     little-endian, 0 otherwise.
 
 
 
 
 -- `or1ksim.h': unsigned long int or1ksim_clock_rate ()
 -- `or1ksim.h': unsigned long int or1ksim_clock_rate ()
     Return the Or1ksim clock rate (in Hz). This is the value specified
     Return the Or1ksim clock rate (in Hz).  This is the value
     in the configuration file.
     specified in the configuration file.
 
 
 
 
 -- `or1ksim.h': void or1ksim_interrupt (int I)
 -- `or1ksim.h': void or1ksim_interrupt (int I)
     Generate an edge-triggered interrupt on interrupt line I. The
     Generate an edge-triggered interrupt on interrupt line I. The
     interrupt is then immediately cleared automatically. A warning
     interrupt is then immediately cleared automatically. A warning
Line 703... Line 722...
All optional parts of the functionality are always described by
All optional parts of the functionality are always described by
sections including a `enabled' parameter, which can be set to 0 to
sections including a `enabled' parameter, which can be set to 0 to
ensure that functionality is explicitly omitted.
ensure that functionality is explicitly omitted.
 
 
Even if a section is disabled, all its parameters will be read and
Even if a section is disabled, all its parameters will be read and
stored. This is helpful if the section is subsequently enabled from the
stored.  This is helpful if the section is subsequently enabled from
Or1ksim command line (*note Interactive Command Line: Interactive
the Or1ksim command line (*note Interactive Command Line: Interactive
Command Line.).
Command Line.).
 
 
     Tip: It generally clearer to have sections describing _all_
     Tip: It generally clearer to have sections describing _all_
     components, with omitted functionality explicitly indicated by
     components, with omitted functionality explicitly indicated by
     setting the `enabled' parameter to 0
     setting the `enabled' parameter to 0
Line 741... Line 760...
     If 1 (true), print extra messages. Default 0.
     If 1 (true), print extra messages. Default 0.
 
 
`debug = 0-9'
`debug = 0-9'
     0 means no debug messages. 1-9 means produce debug messages. The
     0 means no debug messages. 1-9 means produce debug messages. The
     higher the value the greater the number of messages. Default 0.
     higher the value the greater the number of messages. Default 0.
     Negative values will be treated as 0 (with a warning). Values that
     Negative values will be treated as 0 (with a warning).  Values
     are too large will be treated as 9 (with a warning).
     that are too large will be treated as 9 (with a warning).
 
 
`profile = 0|1'
`profile = 0|1'
     If 1 (true) generate a profiling file using the file specified in
     If 1 (true) generate a profiling file using the file specified in
     the `prof_file' parameter or otherwise `sim.profile'. Default 0.
     the `prof_file' parameter or otherwise `sim.profile'. Default 0.
 
 
`prof_file = ``FILENAME'''
`prof_file = ``FILENAME'''
     Specifies the file to be used with the `profile' parameter. Default
     Specifies the file to be used with the `profile' parameter.
     `sim.profile'. For backwards compatibility, the alternative name
     Default `sim.profile'.  For backwards compatibility, the
     `prof_fn' is supported for this parameter, but deprecated.
     alternative name `prof_fn' is supported for this parameter, but
 
     deprecated.
 
 
`mprofile = 0|1'
`mprofile = 0|1'
     If 1 (true) generate a memory profiling file using the file
     If 1 (true) generate a memory profiling file using the file
     specified in the `mprof_file' parameter or otherwise
     specified in the `mprof_file' parameter or otherwise
     `sim.mprofile'. Default 0.
     `sim.mprofile'. Default 0.
Line 774... Line 794...
          Note: If this execution flow tracking is enabled, then
          Note: If this execution flow tracking is enabled, then
          `dependstats' must be enabled in the CPU configuration
          `dependstats' must be enabled in the CPU configuration
          section (*note CPU Configuration: CPU Configuration.).
          section (*note CPU Configuration: CPU Configuration.).
 
 
`exe_log = 0|1'
`exe_log = 0|1'
     If 1 (true), generate an execution log. Log is written to the file
     If 1 (true), generate an execution log.  Log is written to the
     specified in parameter `exe_log_file'. Default 0.
     file specified in parameter `exe_log_file'.  Default 0.
 
 
          Note: Setting this parameter seriously degrades performance.
          Note: Setting this parameter seriously degrades performance.
 
 
`exe_log_type = default|hardware|simple|software'
`exe_log_type = default|hardware|simple|software'
     Type of execution log to produce.
     Type of execution log to produce.
Line 814... Line 834...
 
 
`exe_log_start = VALUE'
`exe_log_start = VALUE'
     Address of the first instruction to start logging. Default 0.
     Address of the first instruction to start logging. Default 0.
 
 
`exe_log_end = VALUE'
`exe_log_end = VALUE'
     Address of the last instruction to log. Default no limit (i.e once
     Address of the last instruction to log.  Default no limit (i.e
     started logging will continue until the simulator exits).
     once started logging will continue until the simulator exits).
 
 
`exe_log_marker = VALUE'
`exe_log_marker = VALUE'
     Specifies the number of instructions between printing horizontal
     Specifies the number of instructions between printing horizontal
     markers. Default is to produce no markers.
     markers. Default is to produce no markers.
 
 
Line 921... Line 941...
`enable_bursts = 0 | 1'
`enable_bursts = 0 | 1'
     If 1 (true), bursts are detected. If 0 (the default), bursts are
     If 1 (true), bursts are detected. If 0 (the default), bursts are
     not detected.
     not detected.
 
 
`no_multicycle = 0 | 1'
`no_multicycle = 0 | 1'
     If 1 (true), no multicycle logic paths will be generated. If 0 (the
     If 1 (true), no multicycle logic paths will be generated.  If 0
     default), multicycle logic paths will be generated.
     (the default), multicycle logic paths will be generated.
 
 
`timings_file = "FILENAME"'
`timings_file = "FILENAME"'
     FILENAME specifies a file containing timing information. The
     FILENAME specifies a file containing timing information. The
     default value is `"virtex.tim"'. For backwards compatibility, the
     default value is `"virtex.tim"'. For backwards compatibility, the
     alternative name `timings_fn' is supported for this parameter, but
     alternative name `timings_fn' is supported for this parameter, but
Line 1017... Line 1037...
 
 
          Caution: The code for this does not appear to be complete or
          Caution: The code for this does not appear to be complete or
          well tested, so users are advised not to use this option.
          well tested, so users are advised not to use this option.
 
 
`hazards = 0|1'
`hazards = 0|1'
     If 1, data hazards are tracked in a superscalar CPU. Default value
     If 1, data hazards are tracked in a superscalar CPU.  Default
     is 0.
     value is 0.
 
 
     In the current simulator, the only functional effect is to cause
     In the current simulator, the only functional effect is to cause
     logging of hazard waiting information if the CPU is superscalar.
     logging of hazard waiting information if the CPU is superscalar.
     However nowhere in the simulator is this data actually computed,
     However nowhere in the simulator is this data actually computed,
     so the net result is probably to have no effect.
     so the net result is probably to have no effect.
Line 1032... Line 1052...
 
 
          Caution: The code for this does not appear to be complete or
          Caution: The code for this does not appear to be complete or
          well tested, so users are advised not to use this option.
          well tested, so users are advised not to use this option.
 
 
`dependstats = 0|1'
`dependstats = 0|1'
     If 1, inter-instruction dependencies are calculated. Default value
     If 1, inter-instruction dependencies are calculated.  Default
     0.
     value 0.
 
 
     If these values are calculated, the depencies can be displayed
     If these values are calculated, the depencies can be displayed
     using the simulator's `stat' command.
     using the simulator's `stat' command.
 
 
          Note: This field must be enabled, if execution execution flow
          Note: This field must be enabled, if execution execution flow
Line 1046... Line 1066...
          Behavior.).
          Behavior.).
 
 
`sbuf_len = VALUE'
`sbuf_len = VALUE'
     The length of the store buffer is set to VALUE, which must be no
     The length of the store buffer is set to VALUE, which must be no
     greater than 256. Larger values will be truncated to 256 with a
     greater than 256. Larger values will be truncated to 256 with a
     warning. Negative values will be treated as 0 with a warning. Use
     warning.  Negative values will be treated as 0 with a warning.
     0 to disable the store buffer.
     Use 0 to disable the store buffer.
 
 
     When the store buffer is active, stores are accumulated and
     When the store buffer is active, stores are accumulated and
     committed when I/O is idle.
     committed when I/O is idle.
 
 
 
 
Line 1059... Line 1079...
File: or1ksim.info,  Node: Memory Configuration,  Next: Memory Management Configuration,  Prev: CPU Configuration,  Up: Core OpenRISC Configuration
File: or1ksim.info,  Node: Memory Configuration,  Next: Memory Management Configuration,  Prev: CPU Configuration,  Up: Core OpenRISC Configuration
 
 
3.3.2 Memory Configuration
3.3.2 Memory Configuration
--------------------------
--------------------------
 
 
Memory configuration is described in `section memory'. This section may
Memory configuration is described in `section memory'.  This section
appear multiple times, specifying multiple blocks of memory. The
may appear multiple times, specifying multiple blocks of memory.  The
following parameters may be specified.
following parameters may be specified.
 
 
`type=random|pattern|unknown|zero'
`type=random|pattern|unknown|zero'
     Specifies the values to which memory should be initialized. The
     Specifies the values to which memory should be initialized. The
     default value is `unknown'.
     default value is `unknown'.
Line 1120... Line 1140...
     Set the base address of the memory to VALUE. It should be aligned
     Set the base address of the memory to VALUE. It should be aligned
     to a multiple of the memory size rounded up to the nearest 2^n.
     to a multiple of the memory size rounded up to the nearest 2^n.
     The default value is 0.
     The default value is 0.
 
 
`size = VALUE'
`size = VALUE'
     Set the size of the memory block to be VALUE bytes. This should be
     Set the size of the memory block to be VALUE bytes.  This should
     a multiple of 4 (i.e. word aligned). The default value is 1024.
     be a multiple of 4 (i.e.  word aligned).  The default value is
 
     1024.
 
 
          Note: When allocating memory, the simulator will allocate the
          Note: When allocating memory, the simulator will allocate the
          nearest 2^n bytes greater than or equal to VALUE, and will not
          nearest 2^n bytes greater than or equal to VALUE, and will not
          notice memory misses in any part of the memory between VALUE
          notice memory misses in any part of the memory between VALUE
          and the amount allocated.
          and the amount allocated.
Line 1202... Line 1223...
     which do not fit these criteria are ignored with a warning. The
     which do not fit these criteria are ignored with a warning. The
     default value is 1.
     default value is 1.
 
 
`nways = VALUE'
`nways = VALUE'
     Sets the number of data or instruction (as appropriate) TLB ways to
     Sets the number of data or instruction (as appropriate) TLB ways to
     VALUE. The value must be in the range 1 to 4. Values outside this
     VALUE.  The value must be in the range 1 to 4.  Values outside
     range are ignored with a warning. The default value is 1.
     this range are ignored with a warning.  The default value is 1.
 
 
`pagesize = VALUE'
`pagesize = VALUE'
     The data or instruction (as appropriate) MMU page size is set to
     The data or instruction (as appropriate) MMU page size is set to
     VALUE, which must be a power of 2. Values which are not a power of
     VALUE, which must be a power of 2.  Values which are not a power
     2 are ignored with a warning. The default is 8192 (0x2000).
     of 2 are ignored with a warning.  The default is 8192 (0x2000).
 
 
`entrysize = VALUE'
`entrysize = VALUE'
     The data or instruction (as appropriate) MMU entry size is set to
     The data or instruction (as appropriate) MMU entry size is set to
     VALUE, which must be a power of 2. Values which are not a power of
     VALUE, which must be a power of 2.  Values which are not a power
     2 are ignored with a warning. The default value is 1.
     of 2 are ignored with a warning.  The default value is 1.
 
 
          Note: Or1ksim does not appear to use the `entrysize' parameter
          Note: Or1ksim does not appear to use the `entrysize' parameter
          in its simulation of the MMUs. Thus setting this value does
          in its simulation of the MMUs. Thus setting this value does
          not seem to matter.
          not seem to matter.
 
 
Line 1288... Line 1309...
`load_hitdelay = VALUE'
`load_hitdelay = VALUE'
     _Data cache only_. Set the number of cycles a data load cache hit
     _Data cache only_. Set the number of cycles a data load cache hit
     costs. Default value 2.
     costs. Default value 2.
 
 
`load_missdelay = VALUE'
`load_missdelay = VALUE'
     _Data cache only_. Set the number of cycles a data load cache miss
     _Data cache only_.  Set the number of cycles a data load cache
     costs. Default value 2.
     miss costs.  Default value 2.
 
 
`store_hitdelay = VALUE'
`store_hitdelay = VALUE'
     _Data cache only_. Set the number of cycles a data store cache hit
     _Data cache only_. Set the number of cycles a data store cache hit
     costs. Default value 0.
     costs. Default value 0.
 
 
Line 1312... Line 1333...
`section pic'. This section may appear at most once--Or1ksim has no
`section pic'. This section may appear at most once--Or1ksim has no
mechanism for handling multiple interrupt controllers. The following
mechanism for handling multiple interrupt controllers. The following
parameters may be specified.
parameters may be specified.
 
 
`enabled = 0|1'
`enabled = 0|1'
     If 1 (true), the programmable interrupt controller is enabled. If 0
     If 1 (true), the programmable interrupt controller is enabled.  If
     (the default), it is disabled.
     0 (the default), it is disabled.
 
 
`edge_trigger = 0|1'
`edge_trigger = 0|1'
     If 1 (true, the default), the programmable interrupt controller is
     If 1 (true, the default), the programmable interrupt controller is
     edge triggered. If 0 (false), it is level triggered.
     edge triggered. If 0 (false), it is level triggered.
 
 
Line 1355... Line 1376...
Power management configuration is described in `section pm'. This
Power management configuration is described in `section pm'. This
section may appear at most once. The following parameter may be
section may appear at most once. The following parameter may be
specified.
specified.
 
 
`enabled = 0|1'
`enabled = 0|1'
     If 1 (true), power management is enabled. If 0 (the default), it is
     If 1 (true), power management is enabled.  If 0 (the default), it
     disabled.
     is disabled.
 
 
 
 


File: or1ksim.info,  Node: Branch Prediction Configuration,  Next: Debug Interface Configuration,  Prev: Power Management Configuration,  Up: Core OpenRISC Configuration
File: or1ksim.info,  Node: Branch Prediction Configuration,  Next: Debug Interface Configuration,  Prev: Power Management Configuration,  Up: Core OpenRISC Configuration
 
 
3.3.7 Branch Prediction Configuration
3.3.7 Branch Prediction Configuration
-------------------------------------
-------------------------------------
 
 
From examining the code base, it seems the branch prediction function
From examining the code base, it seems the branch prediction function
is not fully implemented. At present the functionality seems restricted
is not fully implemented.  At present the functionality seems
to collection of statistics.
restricted to collection of statistics.
 
 
Branch prediction configuration is described in `section bpb'. This
Branch prediction configuration is described in `section bpb'. This
section may appear at most once. The following parameters may be
section may appear at most once. The following parameters may be
specified.
specified.
 
 
Line 1387... Line 1408...
     If 1 (true), use forward prediction for the `l.bf' instruction. If
     If 1 (true), use forward prediction for the `l.bf' instruction. If
     0 (the default), do not use forward prediction for this
     0 (the default), do not use forward prediction for this
     instruction.
     instruction.
 
 
`sbp_bnf_fwd = 0|1'
`sbp_bnf_fwd = 0|1'
     If 1 (true), use forward prediction for the `l.bnf' instruction. If
     If 1 (true), use forward prediction for the `l.bnf' instruction.
     0 (the default), do not use forward prediction for this
     If 0 (the default), do not use forward prediction for this
     instruction.
     instruction.
 
 
`hitdelay = VALUE'
`hitdelay = VALUE'
     Set the number of cycles a branch prediction hit costs. Default
     Set the number of cycles a branch prediction hit costs. Default
     value 0.
     value 0.
Line 1431... Line 1452...
     For more detailed information on the interface to the GNU Debugger
     For more detailed information on the interface to the GNU Debugger
     see Embecosm Application Note 2, `Howto: Porting the GNU Debugger
     see Embecosm Application Note 2, `Howto: Porting the GNU Debugger
     Practical Experience with the OpenRISC 1000 Architecture', by
     Practical Experience with the OpenRISC 1000 Architecture', by
     Jeremy Bennett, published by Embecosm Limited (`www.embecosm.com').
     Jeremy Bennett, published by Embecosm Limited (`www.embecosm.com').
 
 
          Note: `rsp_enabled' may not be enabled with `gdb_enabled'
          Note: `rsp_enabled' may not be enabled with `gdb_enabled' (see
          (see below). If both are enabled, a warning is issued and
          below).  If both are enabled, a warning is issued and only
          only the "Remote Serial Protocol" interface is enabled.
          the "Remote Serial Protocol" interface is enabled.
 
 
`rsp_port = VALUE'
`rsp_port = VALUE'
     VALUE specifies the port to be used for the GDB "Remote Serial
     VALUE specifies the port to be used for the GDB "Remote Serial
     Protocol" interface to the GNU Debugger (GDB). Default value
     Protocol" interface to the GNU Debugger (GDB). Default value
     51000. If the value 0 is specified, Or1ksim will instead look for
     51000. If the value 0 is specified, Or1ksim will instead look for
     a TCP/IP service named `or1ksim-rsp'.
     a TCP/IP service named `or1ksim-rsp'.
 
 
          Tip: There is no registered port for Or1ksim "Remote Serial
          Tip: There is no registered port for Or1ksim "Remote Serial
          Protocol" service `or1ksim-rsp'. Good practice suggests users
          Protocol" service `or1ksim-rsp'.  Good practice suggests
          should adopt port values in the "Dynamic" or "Private" port
          users should adopt port values in the "Dynamic" or "Private"
          range, i.e. 49152-65535.
          port range, i.e.  49152-65535.
 
 
`gdb_enabled = 0|1'
`gdb_enabled = 0|1'
     If 1 (true), the OpenRISC Remote JTAG protocol server is started,
     If 1 (true), the OpenRISC Remote JTAG protocol server is started,
     provding an interface to an external GNU debugger, using the port
     provding an interface to an external GNU debugger, using the port
     specified in the `server_port' field (see below), or the `or1ksim'
     specified in the `server_port' field (see below), or the `or1ksim'
     TCP/IP service. If 0 (the default), the server is not started, and
     TCP/IP service.  If 0 (the default), the server is not started,
     no external interface is provided.
     and no external interface is provided.
 
 
     For more detailed information on the interface to the GNU Debugger
     For more detailed information on the interface to the GNU Debugger
     see Embecosm Application Note 2, `Howto: Porting the GNU Debugger
     see Embecosm Application Note 2, `Howto: Porting the GNU Debugger
     Practical Experience with the OpenRISC 1000 Architecture', by
     Practical Experience with the OpenRISC 1000 Architecture', by
     Jeremy Bennett, published by Embecosm Limited (`www.embecosm.com').
     Jeremy Bennett, published by Embecosm Limited (`www.embecosm.com').
Line 1464... Line 1485...
          OpenRISC, and remains only for backward compatibility. New
          OpenRISC, and remains only for backward compatibility. New
          users should adopt the standard GDB "Remote Serial Protocol"
          users should adopt the standard GDB "Remote Serial Protocol"
          interface (see `rsp_enabled' above) providing access to a
          interface (see `rsp_enabled' above) providing access to a
          wider range of GDB functionality.
          wider range of GDB functionality.
 
 
          Note: `gdb_enabled' may not be enabled with `rsp_enabled'. If
          Note: `gdb_enabled' may not be enabled with `rsp_enabled'.
          both are enabled, a warning is issued and only the "Remote
          If both are enabled, a warning is issued and only the "Remote
          Serial Protocol" interface is enabled.
          Serial Protocol" interface is enabled.
 
 
`server_port = VALUE'
`server_port = VALUE'
     VALUE specifies the port to be used for the OpenRISC Rmote JTAG
     VALUE specifies the port to be used for the OpenRISC Rmote JTAG
     protocol interface to the GNU Debugger (GDB). Default value 51000.
     protocol interface to the GNU Debugger (GDB).  Default value
     If the value 0 is specified, Or1ksim will instead look for a TCP/IP
     51000.  If the value 0 is specified, Or1ksim will instead look for
     service named `or1ksim'.
     a TCP/IP service named `or1ksim'.
 
 
          Tip: There is no registered port for Or1ksim Remote JTAG
          Tip: There is no registered port for Or1ksim Remote JTAG
          Interface or service `or1ksim'. Good practice suggests users
          Interface or service `or1ksim'. Good practice suggests users
          should adopt port values in the "Dynamic" or "Private" port
          should adopt port values in the "Dynamic" or "Private" port
          range, i.e. 49152-65535.
          range, i.e. 49152-65535.
Line 1521... Line 1542...
-------------------------------------
-------------------------------------
 
 
The memory controller used in Or1ksim is the component implemented at
The memory controller used in Or1ksim is the component implemented at
OpenCores, and found in the top level CVS directory, `mem_ctrl'. It is
OpenCores, and found in the top level CVS directory, `mem_ctrl'. It is
described in the document `Memory Controller IP Core' by Rudolf
described in the document `Memory Controller IP Core' by Rudolf
Usselmann, which can be found in the `doc' subdirectory. It is a memory
Usselmann, which can be found in the `doc' subdirectory.  It is a
mapped component, which resides on the main OpenRISC Wishbone data bus.
memory mapped component, which resides on the main OpenRISC Wishbone
 
data bus.
 
 
The memory controller configuration is described in `section mc'. This
The memory controller configuration is described in `section mc'. This
section may appear multiple times, specifying multiple memory
section may appear multiple times, specifying multiple memory
controllers. The following parameters may be specified.
controllers. The following parameters may be specified.
 
 
`enabled = 0|1'
`enabled = 0|1'
     If 1 (true, the default), this memory controller is enabled. If 0,
     If 1 (true, the default), this memory controller is enabled.  If
     it is disabled.
     0, it is disabled.
 
 
          Note: The memory controller can effectively also be disabled
          Note: The memory controller can effectively also be disabled
          by setting an appropriate power on control register value
          by setting an appropriate power on control register value
          (see below). However this should only be used if it is
          (see below). However this should only be used if it is
          desired to specifically model this behavior of the memory
          desired to specifically model this behavior of the memory
Line 1612... Line 1634...
          required).
          required).
 
 
    `channel="xterm:ARGS"'
    `channel="xterm:ARGS"'
          Create an xterm on startup, write UART Tx traffic to the
          Create an xterm on startup, write UART Tx traffic to the
          xterm and take Rx traffic from the keyboard when the xterm
          xterm and take Rx traffic from the keyboard when the xterm
          window is selected. Additional arguments to the xterm command
          window is selected.  Additional arguments to the xterm
          (for example specifying window size may be specified in ARGS,
          command (for example specifying window size may be specified
          or this may be left blank.
          in ARGS, or this may be left blank.
 
 
    `channel="tcp:VALUE"'
    `channel="tcp:VALUE"'
          Open the TCP/IP port specified by VALUE and read and write
          Open the TCP/IP port specified by VALUE and read and write
          UART traffic from and to it.
          UART traffic from and to it.
 
 
Line 1672... Line 1694...
-----------------------
-----------------------
 
 
The DMA controller used in Or1ksim is the component implemented at
The DMA controller used in Or1ksim is the component implemented at
OpenCores, and found in the top level CVS directory, `wb_dma'. It is
OpenCores, and found in the top level CVS directory, `wb_dma'. It is
described in the document `Wishbone DMA/Bridge IP Core' by Rudolf
described in the document `Wishbone DMA/Bridge IP Core' by Rudolf
Usselmann, which can be found in the `doc' subdirectory. It is a memory
Usselmann, which can be found in the `doc' subdirectory.  It is a
mapped component, which resides on the main OpenRISC Wishbone data bus.
memory mapped component, which resides on the main OpenRISC Wishbone
The present implementation is incomplete, intended only to support the
data bus.  The present implementation is incomplete, intended only to
Ethernet interface (*note Ethernet Configuration::), although the
support the Ethernet interface (*note Ethernet Configuration::),
Ethernet interface is not yet completed.
although the Ethernet interface is not yet completed.
 
 
DMA configuration is described in `section dma'. This section may
DMA configuration is described in `section dma'. This section may
appear multiple times, specifying multiple DMA controllers. The
appear multiple times, specifying multiple DMA controllers. The
following parameters may be specified.
following parameters may be specified.
 
 
`enabled = 0|1'
`enabled = 0|1'
     If 1 (true, the default), this DMA controller is enabled. If 0, it
     If 1 (true, the default), this DMA controller is enabled.  If 0,
     is disabled.
     it is disabled.
 
 
`baseaddr = VALUE'
`baseaddr = VALUE'
     Set the base address of the DMA's memory mapped registers to
     Set the base address of the DMA's memory mapped registers to
     VALUE. The default is 0, which is probably not a sensible value.
     VALUE. The default is 0, which is probably not a sensible value.
 
 
     The DMA controller has a 10 bit address bus, with a total of 253
     The DMA controller has a 10 bit address bus, with a total of 253
     32-bit registers. The first 5 registers at addresses 0x000 through
     32-bit registers. The first 5 registers at addresses 0x000 through
     0x010 control the overall behavior of the DMA controller. There are
     0x010 control the overall behavior of the DMA controller.  There
     then 31 blocks of 8 registers, controlling each of the 31 DMA
     are then 31 blocks of 8 registers, controlling each of the 31 DMA
     channels available. Addresses 0x014 through 0x01c are not used.
     channels available. Addresses 0x014 through 0x01c are not used.
 
 
`irq = VALUE'
`irq = VALUE'
     Use VALUE as the IRQ number of this DMA controller. Default value
     Use VALUE as the IRQ number of this DMA controller. Default value
     0.
     0.
Line 1717... Line 1739...
 
 
The Ethernet MAC used in Or1ksim is the component implemented at
The Ethernet MAC used in Or1ksim is the component implemented at
OpenCores, and found in the top level CVS directory, `ethernet'. It
OpenCores, and found in the top level CVS directory, `ethernet'. It
also forms part of the OpenRISC SoC, ORPSoC. It is described in the
also forms part of the OpenRISC SoC, ORPSoC. It is described in the
document `Ethernet IP Core Specification' by Igor Mohor, which can be
document `Ethernet IP Core Specification' by Igor Mohor, which can be
found in the `doc' subdirectory. It is a memory mapped component, which
found in the `doc' subdirectory.  It is a memory mapped component,
resides on the main OpenRISC Wishbone data bus.
which resides on the main OpenRISC Wishbone data bus.
 
 
Ethernet configuration is described in `section ethernet'. This section
Ethernet configuration is described in `section ethernet'.  This
may appear multiple times, specifying multiple Ethernet interfaces. The
section may appear multiple times, specifying multiple Ethernet
following parameters may be specified.
interfaces.  The following parameters may be specified.
 
 
`enabled = 0|1'
`enabled = 0|1'
     If 1 (true, the default), this Ethernet MAC is enabled. If 0, it is
     If 1 (true, the default), this Ethernet MAC is enabled.  If 0, it
     disabled.
     is disabled.
 
 
`baseaddr = VALUE'
`baseaddr = VALUE'
     Set the base address of the MAC's memory mapped registers to
     Set the base address of the MAC's memory mapped registers to
     VALUE. The default is 0, which is probably not a sensible value.
     VALUE. The default is 0, which is probably not a sensible value.
 
 
     The Ethernet MAC has a 7-bit address bus, with a total of 21
     The Ethernet MAC has a 7-bit address bus, with a total of 21
     32-bit registers. Addresses 0x54 through 0x7c are not used.
     32-bit registers. Addresses 0x54 through 0x7c are not used.
 
 
          Note: The Ethernet specification describes a Tx control
          Note: The Ethernet specification describes a Tx control
          register, `TXCTRL', at address 0x50. However this register is
          register, `TXCTRL', at address 0x50.  However this register
          not implemented in the Or1ksim model.
          is not implemented in the Or1ksim model.
 
 
`dma = VALUE'
`dma = VALUE'
     VALUE specifies the DMA controller with which this Ethernet is
     VALUE specifies the DMA controller with which this Ethernet is
     associated. The default value is 0.
     associated. The default value is 0.
 
 
Line 1754... Line 1776...
`irq = VALUE'
`irq = VALUE'
     Use VALUE as the IRQ number of this Ethernet MAC. Default value 0.
     Use VALUE as the IRQ number of this Ethernet MAC. Default value 0.
 
 
`rtx_type = 0|1'
`rtx_type = 0|1'
     If 1 (true) use a socket interface to the Ethernet (see parameter
     If 1 (true) use a socket interface to the Ethernet (see parameter
     `sockif' below). If 0 (the default), use a file interface, reading
     `sockif' below).  If 0 (the default), use a file interface,
     and writing from and to the files specified in the `rxfile' and
     reading and writing from and to the files specified in the
     `txfile' parameters (see below).
     `rxfile' and `txfile' parameters (see below).
 
 
          Note: By default the socket interface is not provided in
          Note: By default the socket interface is not provided in
          Or1ksim. If it is required, this must be requested when
          Or1ksim. If it is required, this must be requested when
          configuring, by use of the `--enable-ethphy' option to
          configuring, by use of the `--enable-ethphy' option to
          `configure'.
          `configure'.
Line 1780... Line 1802...
`txfile = "TXFILE"'
`txfile = "TXFILE"'
     When `rtx_type' is 0 (see above), RXFILE specifies the file to use
     When `rtx_type' is 0 (see above), RXFILE specifies the file to use
     as input and TXFILE specifies the fie to use as output.
     as input and TXFILE specifies the fie to use as output.
 
 
     The file contains a sequence of packets. Each packet consists of a
     The file contains a sequence of packets. Each packet consists of a
     packet length (32 bits), followed by that many bytes of data. Once
     packet length (32 bits), followed by that many bytes of data.
     the input file is empty, the Ethernet MAC behaves as though there
     Once the input file is empty, the Ethernet MAC behaves as though
     were no data on the Ethernet. The default values of these
     there were no data on the Ethernet.  The default values of these
     parameters are `"eth_rx"' and `"eth_tx"' respectively.
     parameters are `"eth_rx"' and `"eth_tx"' respectively.
 
 
     The input file must exist and be readable. The output file must be
     The input file must exist and be readable. The output file must be
     writable and will be created if necessary. If either of these
     writable and will be created if necessary. If either of these
     conditions is not met, a warning will be given.
     conditions is not met, a warning will be given.
Line 1852... Line 1874...
Or1ksim models a VGA interface to an external monitor.  The VGA
Or1ksim models a VGA interface to an external monitor.  The VGA
controller used in Or1ksim is the component implemented at OpenCores,
controller used in Or1ksim is the component implemented at OpenCores,
and found in the top level CVS directory, `vga_lcd', with no support
and found in the top level CVS directory, `vga_lcd', with no support
for the optional hardware cursors. It is described in the document
for the optional hardware cursors. It is described in the document
`VGA/LCD Core v2.0 Specifications' by Richard Herveille, which can be
`VGA/LCD Core v2.0 Specifications' by Richard Herveille, which can be
found in the `doc' subdirectory. It is a memory mapped component, which
found in the `doc' subdirectory.  It is a memory mapped component,
resides on the main OpenRISC Wishbone data bus.
which resides on the main OpenRISC Wishbone data bus.
 
 
The current implementation provides only functionality to dump the
The current implementation provides only functionality to dump the
screen to a file at intervals.
screen to a file at intervals.
 
 
VGA controller configuration is described in `section vga'. This
VGA controller configuration is described in `section vga'. This
Line 1917... Line 1939...
     If 1 (true, the default), this frame buffer is enabled. If 0, it
     If 1 (true, the default), this frame buffer is enabled. If 0, it
     is disabled.
     is disabled.
 
 
`baseaddr = VALUE'
`baseaddr = VALUE'
     Set the base address of the frame buffer's memory mapped registers
     Set the base address of the frame buffer's memory mapped registers
     to VALUE. The default is 0, which is probably not a sensible value.
     to VALUE.  The default is 0, which is probably not a sensible
 
     value.
 
 
     The frame buffer has an 121-bit address bus, with 4 32-bit
     The frame buffer has an 121-bit address bus, with 4 32-bit
     registers, at addresses 0x000 through 0x00c, and a PAL lookup
     registers, at addresses 0x000 through 0x00c, and a PAL lookup
     table at addresses 0x400 through 0x4ff. Addresses 0x010 through
     table at addresses 0x400 through 0x4ff. Addresses 0x010 through
     0x3fc and addresses 0x500 through 0x7ff are not used.
     0x3fc and addresses 0x500 through 0x7ff are not used.
Line 1955... Line 1978...
 
 
The implementation only provides for keyboard support, which is
The implementation only provides for keyboard support, which is
modelled as a file of keystrokes. There is no mouse support.
modelled as a file of keystrokes. There is no mouse support.
 
 
     Caution: A standard i8042 device has two registers at addresses
     Caution: A standard i8042 device has two registers at addresses
     0x60 (command) and 0x64 (status). Inspection of the code, suggests
     0x60 (command) and 0x64 (status).  Inspection of the code,
     that the Or1ksim component places these registers at addresses
     suggests that the Or1ksim component places these registers at
     0x00 and 0x04.
     addresses 0x00 and 0x04.
 
 
     The port of Linux for the OpenRISC 1000, which runs on Or1ksim
     The port of Linux for the OpenRISC 1000, which runs on Or1ksim
     implements the i8042 device driver, anticipating these registers
     implements the i8042 device driver, anticipating these registers
     reside at their conventional address. It seems unlikel that this
     reside at their conventional address. It seems unlikel that this
     code will work.
     code will work.
Line 2005... Line 2028...
 
 
The ATA/ATAPI disc controller used in Or1ksim is the OCIDEC (OpenCores
The ATA/ATAPI disc controller used in Or1ksim is the OCIDEC (OpenCores
IDE Controller) component implemented at OpenCores, and found in the
IDE Controller) component implemented at OpenCores, and found in the
top level CVS directory, `ata'. It is described in the document
top level CVS directory, `ata'. It is described in the document
`ATA/ATAPI-5 Core Specification' by Richard Herveille, which can be
`ATA/ATAPI-5 Core Specification' by Richard Herveille, which can be
found in the `doc' subdirectory. It is a memory mapped component, which
found in the `doc' subdirectory.  It is a memory mapped component,
resides on the main OpenRISC Wishbone data bus.
which resides on the main OpenRISC Wishbone data bus.
 
 
ATA/ATAPI configuration is described in `section ata'. This section may
ATA/ATAPI configuration is described in `section ata'.  This section
appear multiple times, specifying multiple disc controllers. The
may appear multiple times, specifying multiple disc controllers.  The
following parameters may be specified.
following parameters may be specified.
 
 
`enabled = 0|1'
`enabled = 0|1'
     If 1 (true, the default), this ATA/ATAPI interface is enabled. If
     If 1 (true, the default), this ATA/ATAPI interface is enabled. If
     0, it is disabled.
     0, it is disabled.
Line 2022... Line 2045...
     Set the base address of the ATA/ATAPI interface's memory mapped
     Set the base address of the ATA/ATAPI interface's memory mapped
     registers to VALUE. The default is 0, which is probably not a
     registers to VALUE. The default is 0, which is probably not a
     sensible value.
     sensible value.
 
 
     The ATA/ATAPI PS/2 interface has an 5-bit address bus, with 8
     The ATA/ATAPI PS/2 interface has an 5-bit address bus, with 8
     32-bit registers. Depending on the version of the OCIDEC ATA/ATAPI
     32-bit registers.  Depending on the version of the OCIDEC
     interface selected (see `dev_id' below), not all registers will be
     ATA/ATAPI interface selected (see `dev_id' below), not all
     available.
     registers will be available.
 
 
`irq = VALUE'
`irq = VALUE'
     Use VALUE as the IRQ number of this ATA/ATAPI interface. Default
     Use VALUE as the IRQ number of this ATA/ATAPI interface. Default
     value 0.
     value 0.
 
 
Line 2069... Line 2092...
`dma_mode0_td = VALUE'
`dma_mode0_td = VALUE'
`dma_mode0_teoc = VALUE'
`dma_mode0_teoc = VALUE'
     These parameters specify the timings for use with DMA transfers.
     These parameters specify the timings for use with DMA transfers.
     They are specified as the number of clock cycles - 2, rounded up
     They are specified as the number of clock cycles - 2, rounded up
     to the next highest integer, or zero if that would be negative.
     to the next highest integer, or zero if that would be negative.
     The values should not exceed 255. If they do, they will be ignored
     The values should not exceed 255.  If they do, they will be
     with a warning.
     ignored with a warning.
 
 
     See the ATA/ATAPI-5 specification for explanations of each of these
     See the ATA/ATAPI-5 specification for explanations of each of these
     timing parameters. The default values are:
     timing parameters. The default values are:
 
 
          dma_mode0_tm   =  4
          dma_mode0_tm   =  4
Line 2088... Line 2111...
Within the `section ata', each device is specified separately. The
Within the `section ata', each device is specified separately. The
device subsection is introduced by
device subsection is introduced by
 
 
     device VALUE
     device VALUE
 
 
VALUE is the device number, which should be 0 or 1. The subsection ends
VALUE is the device number, which should be 0 or 1.  The subsection
with `enddevice'. Note that if the same device number is specified more
ends with `enddevice'.  Note that if the same device number is
than once, the previous values will be overwritten. Within the `device'
specified more than once, the previous values will be overwritten.
subsection, the following parameters may appear:
Within the `device' subsection, the following parameters may appear:
 
 
`type = VALUE'
`type = VALUE'
     VALUEspecifies the type of device: 0 (the default) for "not
     VALUEspecifies the type of device: 0 (the default) for "not
     connected", 1 for hard disk simulated in a file and 2 for local
     connected", 1 for hard disk simulated in a file and 2 for local
     system hard disk.
     system hard disk.
Line 2216... Line 2239...
 
 
`pr REG VALUE'
`pr REG VALUE'
     Patch register REG with VALUE.
     Patch register REG with VALUE.
 
 
`dm FROMADDR [ TOADDR ]'
`dm FROMADDR [ TOADDR ]'
     Display memory bytes between FROMADDR and TOADDR. If TOADDR is not
     Display memory bytes between FROMADDR and TOADDR.  If TOADDR is
     given, 64 bytes are displayed, starting at FROMADDR.
     not given, 64 bytes are displayed, starting at FROMADDR.
 
 
          Caution: The output from this command is broken (a bug).
          Caution: The output from this command is broken (a bug).
          Or1ksim attempts to print out 16 bytes per row. However,
          Or1ksim attempts to print out 16 bytes per row. However,
          instead of printing out the address at the start of each row,
          instead of printing out the address at the start of each row,
          it prints the address (of the first of the 16 bytes) before
          it prints the address (of the first of the 16 bytes) before
Line 2248... Line 2271...
 
 
`breaks'
`breaks'
     List all set breakpoints
     List all set breakpoints
 
 
`reset'
`reset'
     Reset the simulator. Includes modeling a reset of the processor, so
     Reset the simulator.  Includes modeling a reset of the processor,
     execution will restart from the reset vector location, 0x100.
     so execution will restart from the reset vector location, 0x100.
 
 
`hist'
`hist'
     If saving the execution history has been configured (*note
     If saving the execution history has been configured (*note
     Simulator Behavior: Simulator Behavior.), display the execution
     Simulator Behavior: Simulator Behavior.), display the execution
     history.
     history.
Line 2263... Line 2286...
     When stalled, the processor can execute no instructions. This
     When stalled, the processor can execute no instructions. This
     command is useful when debugging the JTAG interface, used by
     command is useful when debugging the JTAG interface, used by
     debuggers such as GDB.
     debuggers such as GDB.
 
 
`unstall'
`unstall'
     Unstall the processor, so that normal execution can continue. This
     Unstall the processor, so that normal execution can continue.
     command is useful when debugging the JTAG interface, used by
     This command is useful when debugging the JTAG interface, used by
     debuggers such as GDB.
     debuggers such as GDB.
 
 
`stats CATEGORY | clear'
`stats CATEGORY | clear'
     Print the statistics for the given CATEGORY, if available, or
     Print the statistics for the given CATEGORY, if available, or
     clear if `clear' is specified. The categories are:
     clear if `clear' is specified. The categories are:
Line 2363... Line 2386...
     Run the memory profiling utility. This follows the same usage as
     Run the memory profiling utility. This follows the same usage as
     the standalone command (*note Memory Profiling Utility: Memory
     the standalone command (*note Memory Profiling Utility: Memory
     Profiling Utility.).
     Profiling Utility.).
 
 
`profile [-vhcq] [-g FILE]'
`profile [-vhcq] [-g FILE]'
     Run the instruction profiling utility. This follows the same usage
     Run the instruction profiling utility.  This follows the same
     as the standalone command (*note Profiling Utility: Profiling
     usage as the standalone command (*note Profiling Utility:
     Utility.).
     Profiling Utility.).
 
 
 
 
For all commands, it is possible to redirect the output to a file, by
For all commands, it is possible to redirect the output to a file, by
using the redirection operator, `>'.
using the redirection operator, `>'.
 
 
Line 2388... Line 2411...
 
 
5 Verification API (VAPI)
5 Verification API (VAPI)
*************************
*************************
 
 
The Verification API (VAPI) provides a TCP/IP interface to allow
The Verification API (VAPI) provides a TCP/IP interface to allow
components of the simulation to be controlled externally. The interface
components of the simulation to be controlled externally.  The
is polled for new requests on each simulated clock cycle. Components
interface is polled for new requests on each simulated clock cycle.
within the simulator may send responses to such requests.
Components within the simulator may send responses to such requests.
 
 
The inteface is an asynchronous duplex protocol. On the request side it
The inteface is an asynchronous duplex protocol.  On the request side
provides for simple commands, known as VAPI IDs (a 32 bit integer),
it provides for simple commands, known as VAPI IDs (a 32 bit integer),
with a single piece of data (also a 32 bit integer). On the send side,
with a single piece of data (also a 32 bit integer). On the send side,
it provides for sending a single VAPI ID and data. However there is no
it provides for sending a single VAPI ID and data. However there is no
explicit command-response structure. Some components just accept
explicit command-response structure. Some components just accept
requests (e.g. to set values), some just generate sends (to report
requests (e.g. to set values), some just generate sends (to report
values), and some do both.
values), and some do both.
Line 2448... Line 2471...
          The UART skew is set from the least significant 16 bits of
          The UART skew is set from the least significant 16 bits of
          the data
          the data
 
 
    `0x04'
    `0x04'
          If the 16th most significant bit of the data is 1, start
          If the 16th most significant bit of the data is 1, start
          sending breaks, otherwise stop sending breaks. The breaks are
          sending breaks, otherwise stop sending breaks.  The breaks
          sent or cleared after the number of UART clock divider ticks
          are sent or cleared after the number of UART clock divider
          specified by the data (immediately if the data is zero).
          ticks specified by the data (immediately if the data is zero).
 
 
 
 
DMA
DMA
     Although the DMA unit supports a base VAPI ID in its configuration
     Although the DMA unit supports a base VAPI ID in its configuration
     (`section dma'), no VAPI data is sent, nor VAPI requests currently
     (`section dma'), no VAPI data is sent, nor VAPI requests currently
Line 2607... Line 2630...
          addresses (`oraddr_t'), unsigned register values (`uorreg_t')
          addresses (`oraddr_t'), unsigned register values (`uorreg_t')
          and signed register (`orreg_t') values.
          and signed register (`orreg_t') values.
 
 
 
 
     Where new types are defined, they should appear in one of these two
     Where new types are defined, they should appear in one of these two
     files as appropriate. Or1ksim specific types appearing in `arch.h'
     files as appropriate.  Or1ksim specific types appearing in
     should always have the suffix `_h'.
     `arch.h' should always have the suffix `_h'.
 
 
_Don't begin names with underscore_
_Don't begin names with underscore_
     Names beginning with `_' are intended to be part of the C
     Names beginning with `_' are intended to be part of the C
     infrastructure. They should not be used in the simulator code.
     infrastructure. They should not be used in the simulator code.
 
 
Line 2625... Line 2648...
_Use of `inline'_
_Use of `inline'_
     Code should not be declared `inline'. Modern compilers can work
     Code should not be declared `inline'. Modern compilers can work
     out for themselves what is best in this respect.
     out for themselves what is best in this respect.
 
 
_Initialization_
_Initialization_
     All data structures should be explicitly initialized. In particular
     All data structures should be explicitly initialized.  In
     code should not rely on static data structures being initialized to
     particular code should not rely on static data structures being
     zero.
     initialized to zero.
 
 
     The rationale is that in future static data structures may become
     The rationale is that in future static data structures may become
     dynamic. This has been a particular source of bugs in Or1ksim
     dynamic. This has been a particular source of bugs in Or1ksim
     historically.
     historically.
 
 
Line 2694... Line 2717...
     `config.sim'.
     `config.sim'.
 
 
`config'
`config'
     This is a linked list of data structures holding configuration data
     This is a linked list of data structures holding configuration data
     for all sections which are not held in the main `config' data
     for all sections which are not held in the main `config' data
     structure. In general these are components (such as peripherals and
     structure.  In general these are components (such as peripherals
     memory) which may occur multiple times. However it also handles
     and memory) which may occur multiple times.  However it also
     some architectural components which may occur only once, such as
     handles some architectural components which may occur only once,
     the memory management units, the instruction cache, the interrupt
     such as the memory management units, the instruction cache, the
     controller and branch prediction.
     interrupt controller and branch prediction.
 
 
`runtime'
`runtime'
     The global variable `runtime' of type `struct runtime' holds all
     The global variable `runtime' of type `struct runtime' holds all
     the runtime information about the simulation. To access this
     the runtime information about the simulation. To access this
     variable, `sim-config.h' must be included.
     variable, `sim-config.h' must be included.
Line 2737... Line 2760...
 
 
6.4 Internal Debugging
6.4 Internal Debugging
======================
======================
 
 
The function `debug' is like `printf', but with an extra first
The function `debug' is like `printf', but with an extra first
argument, which is the debug level. If the debug level specified in the
argument, which is the debug level.  If the debug level specified in
simulator configuration (*note Simulator Behavior: Simulator Behavior.)
the simulator configuration (*note Simulator Behavior: Simulator
is greater than or equal to this value, the remaining arguments are
Behavior.) is greater than or equal to this value, the remaining
printed to the current output stream (*note Output Redirection: Output
arguments are printed to the current output stream (*note Output
Redirection.).
Redirection: Output Redirection.).
 
 


File: or1ksim.info,  Node: GNU Free Documentation License,  Next: Index,  Prev: Code Internals,  Up: Top
File: or1ksim.info,  Node: GNU Free Documentation License,  Next: Index,  Prev: Code Internals,  Up: Top
 
 
7 GNU Free Documentation License
7 GNU Free Documentation License
Line 3187... Line 3210...
* Menu:
* Menu:
 
 
* --cumulative:                          Profiling Utility.   (line  26)
* --cumulative:                          Profiling Utility.   (line  26)
* --debug-config:                        Standalone Simulator.
* --debug-config:                        Standalone Simulator.
                                                              (line  48)
                                                              (line  48)
 
* --disable-all-tests:                   Configuring the Build.
 
                                                              (line 128)
* --disable-arith-flag:                  Configuring the Build.
* --disable-arith-flag:                  Configuring the Build.
                                                              (line  93)
                                                              (line  93)
* --disable-debug:                       Configuring the Build.
* --disable-debug:                       Configuring the Build.
                                                              (line 121)
                                                              (line 121)
* --disable-ethphy:                      Configuring the Build.
* --disable-ethphy:                      Configuring the Build.
Line 3199... Line 3224...
                                                              (line  70)
                                                              (line  70)
* --disable-profiling:                   Configuring the Build.
* --disable-profiling:                   Configuring the Build.
                                                              (line  25)
                                                              (line  25)
* --disable-range-stats:                 Configuring the Build.
* --disable-range-stats:                 Configuring the Build.
                                                              (line  64)
                                                              (line  64)
 
* --enable-all-tests:                    Configuring the Build.
 
                                                              (line 127)
* --enable-arith-flag:                   Configuring the Build.
* --enable-arith-flag:                   Configuring the Build.
                                                              (line  92)
                                                              (line  92)
* --enable-debug:                        Configuring the Build.
* --enable-debug:                        Configuring the Build.
                                                              (line 120)
                                                              (line 120)
* --enable-ethphy:                       Configuring the Build.
* --enable-ethphy:                       Configuring the Build.
Line 3281... Line 3308...
* 0x03 UART VAPI sub-command (UART verification): Verification API.
* 0x03 UART VAPI sub-command (UART verification): Verification API.
                                                              (line  62)
                                                              (line  62)
* 0x04 UART VAPI sub-command (UART verification): Verification API.
* 0x04 UART VAPI sub-command (UART verification): Verification API.
                                                              (line  66)
                                                              (line  66)
* 16550 (UART configuration):            UART Configuration.  (line  73)
* 16550 (UART configuration):            UART Configuration.  (line  73)
 
* all tests enabled:                     Configuring the Build.
 
                                                              (line 128)
* Argtable2 debugging:                   Configuring the Build.
* Argtable2 debugging:                   Configuring the Build.
                                                              (line 121)
                                                              (line 121)
* ATA/ATAPI configuration:               Disc Interface Configuration.
* ATA/ATAPI configuration:               Disc Interface Configuration.
                                                              (line   6)
                                                              (line   6)
* ATA/ATAPI device configuration:        Disc Interface Configuration.
* ATA/ATAPI device configuration:        Disc Interface Configuration.
Line 3304... Line 3333...
* baseaddr (keyboard configuration):     Keyboard Configuration.
* baseaddr (keyboard configuration):     Keyboard Configuration.
                                                              (line  36)
                                                              (line  36)
* baseaddr (memory configuration):       Memory Configuration.
* baseaddr (memory configuration):       Memory Configuration.
                                                              (line  62)
                                                              (line  62)
* baseaddr (memory controller configuration): Memory Controller Configuration.
* baseaddr (memory controller configuration): Memory Controller Configuration.
                                                              (line  28)
                                                              (line  29)
* baseaddr (UART configuration):         UART Configuration.  (line  22)
* baseaddr (UART configuration):         UART Configuration.  (line  22)
* baseaddr (VGA configuration):          Display Interface Configuration.
* baseaddr (VGA configuration):          Display Interface Configuration.
                                                              (line  26)
                                                              (line  26)
* blocksize (cache configuration):       Cache Configuration. (line  29)
* blocksize (cache configuration):       Cache Configuration. (line  29)
* BPB configuration:                     Branch Prediction Configuration.
* BPB configuration:                     Branch Prediction Configuration.
Line 3328... Line 3357...
* byte_enabled (generic peripheral configuration): Generic Peripheral Configuration.
* byte_enabled (generic peripheral configuration): Generic Peripheral Configuration.
                                                              (line  48)
                                                              (line  48)
* cache configuration:                   Cache Configuration. (line   6)
* cache configuration:                   Cache Configuration. (line   6)
* calling_convention (CUC configuration): CUC Configuration.  (line  34)
* calling_convention (CUC configuration): CUC Configuration.  (line  34)
* ce (memory configuration):             Memory Configuration.
* ce (memory configuration):             Memory Configuration.
                                                              (line  91)
                                                              (line  92)
* cfgr (CPU configuration):              CPU Configuration.   (line  47)
* cfgr (CPU configuration):              CPU Configuration.   (line  47)
* channel (UART configuration):          UART Configuration.  (line  29)
* channel (UART configuration):          UART Configuration.  (line  29)
* clear breakpoint (Interactive CLI):    Interactive Command Line.
* clear breakpoint (Interactive CLI):    Interactive Command Line.
                                                              (line  57)
                                                              (line  57)
* clkcycle (simulator configuration):    Simulator Behavior.  (line 102)
* clkcycle (simulator configuration):    Simulator Behavior.  (line 103)
* cm (Interactive CLI):                  Interactive Command Line.
* cm (Interactive CLI):                  Interactive Command Line.
                                                              (line  54)
                                                              (line  54)
* command line for Or1ksim standalone use: Standalone Simulator.
* command line for Or1ksim standalone use: Standalone Simulator.
                                                              (line   6)
                                                              (line   6)
* complex model:                         Configuring the Build.
* complex model:                         Configuring the Build.
Line 3437... Line 3466...
                                                              (line   6)
                                                              (line   6)
* Debug Unit verification (VAPI):        Verification API.    (line  34)
* Debug Unit verification (VAPI):        Verification API.    (line  34)
* debugging enabled (Argtable2):         Configuring the Build.
* debugging enabled (Argtable2):         Configuring the Build.
                                                              (line 121)
                                                              (line 121)
* delayr (memory configuration):         Memory Configuration.
* delayr (memory configuration):         Memory Configuration.
                                                              (line 109)
                                                              (line 110)
* delayw (memory configuration):         Memory Configuration.
* delayw (memory configuration):         Memory Configuration.
                                                              (line 115)
                                                              (line 116)
* dependstats (CPU configuration):       CPU Configuration.   (line  84)
* dependstats (CPU configuration):       CPU Configuration.   (line  84)
* dev_id (ATA/ATAPI configuration):      Disc Interface Configuration.
* dev_id (ATA/ATAPI configuration):      Disc Interface Configuration.
                                                              (line  36)
                                                              (line  36)
* disassemble (Interactive CLI):         Interactive Command Line.
* disassemble (Interactive CLI):         Interactive Command Line.
                                                              (line  41)
                                                              (line  41)
Line 3504... Line 3533...
* enabled (interrupt controller):        Interrupt Configuration.
* enabled (interrupt controller):        Interrupt Configuration.
                                                              (line  12)
                                                              (line  12)
* enabled (keyboard configuration):      Keyboard Configuration.
* enabled (keyboard configuration):      Keyboard Configuration.
                                                              (line  32)
                                                              (line  32)
* enabled (memory controller configuration): Memory Controller Configuration.
* enabled (memory controller configuration): Memory Controller Configuration.
                                                              (line  17)
                                                              (line  18)
* enabled (MMU configuration):           Memory Management Configuration.
* enabled (MMU configuration):           Memory Management Configuration.
                                                              (line  12)
                                                              (line  12)
* enabled (power management configuration): Power Management Configuration.
* enabled (power management configuration): Power Management Configuration.
                                                              (line  35)
                                                              (line  35)
* enabled (UART configuration):          UART Configuration.  (line  18)
* enabled (UART configuration):          UART Configuration.  (line  18)
Line 3525... Line 3554...
* Ethernet configuration:                Ethernet Configuration.
* Ethernet configuration:                Ethernet Configuration.
                                                              (line   6)
                                                              (line   6)
* Ethernet verification (VAPI):          Verification API.    (line  78)
* Ethernet verification (VAPI):          Verification API.    (line  78)
* Ethernet via socket, enabling:         Configuring the Build.
* Ethernet via socket, enabling:         Configuring the Build.
                                                              (line  54)
                                                              (line  54)
* exe_log (simulator configuration):     Simulator Behavior.  (line  48)
* exe_log (simulator configuration):     Simulator Behavior.  (line  49)
* exe_log_end (simulator configuration): Simulator Behavior.  (line  88)
* exe_log_end (simulator configuration): Simulator Behavior.  (line  89)
* exe_log_file (simulator configuration): Simulator Behavior. (line  96)
* exe_log_file (simulator configuration): Simulator Behavior. (line  97)
* exe_log_fn (simulator configuration - deprecated): Simulator Behavior.
* exe_log_fn (simulator configuration - deprecated): Simulator Behavior.
                                                              (line  96)
                                                              (line  97)
* exe_log_marker (simulator configuration): Simulator Behavior.
* exe_log_marker (simulator configuration): Simulator Behavior.
                                                              (line  92)
                                                              (line  93)
* exe_log_start (simulator configuration): Simulator Behavior.
* exe_log_start (simulator configuration): Simulator Behavior.
                                                              (line  85)
                                                              (line  86)
* exe_log_type (simulator configuration): Simulator Behavior. (line  54)
* exe_log_type (simulator configuration): Simulator Behavior. (line  55)
* exe_log_type=default (simulator configuration): Simulator Behavior.
* exe_log_type=default (simulator configuration): Simulator Behavior.
                                                              (line  57)
                                                              (line  58)
* exe_log_type=hardware (simulator configuration): Simulator Behavior.
* exe_log_type=hardware (simulator configuration): Simulator Behavior.
                                                              (line  61)
                                                              (line  62)
* exe_log_type=simple (simulator configuration): Simulator Behavior.
* exe_log_type=simple (simulator configuration): Simulator Behavior.
                                                              (line  68)
                                                              (line  69)
* exe_log_type=software (simulator configuration): Simulator Behavior.
* exe_log_type=software (simulator configuration): Simulator Behavior.
                                                              (line  73)
                                                              (line  74)
* executing code (Interactive CLI):      Interactive Command Line.
* executing code (Interactive CLI):      Interactive Command Line.
                                                              (line  23)
                                                              (line  23)
* execution history (Interactive CLI):   Interactive Command Line.
* execution history (Interactive CLI):   Interactive Command Line.
                                                              (line  67)
                                                              (line  67)
* file (ATA/ATAPI device configuration): Disc Interface Configuration.
* file (ATA/ATAPI device configuration): Disc Interface Configuration.
                                                              (line 104)
                                                              (line 104)
* file (keyboard configuration):         Keyboard Configuration.
* file (keyboard configuration):         Keyboard Configuration.
                                                              (line  51)
                                                              (line  51)
* filename (frame buffer configuration - deprecated): Frame Buffer Configuration.
* filename (frame buffer configuration - deprecated): Frame Buffer Configuration.
                                                              (line  35)
                                                              (line  36)
* filename (VGA configuration - deprecated): Display Interface Configuration.
* filename (VGA configuration - deprecated): Display Interface Configuration.
                                                              (line  47)
                                                              (line  47)
* firmware (ATA/ATAPI device configuration): Disc Interface Configuration.
* firmware (ATA/ATAPI device configuration): Disc Interface Configuration.
                                                              (line 117)
                                                              (line 117)
* flag setting by instructions:          Configuring the Build.
* flag setting by instructions:          Configuring the Build.
Line 3585... Line 3614...
                                                              (line 133)
                                                              (line 133)
* hide_device_id (verification API configuration): Verification API Configuration.
* hide_device_id (verification API configuration): Verification API Configuration.
                                                              (line  36)
                                                              (line  36)
* hist (Interactive CLI):                Interactive Command Line.
* hist (Interactive CLI):                Interactive Command Line.
                                                              (line  67)
                                                              (line  67)
* history (simulator configuration):     Simulator Behavior.  (line  39)
* history (simulator configuration):     Simulator Behavior.  (line  40)
* history of execution (Interactive CLI): Interactive Command Line.
* history of execution (Interactive CLI): Interactive Command Line.
                                                              (line  67)
                                                              (line  67)
* hitdelay (branch prediction configuration): Branch Prediction Configuration.
* hitdelay (branch prediction configuration): Branch Prediction Configuration.
                                                              (line  33)
                                                              (line  33)
* hitdelay (instruction cache configuration): Cache Configuration.
* hitdelay (instruction cache configuration): Cache Configuration.
Line 3599... Line 3628...
* hw_enabled (generic peripheral configuration): Generic Peripheral Configuration.
* hw_enabled (generic peripheral configuration): Generic Peripheral Configuration.
                                                              (line  49)
                                                              (line  49)
* IMMU configuration:                    Memory Management Configuration.
* IMMU configuration:                    Memory Management Configuration.
                                                              (line   6)
                                                              (line   6)
* index (memory controller configuration): Memory Controller Configuration.
* index (memory controller configuration): Memory Controller Configuration.
                                                              (line  50)
                                                              (line  51)
* info (Interactive CLI):                Interactive Command Line.
* info (Interactive CLI):                Interactive Command Line.
                                                              (line 119)
                                                              (line 119)
* installing Or1ksim:                    Installation.        (line   6)
* installing Or1ksim:                    Installation.        (line   6)
* instruction cache configuration:       Cache Configuration. (line   6)
* instruction cache configuration:       Cache Configuration. (line   6)
* instruction MMU configuration:         Memory Management Configuration.
* instruction MMU configuration:         Memory Management Configuration.
Line 3634... Line 3663...
* load_hitdelay (data cache configuration): Cache Configuration.
* load_hitdelay (data cache configuration): Cache Configuration.
                                                              (line  46)
                                                              (line  46)
* load_missdelay (data cache configuration): Cache Configuration.
* load_missdelay (data cache configuration): Cache Configuration.
                                                              (line  50)
                                                              (line  50)
* log (memory configuration):            Memory Configuration.
* log (memory configuration):            Memory Configuration.
                                                              (line 121)
                                                              (line 122)
* log_enabled (verification API configuration): Verification API Configuration.
* log_enabled (verification API configuration): Verification API Configuration.
                                                              (line  28)
                                                              (line  28)
* long:                                  Simulator Library.   (line  73)
* long:                                  Simulator Library.   (line  74)
* mc (memory configuration):             Memory Configuration.
* mc (memory configuration):             Memory Configuration.
                                                              (line  99)
                                                              (line 100)
* memory configuration:                  Memory Configuration.
* memory configuration:                  Memory Configuration.
                                                              (line   6)
                                                              (line   6)
* memory controller configuration:       Memory Controller Configuration.
* memory controller configuration:       Memory Controller Configuration.
                                                              (line   6)
                                                              (line   6)
* memory copying (Interactive CLI):      Interactive Command Line.
* memory copying (Interactive CLI):      Interactive Command Line.
Line 3675... Line 3704...
                                                              (line  42)
                                                              (line  42)
* missdelay (MMU configuration):         Memory Management Configuration.
* missdelay (MMU configuration):         Memory Management Configuration.
                                                              (line  55)
                                                              (line  55)
* MMU configuration:                     Memory Management Configuration.
* MMU configuration:                     Memory Management Configuration.
                                                              (line   6)
                                                              (line   6)
* mprof_file (simulator configuration):  Simulator Behavior.  (line  33)
* mprof_file (simulator configuration):  Simulator Behavior.  (line  34)
* mprof_fn (simulator configuration - deprecated): Simulator Behavior.
* mprof_fn (simulator configuration - deprecated): Simulator Behavior.
                                                              (line  33)
                                                              (line  34)
* mprofile (Interactive CLI):            Interactive Command Line.
* mprofile (Interactive CLI):            Interactive Command Line.
                                                              (line 173)
                                                              (line 173)
* mprofile (simulator configuration):    Simulator Behavior.  (line  28)
* mprofile (simulator configuration):    Simulator Behavior.  (line  29)
* mwdma (ATA/ATAPI device configuration): Disc Interface Configuration.
* mwdma (ATA/ATAPI device configuration): Disc Interface Configuration.
                                                              (line 128)
                                                              (line 128)
* name (generic peripheral configuration): Generic Peripheral Configuration.
* name (generic peripheral configuration): Generic Peripheral Configuration.
                                                              (line  42)
                                                              (line  42)
* name (memory configuration):           Memory Configuration.
* name (memory configuration):           Memory Configuration.
                                                              (line  82)
                                                              (line  83)
* no_multicycle (CUC configuration):     CUC Configuration.   (line  42)
* no_multicycle (CUC configuration):     CUC Configuration.   (line  42)
* nsets (cache configuration):           Cache Configuration. (line  15)
* nsets (cache configuration):           Cache Configuration. (line  15)
* nsets (MMU configuration):             Memory Management Configuration.
* nsets (MMU configuration):             Memory Management Configuration.
                                                              (line  16)
                                                              (line  16)
* nways (cache configuration):           Cache Configuration. (line  22)
* nways (cache configuration):           Cache Configuration. (line  22)
* nways (MMU configuration):             Memory Management Configuration.
* nways (MMU configuration):             Memory Management Configuration.
                                                              (line  22)
                                                              (line  22)
* or1ksim_get_time_period:               Simulator Library.   (line  63)
* or1ksim_get_time_period:               Simulator Library.   (line  64)
* or1ksim_init:                          Simulator Library.   (line  18)
* or1ksim_init:                          Simulator Library.   (line  18)
* or1ksim_interrupt:                     Simulator Library.   (line  78)
* or1ksim_interrupt:                     Simulator Library.   (line  79)
* or1ksim_interrupt_clear:               Simulator Library.   (line  96)
* or1ksim_interrupt_clear:               Simulator Library.   (line  97)
* or1ksim_interrupt_set:                 Simulator Library.   (line  87)
* or1ksim_interrupt_set:                 Simulator Library.   (line  88)
* or1ksim_is_le:                         Simulator Library.   (line  68)
* or1ksim_is_le:                         Simulator Library.   (line  69)
* or1ksim_reset_duration:                Simulator Library.   (line  48)
* or1ksim_reset_duration:                Simulator Library.   (line  49)
* or1ksim_run:                           Simulator Library.   (line  43)
* or1ksim_run:                           Simulator Library.   (line  44)
* or1ksim_set_time_point:                Simulator Library.   (line  59)
* or1ksim_set_time_point:                Simulator Library.   (line  60)
* output rediretion:                     Concepts.            (line   7)
* output rediretion:                     Concepts.            (line   7)
* overflow flag setting by instructions: Configuring the Build.
* overflow flag setting by instructions: Configuring the Build.
                                                              (line  70)
                                                              (line  70)
* packet (ATA/ATAPI device configuration): Disc Interface Configuration.
* packet (ATA/ATAPI device configuration): Disc Interface Configuration.
                                                              (line 113)
                                                              (line 113)
Line 3747... Line 3776...
* PMR - SUME:                            Power Management Configuration.
* PMR - SUME:                            Power Management Configuration.
                                                              (line  24)
                                                              (line  24)
* PMU configuration:                     Power Management Configuration.
* PMU configuration:                     Power Management Configuration.
                                                              (line   6)
                                                              (line   6)
* poc (memory controller configuration): Memory Controller Configuration.
* poc (memory controller configuration): Memory Controller Configuration.
                                                              (line  37)
                                                              (line  38)
* port range for TCP/IP:                 Verification API Configuration.
* port range for TCP/IP:                 Verification API Configuration.
                                                              (line  23)
                                                              (line  23)
* power management configuration:        Power Management Configuration.
* power management configuration:        Power Management Configuration.
                                                              (line   6)
                                                              (line   6)
* power management register, DGCE:       Power Management Configuration.
* power management register, DGCE:       Power Management Configuration.
Line 3793... Line 3822...
* r (Interactive CLI):                   Interactive Command Line.
* r (Interactive CLI):                   Interactive Command Line.
                                                              (line  14)
                                                              (line  14)
* random_seed (memory configuration):    Memory Configuration.
* random_seed (memory configuration):    Memory Configuration.
                                                              (line  40)
                                                              (line  40)
* refresh_rate (frame buffer configuration): Frame Buffer Configuration.
* refresh_rate (frame buffer configuration): Frame Buffer Configuration.
                                                              (line  29)
                                                              (line  30)
* refresh_rate (VGA configuration):      Display Interface Configuration.
* refresh_rate (VGA configuration):      Display Interface Configuration.
                                                              (line  41)
                                                              (line  41)
* reg_sim_reset:                         Concepts.            (line  13)
* reg_sim_reset:                         Concepts.            (line  13)
* register display (Interactive CLI):    Interactive Command Line.
* register display (Interactive CLI):    Interactive Command Line.
                                                              (line  14)
                                                              (line  14)
Line 3951... Line 3980...
                                                              (line  23)
                                                              (line  23)
* TCP/IP port range for or1ksim service: Debug Interface Configuration.
* TCP/IP port range for or1ksim service: Debug Interface Configuration.
                                                              (line  74)
                                                              (line  74)
* TCP/IP port range for or1ksim-rsp service: Debug Interface Configuration.
* TCP/IP port range for or1ksim-rsp service: Debug Interface Configuration.
                                                              (line  41)
                                                              (line  41)
 
* tests, all enabled.:                   Configuring the Build.
 
                                                              (line 128)
* timings_file (CUC configuration):      CUC Configuration.   (line  46)
* timings_file (CUC configuration):      CUC Configuration.   (line  46)
* timings_fn (CUC configuration - deprecated): CUC Configuration.
* timings_fn (CUC configuration - deprecated): CUC Configuration.
                                                              (line  46)
                                                              (line  46)
* toggle breakpoint (Interactive CLI):   Interactive Command Line.
* toggle breakpoint (Interactive CLI):   Interactive Command Line.
                                                              (line  57)
                                                              (line  57)
Line 3965... Line 3996...
* tx_channel (Ethernet configuration):   Ethernet Configuration.
* tx_channel (Ethernet configuration):   Ethernet Configuration.
                                                              (line  60)
                                                              (line  60)
* txfile (Ethernet configuration):       Ethernet Configuration.
* txfile (Ethernet configuration):       Ethernet Configuration.
                                                              (line  69)
                                                              (line  69)
* txfile (frame buffer configuration):   Frame Buffer Configuration.
* txfile (frame buffer configuration):   Frame Buffer Configuration.
                                                              (line  35)
                                                              (line  36)
* txfile (VGA configuration):            Display Interface Configuration.
* txfile (VGA configuration):            Display Interface Configuration.
                                                              (line  47)
                                                              (line  47)
* type (ATA/ATAPI device configuration): Disc Interface Configuration.
* type (ATA/ATAPI device configuration): Disc Interface Configuration.
                                                              (line  99)
                                                              (line  99)
* type (memory configuration):           Memory Configuration.
* type (memory configuration):           Memory Configuration.
Line 4031... Line 4062...


Tag Table:
Tag Table:
Node: Top814
Node: Top814
Node: Installation1224
Node: Installation1224
Node: Preparation1471
Node: Preparation1471
Node: Configuring the Build1761
Node: Configuring the Build1772
Node: Build and Install6872
Node: Build and Install7257
Node: Known Issues7561
Node: Known Issues8103
Node: Usage9691
Node: Usage10249
Node: Standalone Simulator9905
Node: Standalone Simulator10463
Node: Profiling Utility12794
Node: Profiling Utility13366
Node: Memory Profiling Utility13702
Node: Memory Profiling Utility14276
Node: Simulator Library15061
Node: Simulator Library15641
Node: Configuration20523
Node: Configuration21126
Node: Configuration File Format21129
Node: Configuration File Format21735
Node: Configuration File Preprocessing21421
Node: Configuration File Preprocessing22027
Node: Configuration File Syntax21791
Node: Configuration File Syntax22398
Node: Simulator Configuration24569
Node: Simulator Configuration25183
Node: Simulator Behavior24860
Node: Simulator Behavior25474
Node: Verification API Configuration28876
Node: Verification API Configuration29518
Node: CUC Configuration30805
Node: CUC Configuration31458
Node: Core OpenRISC Configuration32710
Node: Core OpenRISC Configuration33375
Node: CPU Configuration33212
Node: CPU Configuration33877
Node: Memory Configuration37002
Node: Memory Configuration37682
Node: Memory Management Configuration42278
Node: Memory Management Configuration42995
Node: Cache Configuration44639
Node: Cache Configuration45372
Node: Interrupt Configuration47005
Node: Interrupt Configuration47758
Node: Power Management Configuration47737
Node: Power Management Configuration48494
Node: Branch Prediction Configuration49009
Node: Branch Prediction Configuration49771
Node: Debug Interface Configuration50362
Node: Debug Interface Configuration51131
Node: Peripheral Configuration54562
Node: Peripheral Configuration55351
Node: Memory Controller Configuration55187
Node: Memory Controller Configuration55977
Node: UART Configuration57784
Node: UART Configuration58582
Node: DMA Configuration61290
Node: DMA Configuration62101
Node: Ethernet Configuration63145
Node: Ethernet Configuration63968
Node: GPIO Configuration67101
Node: GPIO Configuration67946
Node: Display Interface Configuration68724
Node: Display Interface Configuration69579
Node: Frame Buffer Configuration71024
Node: Frame Buffer Configuration71888
Node: Keyboard Configuration72874
Node: Keyboard Configuration73752
Node: Disc Interface Configuration75100
Node: Disc Interface Configuration75990
Node: Generic Peripheral Configuration80015
Node: Generic Peripheral Configuration80933
Node: Interactive Command Line82299
Node: Interactive Command Line83228
Node: Verification API89247
Node: Verification API90202
Node: Code Internals93665
Node: Code Internals94632
Node: Coding Conventions94222
Node: Coding Conventions95192
Node: Global Data Structures98637
Node: Global Data Structures99619
Node: Concepts101289
Node: Concepts102276
Ref: Output Redirection101434
Ref: Output Redirection102421
Node: Internal Debugging101971
Node: Internal Debugging102960
Node: GNU Free Documentation License102467
Node: GNU Free Documentation License103457
Node: Index124874
Node: Index125864


End Tag Table
End Tag Table

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.