Code Monkey home page Code Monkey logo

epsilon-0311 / patmos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from t-crest/patmos

0.0 0.0 0.0 41.26 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

Shell 0.07% C++ 0.19% Python 0.04% C 15.18% Java 0.18% Scala 2.57% Tcl 1.34% VHDL 65.63% Verilog 9.76% Assembly 0.17% SystemVerilog 2.35% Stata 0.06% Mathematica 0.01% Makefile 0.19% CMake 0.01% V 1.88% Raku 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 use the GitHub discussion area of Patmos at: https://github.com/t-crest/patmos/discussions

Getting Started

In the following the installation and of the T-CERST/Patmos tools and design on a Linux machine is described.

A Virtual Machine for Development

However, we also provide a VMWare virtual machine with Ubuntu 20.04 and all tools installed and compiled at:

The user id is patmos and the password is also patmos.

Linux (Ubuntu) based Installation

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

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

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.

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

mkdir ~/t-crest
cd ~/t-crest
git clone [email protected]:t-crest/patmos-misc.git misc
./misc/build.sh

Without a GitHub login the ssh based clone string is:

git clone https://github.com/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).

You can also install (quicker) the precompiled tools with:

./misc/build.sh -q

Hello World

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 sw simulator and the hardware emulation as follows:

patmos-clang hello.c
pasim a.out
patemu a.out

However, this innocent examples is quite 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 emoun avatar ogedai10 avatar evaka avatar majalund avatar visq avatar epsilon-0311 avatar cgkiokas avatar henrikh avatar jgyork avatar mziccard avatar elthra avatar michael-platzer avatar philipp-birkl 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.