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

Subversion Repositories aemb

[/] [aemb/] [trunk/] [sw/] [cc/] [testbench.cc] - Diff between revs 130 and 136

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 130 Rev 136
Line 1... Line 1...
/* $Id: testbench.cc,v 1.3 2008-04-26 00:25:19 sybreon Exp $
/* $Id: testbench.cc,v 1.4 2008-04-26 18:08:12 sybreon Exp $
**
**
** AEMB Function Verification C++ Testbench
** AEMB Function Verification C++ Testbench
** Copyright (C) 2004-2008 Shawn Tan <shawn.tan@aeste.net>
** Copyright (C) 2004-2008 Shawn Tan <shawn.tan@aeste.net>
**
**
** This file is part of AEMB.
** This file is part of AEMB.
Line 22... Line 22...
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include "aemb/core.hh"
#include "aemb/core.hh"
#include "literate.hh"
#include "literate.hh"
#include "simboard.hh"
#include "simboard.hh"
#include <vector>
 
 
 
using namespace aemb;
#define MAX_TEST 3
 
 
#define MAX_TEST 5
// run tests
 
int main()
int thread1() // runs math tests
 
{
{
  // *** 1. FIBONACCI *** //
  iprintf("AEMB2 32-bit Microprocessor Core\n");
  printf("Fibonacci Test\n");
 
 
  // *** 1. FIBONACCI ***
 
  iprintf("Fibonacci Test\n");
  if (fibonacciTest(MAX_TEST) != EXIT_SUCCESS) trap(-1);
  if (fibonacciTest(MAX_TEST) != EXIT_SUCCESS) trap(-1);
 
 
  // *** 2. EUCLIDEAN *** //
  // *** 2. EUCLIDEAN ***
  printf("Euclidean Test\n");
  iprintf("Euclidean Test\n");
  if (euclideanTest(MAX_TEST) != EXIT_SUCCESS) trap(-2);
  if (euclideanTest(MAX_TEST) != EXIT_SUCCESS) trap(-2);
 
 
  // *** 3. NEWTON-RHAPSON *** //
  // *** 3. NEWTON-RHAPSON ***
  printf("Newton-Rhapson Test\n");
  iprintf("Newton-Rhapson Test\n");
  if (newtonTest(MAX_TEST) != EXIT_SUCCESS) trap(-3);
  if (newtonTest(MAX_TEST) != EXIT_SUCCESS) trap(-3);
 
 
  printf("Test 1 Done\n");
  // *** 9. PASSED ***
  //rendezvous(); // Wait for other thread
  iprintf("*** PASSED ***\n");
  return 0;
 
}
 
 
 
 
 
int thread0() // runs core tests
 
{
 
  // *** 1. MALLOC TEST ***/
 
  //if (memoryTest(100) != EXIT_SUCCESS) trap(1);
 
 
 
  // *** 2. INTERRUPT TEST *** //
 
  //if (interruptTest(10000) != EXIT_SUCCESS) trap(2);
 
 
 
  // *** 3. XSL *** //
 
  //if (xslTest(0xBADCAB1E) != EXIT_SUCCESS) trap(3);
 
 
 
  rendezvous(); // Wait for other thread
 
  return 0;
 
}
 
 
 
int threads()
 
{
 
  if (isThread1())
 
    return thread1();
 
  else
 
    return thread0();
 
}
 
 
 
// run tests
 
int main()
 
{
 
  printf("AEMB2 32-bit MICROPROCESSOR CORE\n");
 
  threads();
 
  return EXIT_SUCCESS;
  return EXIT_SUCCESS;
}
}
 
 
/*
/*
$Log: not supported by cvs2svn $
$Log: not supported by cvs2svn $
 
  Revision 1.3  2008/04/26 00:25:19  sybreon
 
  switched printf's to iprintf's because iprintf's don't work by
 
  -O3 for some reason.
 
 
Revision 1.2  2008/04/21 12:13:12  sybreon
Revision 1.2  2008/04/21 12:13:12  sybreon
Passes arithmetic tests with single thread.
Passes arithmetic tests with single thread.
 
 
*/
*/
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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