On Thu, Oct 10, 2013 at 12:31 PM, Davide Rossi <[email protected]> wrote:
> Hi Julius,
>
> We are definitively interested in using the gcc regression test for a
> functional verification of evoultions of the processor as you suggested
> during the OpenRISC conference.
> Could you provide some details about how test is performed on the or1200 or
> mor1kx and/or a link to a document online explaining the procedure?
>
> I put also Michael Gautschi, who is the person who has actually done the
> work on the OR1200 I've presented at during the OpenRISC conference.

Hi guys,

Very good to meet you at ORCONF on the weekend Davide. We were very
interested to hear about your work, it seems you have achieved an
appreciable improvement of the OR1200's performance, and it'd be great
if you could keep the community in the loop with any future
developments. We'd very much like to see the patches for the work
you've done so far.

As I was asking when we spoke, I'm interested to know your
verification plan for the CPU. It's something the project struggles
with in general, and it'd be great to get more people thinking about
this.

The approach so far has been to write some directed tests (in C and
assembly, some in Verilog to test debug features) and see if Linux
works. Some useful additional test stimulus can be found in the GCC C
test suite. We compile each of the tests against the bare-metal newlib
library and launch them in the sim (usually on a cycle-accurate model
generated by Verilator as that runs 100s of times faster than Icarus).
Obviously this assumes the compiler is fine and any bugs will be the
RTL's fault, which has been the case so far. We can compare the
results of the GCC regression suite run against the RTL model with the
results from running against or1ksim. They should, ideally, be
identical.

This process is not documented, but in the mor1kx-dev-env environment
(on my github, it's a fork of orpsocv2 and I would advise against
using it for development - efforts should be focused elsewhere such as
ORPSoCv3 and a unified test suite) I have a script which allows you to
point to the GCC source directory, and it will compile each of the
tests and run them.

https://github.com/juliusbaxter/mor1kx-dev-env/blob/master/scripts/make/Makefile-gccregression.inc

It's far from the best way to do it, and it's not quite running it the
way the scripts in GCC run it, but it's better than nothing.

As I mentioned earlier, we'd really like a unified test case project
to be developed, combining the C and assembly tests from or1ksim,
ORPSoCv2 and the new ones which have been developed in mor1kx-dev-env.
But that's in the works (perhaps something I'll get to hack on soon,
we've been talking about it for years, so it's about time we do
something on it).

So I hope this is useful to you. Let me know if you have any other
questions. And don't forget we're in #openrisc on irc.freenode.net if
you'd like to continue discussions there.

I'm CC'ing the mailing lists as I think this is useful information to
have on the record.

Cheers

Julius
_______________________________________________
OpenRISC mailing list
[email protected]
http://lists.openrisc.net/listinfo/openrisc

Reply via email to