Derrekito / benchmark_codes

Microcontroller benchmark codes for radiation testing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

benchmark_codes

The Mitigation Working Group Micocontroller Code

Description

This code is part of the mitigation working group code base to be used for testing microprocessors and FPGAs. This specific code is the code developed at Los Alamos National Laboratory for testing microcontrollers. This code includes a handful of codes that can be used to test microcontrollers for accelerated radiation tests. This version of the code includes: AES, LANL cache test, matrix multiply and quicksort. We also use CoreMark for testing purposes, which can be found here: http://www.eembc.org/coremark/index.php.

The ver 1.0 update of benchmarks has made several changes to the cache test, the quicksort codes. The cache test improvements help distinguish the difference between address decoder erros and SEUs. The quicksort changes allow us to release the code with the software, unlike the 0.1 version. Several inputs have been changed for the cache, quicksort, and matrix multiply tests. These improvements help determine the effect of the inputs on the errors.

Input

The inputs have been changed on several of the codes in the 1.0 update that puvished on 6/14/2023.

Output

All of the tests output YAML parsable text on the part's UART. It is possible to analyze this output with pyYAML. LANL has codes, but they are not covered under this license. We plan to release them in the future.

The outputs are also designed to be "robust" and "non-robust" for different types of testing. Robust printing prints all of the information about an error, including the test number and all of the (correct, incorrect) value pairs. Non-robust printing only prints the test number and the number of errors. For a test like quicksort, the amount of output that can be generate could be timeconsuming, so non-robust printing is needed when there are many errors. It is important that the printing not take over the computation process, so that the real computation is the test and not printf. For radiation tests where the flux is very low, such as at LANSCE, it is possible to use the robust printing. For radiation tests were the flux is very high, such as heavy ion testing, it is better to use non-robust printing.

Installation

This code is very bare boned. It works with Code Composer Studio, but projects are not given. The user will need to import the code into their own Code Composer Studio projects. Also, the code is designed to work with the MSP430F2619. The initialization and putc codes will need to be modified to work with other microcontrollers.

Copyright and license

Los Alamos National Security, LLC (LANS) owns the copyright to this portion of the mitigation working group's software codes. This particular set of codes is for microcontrollers, which it identifies internally as LA-CC-15-052. The license is BSD-ish with a "modifications must be indicated" clause. See LICENSE.md for the full text.

Contact

Heather Quinn, hquinn at lanl dot gov

About

Microcontroller benchmark codes for radiation testing.

License:Other


Languages

Language:C 100.0%