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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [or1ksim/] [testsuite/] [README] - Blame information for rev 98

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

Line No. Rev Author Line
1 82 jeremybenn
                              Or1ksim Test Suite
2
                              ==================
3
 
4
This is the Or1ksim test suite, which is now integrated with the main Or1ksim
5
development package. It operates using a standard DejaGNU framework within the
6
GNU autoconf/automake/libtool structure.
7
 
8 90 jeremybenn
A separate configuration file is needed for the OpenRISC programs used in
9
testing, since these use the OR1K tool chain, rather than the host tool
10
chain. This can be found in the "test-code-or1k" directory.
11 82 jeremybenn
 
12 90 jeremybenn
Tests are provided for the standalone simulator (or1ksim) and for the library
13
(libsim.a).
14 82 jeremybenn
 
15 93 jeremybenn
At the time of writing a total of 21 tests of the standalone simulator and 14
16
tests of the library compile, run and pass.
17 90 jeremybenn
 
18 82 jeremybenn
Configuration and make files are provided for further test programs. These
19
come in three categories.
20
- Tests which compile correctly, but will not run to completion.
21
- Tests which compile, but will not run at all.
22
- Tests which will not compile correctly.
23
 
24
File Organization
25
=================
26
 
27 90 jeremybenn
Each test program has its own directory under test-code (for native tests,
28
typically of the library) or test-code-or1k (for OpenRISC code, which must use
29
the OpenRISC tool chain). This builds the test program. If necessary it copies
30
data files to the main build/testsuite directory.
31 82 jeremybenn
 
32 90 jeremybenn
Each test then has a DejaGNU expect script in or1ksim.tests (for standalone
33
tests) and libsim.tests (for library tests), which loads and runs the
34
test. Support script procedures are in lib/or1ksim.exp and lib/libsim.exp.
35 82 jeremybenn
 
36
Libraries
37
=========
38
 
39
Within the test-code there are several libraries:
40
 
41
support:    A minimal C library.
42
except:     Exception handling and startup code.
43
mc-common:  A library to support the memory controller tests.
44
 
45
Working tests
46
=============
47
 
48 98 jeremybenn
A total of 264 tests of the libsim library:
49 82 jeremybenn
 
50 98 jeremybenn
int-edge:              6 tests of edge triggered interrupts.
51
int-level:             5 tests of level triggered interrupts.
52
lib-iftest:            1 test of the basic library interface functions.
53
jtag-basic:            17 tests of JTAG reset and instruction selection
54
jtag-go-command-read:  60 tests of JTAG GO_COMMAND for reading
55
jtag-go-command-write: 54 tests of JTAG GO_COMMAND for writing
56
jtag-read-command:     18 tests of JTAG READ_COMMAND
57
jtag-read-control:     8 tests of JTAG READ_CONTROL
58
jtag-select-module:    20 tests of JTAG module selection
59
jtag-write-command:    58 tests of JTAG WRITE_COMMAND
60
jtag-write-control:    13 tests of JTAG WRITE_CONTROL
61
upcalls:               2 tests of the upcall interface.
62 93 jeremybenn
 
63
A total of 21 tests of standalone Or1ksim:
64
 
65 98 jeremybenn
basic:        A test of a wide range of instructions and registers.
66 82 jeremybenn
cache:        A test of the Or1ksim cache modeling
67
cbasic:       A minimal test in C
68
cfg:          A test of the OR1K configuration register
69
dhry:         Dhrystone 2.1 benchmark using Or1ksim's timing facility.
70
dmatest:      A test of DMA.
71
eth:          A test of the Ethernet interface.
72
except-test:  A test of OR1K exception handling
73
exit:         A test that C program exits correctly
74
ext:          A test of the sign extension (l.ext) instructions.
75
fbtest:       A test of the frame buffer.
76
functest:     A test of the C function calling interface.
77
flag:         A test of Supervision Register (SR) flag bits.
78
int-test:     A test of the programmable interrupt controller.
79
kbdtest:      A test of the PS2 keyboard interface.
80
local-global: A test of C local and global variables.
81
mem-test:     A simple memory test.
82
mmu:          A test of the MMU.
83
mul:          A test of the multiply functionality.
84
mycompress:   A compression program.
85
tick:         A test of the OR1K tick timer.
86
 
87
Tests which build, but do not run to completion
88
===============================================
89
 
90 93 jeremybenn
The following tests of standalone Or1ksim rely on VAPI in Or1ksim, so need a
91
client to provide test data over TCP/IP.
92 82 jeremybenn
 
93
acv-gpio:  a test of the GPIO.
94
acv-uart:  a test of the UART
95
 
96
Tests which build, but do not run at all
97
========================================
98
 
99 93 jeremybenn
These tests of standalone Or1ksim (which are built by the make file), do not
100
appear to run at all. The problem is in the linker script and/or the
101
configuration for Or1ksim.
102 82 jeremybenn
 
103
mc-async:  a test of the memory controller with asynchronous memory.
104
mc-dram:   a test of the memory controller with DRAM.
105
mc-ssram:  a test of the memory controller with SSRAM.
106
mc-sync:   a test of the memory controller with synchronous memory.
107
uOS:       a microKernel.
108
 
109
Tests which do not build
110
========================
111
 
112 93 jeremybenn
The following test of standalone Or1ksim builds with a myriad of warnings.
113 82 jeremybenn
 
114
inst-set-test:  a comprehensive test of the instruction set using C.
115
 
116
 
117 93 jeremybenn
Updated by Jeremy Bennett (jeremy@jeremybennett.com)
118
28 April 2010

powered by: WebSVN 2.1.0

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