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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [or1ksim/] [testsuite/] [README] - Rev 90

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

                              Or1ksim Test Suite
                              ==================

This is the Or1ksim test suite, which is now integrated with the main Or1ksim
development package. It operates using a standard DejaGNU framework within the
GNU autoconf/automake/libtool structure.

A separate configuration file is needed for the OpenRISC programs used in
testing, since these use the OR1K tool chain, rather than the host tool
chain. This can be found in the "test-code-or1k" directory.

Tests are provided for the standalone simulator (or1ksim) and for the library
(libsim.a).

At the time of writing a total of 21 tests of the standalone simulator compile
run and pass and 1 test of the library.

Configuration and make files are provided for further test programs. These
come in three categories.
- Tests which compile correctly, but will not run to completion.
- Tests which compile, but will not run at all.
- Tests which will not compile correctly.

File Organization
=================

Each test program has its own directory under test-code (for native tests,
typically of the library) or test-code-or1k (for OpenRISC code, which must use
the OpenRISC tool chain). This builds the test program. If necessary it copies
data files to the main build/testsuite directory.

Each test then has a DejaGNU expect script in or1ksim.tests (for standalone
tests) and libsim.tests (for library tests), which loads and runs the
test. Support script procedures are in lib/or1ksim.exp and lib/libsim.exp.

Libraries
=========

Within the test-code there are several libraries:

support:    A minimal C library.
except:     Exception handling and startup code.
mc-common:  A library to support the memory controller tests.

Working tests
=============

A total of 21 tests:

basic:        A test or a wide range of instructions and registers.
cache:        A test of the Or1ksim cache modeling
cbasic:       A minimal test in C
cfg:          A test of the OR1K configuration register
dhry:         Dhrystone 2.1 benchmark using Or1ksim's timing facility.
dmatest:      A test of DMA.
eth:          A test of the Ethernet interface.
except-test:  A test of OR1K exception handling
exit:         A test that C program exits correctly
ext:          A test of the sign extension (l.ext) instructions.
fbtest:       A test of the frame buffer.
functest:     A test of the C function calling interface.
flag:         A test of Supervision Register (SR) flag bits.
int-test:     A test of the programmable interrupt controller.
kbdtest:      A test of the PS2 keyboard interface.
local-global: A test of C local and global variables.
mem-test:     A simple memory test.
mmu:          A test of the MMU.
mul:          A test of the multiply functionality.
mycompress:   A compression program.
tick:         A test of the OR1K tick timer.

Tests which build, but do not run to completion
===============================================

The following tests rely on VAPI in Or1ksim, so need a client to provide test
data over TCP/IP.

acv-gpio:  a test of the GPIO.
acv-uart:  a test of the UART

Tests which build, but do not run at all
========================================

These tests (which are built by the make file), do not appear to run at
all. The problem is in the linker script and/or the configuration for Or1ksim.

mc-async:  a test of the memory controller with asynchronous memory.
mc-dram:   a test of the memory controller with DRAM.
mc-ssram:  a test of the memory controller with SSRAM.
mc-sync:   a test of the memory controller with synchronous memory.
uOS:       a microKernel.

Tests which do not build
========================

The following test builds with a myriad of warnings.

inst-set-test:  a comprehensive test of the instruction set using C.


Upated by Jeremy Bennett (jeremy@jeremybennett.com)
19 April 2010

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.