URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [or1ksim/] [sim.cfg] - Rev 474
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