Skip to content

VP-Vibes/UnicornSC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UnicornSC

A SystemC wrapper for the Unicorn Engine (https://www.unicorn-engine.org/)

What is the Unicorn Engine (https://www.unicorn-engine.org/)

Unicorn - The Ultimate CPU emulator

Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework.

Highlight features:

  • Multi-architectures: ARM, ARM64 (ARMv8), m68k, MIPS, PowerPC, RISC-V, S390x (SystemZ), SPARC, TriCore & x86 (include x86_64).
  • Clean/simple/lightweight/intuitive architecture-neutral API.
  • Implemented in pure C language, with bindings for Pharo, Crystal, Clojure, Visual Basic, Perl, Rust, Haskell, Ruby, Python, Java, Go, D, Lua, JavaScript, .NET, Delphi/Pascal & MSVC available.
  • Native support for Windows & *nix (with macOS, Linux, Android, *BSD & Solaris confirmed).
  • High performance by using Just-In-Time compiler technique.
  • Support fine-grained instrumentation at various levels.
  • Thread-safe by design.

Build it

One need to have conan and cmake (>=3.16) installed as well as a decent gcc.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build 

To run the example one also needs the RSIC-V gcc toolsuite installed.

make -C example/fw/hello-world
build/example/unicorn-sc-ex example/fw/hello-world/hello

TODO

  • add gdb server to allow debugging

About

A SystemC wrapper for the Unicorn Engine (https://www.unicorn-engine.org/)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 49.5%
  • C 41.1%
  • CMake 7.3%
  • Makefile 2.1%