URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [or1ksim/] [testsuite/] [README] - Rev 123
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 Or1ksimdevelopment package. It operates using a standard DejaGNU framework within theGNU autoconf/automake/libtool structure.A separate configuration file is needed for the OpenRISC programs used intesting, since these use the OR1K tool chain, rather than the host toolchain. 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 1,857 tests compile, run and pass. Thatfigure is broken down into 1,593 tests of the standalone simulator and 264tests of the libraryConfiguration and make files are provided for further test programs. Thesecome 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 usethe OpenRISC tool chain). This builds the test program. If necessary it copiesdata files to the main build/testsuite directory.Each test then has a DejaGNU expect script in or1ksim.tests (for standalonetests) and libsim.tests (for library tests), which loads and runs thetest. 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 1,593 tests of standalone Or1ksim:basic: 8 tests of a wide range of instructions and registers.cache: 5 tests of the Or1ksim cache modelingcbasic: 19 tests of minimal C functionalitycfg: 12 tests of the OR1K configuration registerdhry: 1 Dhrystone 2.1 benchmark using Or1ksim's timing facility.dmatest: 3 tests of DMA.eth: 12 tests of the Ethernet interface.except-test: 7 tests of OR1K exception handlingexit: 1 test that C program exits correctlyext: 104 tests of the sign extension (l.ext) instructions.fbtest: 1 test of the frame buffer.fp 337 tests of floating point functionality (Feature 413).functest: 11 tests of the C function calling interface.flag: 1 test of Supervision Register (SR) flag bits.int-test: 86 tests of the programmable interrupt controller.kbdtest: 26 tests of the PS2 keyboard interface.local-global: 1 test of C local and global variables.inst-set-test: A collection of tests of individual instructionsis-add-test 213 tests of the l.add* instructions (Bugs 1771, 1776)is-div-test: 101 tests of the l.div and l.divu instructions (Bug 1770).is-find-test: 14 tests of the l.ff1 and l.fl1 instructions (Bug 1772).is-jump-test: 27 tests of the jump instructions (Bug 1775).is-lws-test: 13 tests of the l.lws instruction (Bug 1767).is-mac-test: 189 tests of the MAC instructions (Bugs 1773, 1777).is-mul-test: 186 tests of the l.mul* instructions (Bug 1774).is-ror-test: 36 tests of the l.ror and l.rori instructions (Bug 1778).is-spr-test: 28 tests of the l.mfspr and l.mtspr instructions (Bug 1779).mem-test: 16 tests of simple memory access.mmu: 110 tests of the MMU.mul: 5 tests of the multiply functionality.mycompress: 1 test using a compression program.tick: 19 tests of the OR1K tick timer.A total of 264 tests of the libsim library:int-edge: 6 tests of edge triggered interrupts.int-level: 5 tests of level triggered interrupts.lib-iftest: 1 test of the basic library interface functions.jtag-basic: 17 tests of JTAG reset and instruction selectionjtag-go-command-read: 60 tests of JTAG GO_COMMAND for readingjtag-go-command-write: 54 tests of JTAG GO_COMMAND for writingjtag-read-command: 18 tests of JTAG READ_COMMANDjtag-read-control: 8 tests of JTAG READ_CONTROLjtag-select-module: 20 tests of JTAG module selectionjtag-write-command: 58 tests of JTAG WRITE_COMMANDjtag-write-control: 13 tests of JTAG WRITE_CONTROLupcalls: 2 tests of the upcall interface.Tests which build, but do not run to completion===============================================The following tests of standalone Or1ksim rely on VAPI in Or1ksim, so need aclient to provide test data over TCP/IP.acv-gpio: a test of the GPIO.acv-uart: a test of the UARTTests which build, but do not run at all========================================These tests of standalone Or1ksim (which are built by the make file), do notappear to run at all. The problem is in the linker script and/or theconfiguration 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 of standalone Or1ksim builds with a myriad of warnings.inst-set-test: a comprehensive test of the instruction set using C.Updated by Jeremy Bennett (jeremy@jeremybennett.com)13 June 2010
Go to most recent revision | Compare with Previous | Blame | View Log
