Code Monkey home page Code Monkey logo

xzores / patmos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from t-crest/patmos

0.0 0.0 0.0 52.73 MB

Patmos is a time-predictable VLIW processor, and the processor for the T-CREST project

Home Page: http://patmos.compute.dtu.dk

License: BSD 2-Clause "Simplified" License

Assembly 0.17% Makefile 0.19% C 15.22% C++ 0.20% Scala 2.53% VHDL 66.09% Verilog 9.82% Stata 0.06% Tcl 0.78% Shell 0.07% CMake 0.01% Java 0.18% Python 0.04% Mathematica 0.01% Raku 0.01% SystemVerilog 2.37% V 1.90% Perl 0.01% Promela 0.38%

patmos's Introduction

About Patmos

Patmos is a time-predictable VLIW processor. Patmos is the processor for the T-CREST project. See also: http://www.t-crest.org/ and http://patmos.compute.dtu.dk/

The Patmos Reference Handbook contains build instructions in Section 5.

For questions and discussions join the Patmos mailing list at: https://groups.yahoo.com/group/patmos-processor/

Getting Started

Several packages need to be installed. The following apt-get lists the packages that need to be installed on a Ubuntu Linux:

sudo apt install git openjdk-8-jdk gitk cmake make g++ texinfo flex bison \
  subversion libelf-dev graphviz libboost-dev libboost-program-options-dev ruby-full \
  liblpsolve55-dev python zlib1g-dev gtkwave gtkterm scala autoconf libfl2 expect

Make sure to use Java 8 and remove any later Java version with sudo apt autoremove.

Install sbt according to the instructions from sbt download

We assume that the T-CREST project will live in $HOME/t-crest. Before building the compiler, add the path to the compiler executables into your .bashrc or .profile:

export PATH=$PATH:$HOME/t-crest/local/bin

Use an absolute path as LLVM cannot handle a path relative to the home directory (~). Logout and login again to make your new PATH setting active.

In order to build the C++ emulator of Patmos, Verilator version 4.028 or higher must be installed.
With Ubuntu 20.04 this can be installed through apt-get:

sudo apt-get install verilator

Older versions of Ubuntu must install Verilator via their git repository:

git clone https://github.com/verilator/verilator
unset VERILATOR_ROOT
cd verilator
git checkout v4.028 #Tested version - newer should be fine
autoconf
./configure
make
sudo make install

You can remove the verilator repository after installation

Patmos and the compiler can be checked out from GitHub and are built as follows:

mkdir ~/t-crest
cd ~/t-crest
git clone https://github.com/t-crest/patmos-misc.git misc
./misc/build.sh

For developers with push permission the ssh based clone string is:

git clone [email protected]:t-crest/patmos-misc.git misc

build.sh will checkout several other repositories (the compiler, library, and the Patmos source) and build the compiler and the Patmos simulator. Therefore, take a cup of coffee and find some nice reading (e.g., the Patmos Reference Handbook).

We can start with the standard, harmless looking Hello World:

main() {
    printf("Hello Patmos!\n");
}

With the compiler installed it can be compiled to a Patmos executable and run with the simulator as follows:

patmos-clang hello.c
pasim a.out

However, this innocent examples is quiet challenging for an embedded system. For further details and how to build Patmos for an FPGA see Section 6 in the Patmos Reference Handbook.

You can also build the Patmos handbook yourself from the source. You first need to install LaTeX (about 3 GB) with:

sudo apt-get install texlive-full doxygen

The handbook is then built with:

cd patmos/doc
make

patmos's People

Contributors

schoeberl avatar jeunes2 avatar rbscloud avatar stefanhepp avatar egk696 avatar thonner avatar torurstrom avatar dsanz006 avatar edga avatar dlp avatar phell avatar lucapezza avatar mortbopet avatar nothinn avatar davidchong99 avatar sabb avatar ogedai10 avatar emoun avatar evaka avatar majalund avatar visq avatar cgkiokas avatar henrikh avatar jgyork avatar mziccard avatar elthra avatar michael-platzer avatar philipp-birkl avatar epsilon-0311 avatar 3picf4ilftw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.