All Projects → t-crest → Patmos

t-crest / Patmos

Licence: bsd-2-clause
Patmos is a time-predictable VLIW processor, and the processor for the T-CREST project

Labels

Projects that are alternatives of or similar to Patmos

Hdmi2usb Numato Opsis Sample Code
Example code for the Numato Opsis board, the first HDMI2USB production board.
Stars: ✭ 40 (-52.94%)
Mutual labels:  vhdl
Haddoc2
Caffe to VHDL
Stars: ✭ 57 (-32.94%)
Mutual labels:  vhdl
Digital Design Lab
Stars: ✭ 74 (-12.94%)
Mutual labels:  vhdl
Scaffold
Donjon hardware tool for circuits security evaluation
Stars: ✭ 43 (-49.41%)
Mutual labels:  vhdl
Spi Fpga
SPI master and slave for FPGA written in VHDL
Stars: ✭ 50 (-41.18%)
Mutual labels:  vhdl
Q27
27-Queens Puzzle: Massively Parellel Enumeration and Solution Counting
Stars: ✭ 60 (-29.41%)
Mutual labels:  vhdl
Flearadio
Digital FM Radio Receiver for FPGA
Stars: ✭ 36 (-57.65%)
Mutual labels:  vhdl
Pynq Dl
Xilinx Deep Learning IP
Stars: ✭ 84 (-1.18%)
Mutual labels:  vhdl
Aws Fpga
Official repository of the AWS EC2 FPGA Hardware and Software Development Kit
Stars: ✭ 1,091 (+1183.53%)
Mutual labels:  vhdl
Yafc
Yet Another Forth Core...
Stars: ✭ 68 (-20%)
Mutual labels:  vhdl
Fpga Fft
A highly optimized streaming FFT core based on Bailey's 4-step large FFT algorithm
Stars: ✭ 45 (-47.06%)
Mutual labels:  vhdl
Vexriscv
A FPGA friendly 32 bit RISC-V CPU implementation
Stars: ✭ 1,041 (+1124.71%)
Mutual labels:  vhdl
Logi Projects
Stars: ✭ 63 (-25.88%)
Mutual labels:  vhdl
Vhdl
VHDL Samples
Stars: ✭ 40 (-52.94%)
Mutual labels:  vhdl
Simon speck ciphers
Implementations of the Simon and Speck Block Ciphers
Stars: ✭ 74 (-12.94%)
Mutual labels:  vhdl
Open Source Fpga Bitcoin Miner
A completely open source implementation of a Bitcoin Miner for Altera and Xilinx FPGAs. This project hopes to promote the free and open development of FPGA based mining solutions and secure the future of the Bitcoin project as a whole. A binary release is currently available for the Terasic DE2-115 Development Board, and there are compile-able projects for numerous boards.
Stars: ✭ 989 (+1063.53%)
Mutual labels:  vhdl
Sublime Vhdl
VHDL Package for Sublime Text
Stars: ✭ 58 (-31.76%)
Mutual labels:  vhdl
Greta
GRETA expansion board for the Amiga 500 computer with Fast RAM, microSD mass storage and Ethernet controller, powered by FPGA technology.
Stars: ✭ 84 (-1.18%)
Mutual labels:  vhdl
Zynqbtc
A Bitcoin miner for the Zynq chip utilizing the Zedboard.
Stars: ✭ 74 (-12.94%)
Mutual labels:  vhdl
J1sc
A reimplementation of a tiny stack CPU
Stars: ✭ 64 (-24.71%)
Mutual labels:  vhdl

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 with:

echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
  --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
sudo apt-get update
sudo apt-get install sbt

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].