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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [or1ksim/] [sim.cfg] - Rev 605

Go to most recent revision | Compare with Previous | Blame | View Log

/* sim.cfg -- Simulator configuration script file

   Copyright (C) 2001-2002, Marko Mlinar, markom@opencores.org
   Copyright (C) 2010, Embecosm Limited

   Contributor Jeremy Bennett <jeremy.bennett@embecosm.com>

   This file is part of OpenRISC 1000 Architectural Simulator.
  
   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by the Free
   Software Foundation; either version 3 of the License, or (at your option)
   any later version.
  
   This program is distributed in the hope that it will be useful, but WITHOUT
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
   more details.
  
   You should have received a copy of the GNU General Public License along
   with this program.  If not, see <http://www.gnu.org/licenses/>. */


/* -------------------------------------------------------------------------- */
/* The Ork1sim has various parameters, that can be set in configuration files
   like this one. The user can specify a configuration file at startu[ with
   the -f <filename.cfg> option.

   The user guide (see the 'doc' directory) gives full details on
   configuration files. This is a reference configuration, which may be used
   as a starting point for customization.

   A number of peripherals are mapped at standard addresses (above 0x80000000)
   in the Verilog RTL of ORPSoC standard sitribution. The same values should
   be used in Or1ksim section definitions to match the behavior of the Verilog

      0x90000000 UART
      0x91000000 GPIO
      0x92000000 Ethernet
      0x93000000 Memory controller
      0x94000000 PS2 keyboard
      0x97000000 Frame buffer
      0x97100000 VGA
      0x9a000000 DMA controller
      0x9e000000 ATA disc

   Section ordering matches that in the user guide. All optional peripherals
   and functionality is disabled. Comments only list the possible entries and
   values. Consult the user guide for their meaning.

   Unless otherwise indicated, the first named option is the default.         */
/* -------------------------------------------------------------------------- */


/* Simulator section

   verbose               = 0|1
   debug                 = 0-9
   profile               = 0|1
   prof_file             = "<filename>" (default: "sim.profile")
   mprofile              = 0|1
   mprof_file            = "<filename>" (default: "sim.mprofile")
   history               = 0|1
   exe_log               = 0|1
   exe_log_type          = hardware|simple|software|default
   exe_log_start         = <value> (default: 0)
   exe_log_end           = <value> (default: never end)
   exe_log_marker        = <value> (default: no markers)
   exe_log_file          = "<filename>" (default: "executed.log")
   exe_bin_insn_log      = 0|1
   exe_bin_insn_log_file = "<filename>" (default: "exe-insn.bin")
   clkcycle              = <value>[ps|ns|us|ms]
*/
section sim
  clkcycle = 100ns
end


/* VAPI section

   enabled        = 0|1
   server_port    = <value> (default: 50000)
   log_enabled    = 0|1
   hide_device_id = 0|1
   vapi_log_file  = "<filename>" (default "vapi.log")
*/
section VAPI
  server_port = 50000
  log_enabled = 0
  vapi_log_file = "vapi.log"
end


/* CUC section

    memory_order       = none|weak|strong|exact (default: strong)
    calling_convention = 0|1
    enable_bursts      = 0|1
    no_multicycle      = 0|1
    timings_file       = "<filename>" (default: virtex.tim)
*/
section cuc
  memory_order       = weak
  calling_convention = 1
  enable_bursts      = 1
  no_multicycle      = 1
end


/* CPU section

   ver         = <value> (default: 0)
   cfg         = <value> (default: 0)
   rev         = <value> (default: 0)
   upr         = <value> (see user manual for default settings)
   cfgr        = <value> (default: 0x00000020)
   sr          = <value> (default: 0x00008001)
   superscalar = 0|1
   hazards     = 0|1
   dependstats = 0|1
   sbuf_len    = <value> (default: 0)
   hardfloat   = 0|1
*/
section cpu
  ver = 0x12
  cfg = 0x00
  rev = 0x0001
end


/* Memory section

   type        = unknown|random|unknown|pattern
   random_seed = <value> (default: -1)
   pattern     = <value> (default: 0)
   baseaddr    = <hex_value> (default: 0)
   size        = <hex_value> (default: 1024)
   name        = "<string>" (default: "anonymous memory block")
   ce          = <value> (default: -1)
   mc          = <value> (default: 0)
   delayr      = <value> (default: 1)
   delayw      = <value> (default: 1)
   log         = "<filename>" (default: NULL)
*/
section memory
  name        = "RAM"
  type        = unknown
  baseaddr    = 0x00000000
  size        = 0x00800000
  delayr      = 1
  delayw      = 2
end


/* Data MMU section

   enabled   = 0|1
   nsets     = <value> (default: 1)
   nways     = <value> (default: 1)
   pagesize  = <value> (default: 8192)
   entrysize = <value> (default: 1)
   ustates   = <value> (default: 1)
   hitdelay  = <value> (default: 1)
   missdelay = <value> (default: 1)
*/
section dmmu
  enabled   = 0
  nsets     = 64
  nways     = 1
  pagesize  = 8192
  hitdelay  = 0
  missdelay = 0
end


/* Instruction MMU section

   enabled   = 0|1
   nsets     = <value> (default: 1)
   nways     = <value> (default: 1)
   pagesize  = <value> (default: 8192)
   entrysize = <value> (default: 1)
   ustates   = <value> (default: 1)
   hitdelay  = <value> (default: 1)
   missdelay = <value> (default: 1)
*/
section immu
  enabled   = 0
  nsets     = 64
  nways     = 1
  pagesize  = 8192
  hitdelay  = 0
  missdelay = 0
end


/* Data cache section

   enabled         = 0|1
   nsets           = <value> (default: 1)
   nways           = <value> (default: 1)
   blocksize       = <value> (default: 16)
   ustates         = <value> (default: 2)
   load_hitdelay   = <value> (default: 2)
   load_missdelay  = <value> (default: 2)
   store_hitdelay  = <value> (default: 0)
   store_missdelay = <value> (default: 0)
*/

section dc
  enabled         = 0
  nsets           = 256
  nways           = 1
  blocksize       = 16
  load_hitdelay   = 0
  load_missdelay  = 0
  store_hitdelay  = 0
  store_missdelay = 0
end


/* Instruction cache section

   enabled    = 0|1
   nsets      = <value> (default: 1)
   nways      = <value> (default: 1)
   blocksize  = <value> (default: 16)
   ustates    = <value> (default: 2)
   hitdelay   = <value> (default: 1)
   missdelay  = <value> (default: 1)
*/
section ic
  enabled   = 0
  nsets     = 256
  nways     = 1
  blocksize = 16
  hitdelay  = 0
  missdelay = 0
end


/* Programmable interrupt controller section

  enabled      = 0|1
  edge_trigger = 0|1 (default: 1)
*/

section pic
  enabled = 0
end


/* Power management section

   enabled = 0|1
*/

section pm
  enabled = 0
end


/* Branch prediction section
   
   enabled     = 0|1
   btic        = 0|1
   sbp_bf_fwd  = 0|1
   sbp_bnf_fwd = 0|1
   hitdelay    = <value> (default: 0)
   missdelay   = <value> (default: 0)
*/

section bpb
  enabled = 0
end


/* Debug unit section

   enabled     = 0|1
   rsp_enabled = 0|1
   rsp_port    = <value> (default: 51000)
   vapi_id     = <value> (default: 0)
*/
section debug
  enabled = 0
end


/* Memory controller section

   enabled  = 0|1
   baseaddr = <value> (default: 0)
   POC      = <value> (default: 0)
   index    = <value> (default: 0)
*/

section mc
  enabled  = 0
  baseaddr = 0x93000000
  POC      = 0x0000000a                 /* 32 bit SSRAM */
  index    = 0
end


/* UART section

   enabled  = 0|1
   baseaddr = <value> (default: 0)
   channel  = "value>" (default: "xterm:")
   irq      = <value> (default: 0)
   16550    = 0|1
   jitter   = <value> (default: 0)
   vapi_id  = <value> (default: 0)
*/

section uart
  enabled  = 0
  baseaddr = 0x90000000
  irq      = 2
  16550    = 1
end


/* DMA section

   enabled  = 0|1
   baseaddr = <value> (default: 0)
   irq      = <value> (default: 0)
   vapi_id  = <value> (default: 0)
*/
section dma
  enabled  = 0
  baseaddr = 0x9a000000
  irq      = 11
end


/* Ethernet section

   enabled    = 0|1
   baseaddr   = <value> (default: 0)
   dma        = <value> (default: 0)
   irq        = <value> (default: 0)
   rtx_type   = 0|1
   rx_channel = <value> (default: 0)
   tx_channel = <value> (default: 0)
   rxfile     = "<filename>" (default: "eth_rx")
   txfile     = "<filename>" (default: "eth_rx")
   sockif     = "<service>" (default: "or1ksim_eth")
   vapi_id    = <value> (default: 0)
*/
section ethernet
  enabled  = 0
  baseaddr = 0x92000000
  irq      = 4
  rtx_type = 0
end


/* GPIO section

   enabled      = 0|1
   baseaddr     = <value> (default: 0)
   irq          = <value> (default: 0)
   base_vapi_id = <value> (default: 0)
*/
section gpio
  enabled      = 0
  baseaddr     = 0x91000000
  irq          = 3
  base_vapi_id = 0x0200
end

/* VGA section
    
   enabled      = 0|1
   baseaddr     = <value> (default: 0)
   irq          = <value> (default: 0)
   refresh_rate = <value> (default: cycles equivalent to 50Hz)
   filename     = "<filename>" (default: "vga_out))
*/
section vga
  enabled      = 0
  baseaddr     = 0x97100000
  irq          = 8
end


/* Frame buffer section
    
   enabled      = 0|1
   baseaddr     = <value> (default: 0)
   refresh_rate = <value> (default: cycles equivalent to 50Hz)
   filename     = "<filename>" (default: "fb_out))
*/
section fb
  enabled      = 0
  baseaddr     = 0x97000000
end


/* PS2 keyboard section

    This section configures the PS/2 compatible keyboard
    
    enabled  = 0|1
    baseaddr = <value> (default: 0)
    irq      = <value> (default: 0)
    rxfile   = "<filename>" (default: "kbd_in")
*/
section kbd
  enabled  = 1
  baseaddr = 0x94000000
  irq      = 5
end


/* ATA disc section
    
   enabled        = 0|1
   baseaddr       = <value> (default: 0)
   irq            = <value> (default: 0)
   dev_id         = 1|2|3
   rev            = 0-15 (default: 1)
   pio_mode0_t1   = 0-255 (default: 6)
   pio_mode0_t2   = 0-255 (default: 28)
   pio_mode0_t4   = 0-255 (default: 2)
   pio_mode0_teoc = 0-255 (default: 23)
   dma_mode0_tm   = 0-255 (default: 4)
   dma_mode0_td   = 0-255 (default: 21)
   dma_mode0_teoc = 0-255 (default: 21)
   device         = 0|1

   Device specific:

      type     = 0|1|2
      file     = "<filename>" (default: "ata_file<type>")
      size     = <value> (default: 0)
      packet   = 0|1
      firmware = "<string>" (default: "02207031")
      heads    = <value> (default: 7)
      sectors  = <value> (default: 32)
      mwdma    = 2|1|0|-1
      pio      = 4|3|2|1|0
*/
section ata
  enabled  = 0
  baseaddr = 0x9e000000
  irq      = 15

  device 0
    type = 1
    size = 1
  enddevice
end


/* Generic peripheral section
    
   enabled      = 0|1
   baseaddr     = <value> (default: 0)
   size         = <value> (default: 0)
   name         = "<string>" (default: "anonymous external peripheral")
   byte_enabled = 1|0
   hw_enabled   = 1|0
   word_enabled = 1|0
*/
section generic
  enabled  = 0
end

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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