Skip to content

vishnumaiea/taurus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taurus

version

This is a fork of CDAC Vega SDK with additional improvements. It is an experiment and mostly for learning how such systems work, for now.

Contributions are welcome :)

Supported Platforms

  • Linux
  • Windows

Prerequisites

  • CMake
  • Ninja (Only on Windows)
  • RISC-V GNU Compiler Toolchain

Comparison with official SDK

  • Usage of CMake instead of GNU Make: This allows usage of multiple build systems and compilation on Windows and MacOS alongside Linux.
  • Integration with vegadude uploader tool for seamless development experience.
  • Cleaner code
  • Examples moved to seperate repository.
  • setup.sh: Completely rewritten with fine tunable features. See setup script usage for more information.
  • gpio:
    • All GPIO pins are intialised as OUTPUT LOW. Note: On Aries v2.0, Pin 26,27,29 and 30 are set to OUTPUT HIGH as these are inbuilt active-low LEDs.
  • Removed led: Not needed as it is the same as gpio.
  • config.h
    • Refactor, added SFRs
  • timer
    • Rewritten and simplified methods

TODO

  • Avoid GNU extensions to allow usage of RISC-V LLVM toolchain
  • Documentation

Setup script usage

Usage:  [-tb | --target-board] [-ts | --target-soc]
        [-tt | --toolchain-triplet] [-tp | --toolchain-path]
        [-ip | --install-path] [-vp | --vegadude-path]
        [-nm | --no-minicom]
        [-h | --help]

Option Summary:
    -tb | --target-board                Required if --target-soc not provided.
                                        Set the target development board to
                                        build Taurus for. Adds extra optimisations
                                        for board if available.
                                        Valid targets are:
                                        ARIES_V2 ARIES_V3 ARIES_MICRO_V1 ARIES_IOT_V1

    -ts | --target-soc                  Required if --target-board not provided.
                                        Set the target System-on-Chip to build
                                        Taurus for.
                                        Valid targets are:
                                        THEJAS32 THEJAS64 CDACFPGA
    
    -tt | --toolchain-triplet           Required. RISC-V GNU Compiler Toolchain
                                        triplet.
                                        Example: 'riscv64-unknown-elf'

    -tp | --toolchain-path              Optional. Specify the absolute path of
                                        toolchain if it is not present in PATH.

    -ip | --install-path                Optional. Path where Taurus will be
                                        installed.

    -vp | --vegadude-path               Optional. Provide vegadude path for taurus integration.
                                        Not required if vegadude is already present in PATH.

    -nm | --no-minicom                  Optional. Do not create minicom
                                        configuration file. Configuration is
                                        created if not specified.

    -h  --help                          Print this message.

Auto-minicom configuration is created only in Linux.

Credits

Originally developed by Centre for Development of Advanced Computing, India.

Forked and further developed by Debayan Sutradhar & Avra Mitra. All Rights Reserved.

License

Taurus is licensed under the MIT License.

About

SDK for CDAC Vega Processors

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 85.2%
  • CMake 4.3%
  • Batchfile 3.7%
  • Shell 3.6%
  • Assembly 3.2%