Chisel est un langage de description hardware développé par l’université de Berkley basé sur le langage Scala.
Les mainteneurs du projet Chisel fournissent un github de code d’exemples avec un tutoriel qui va avec. Le guide d’installation est par contre un peu léger et nécessite quelques adaptations pour tourner correctement sous Debian Jessie.
Dépendances
Les paquets debian à installé sont les suivants:
- Scala
- sbt
- g++4.8
- openjdk-7-jre
Que l’on peut installer sous Jessie avec les commandes suivantes:
sudo apt-get install scala
sudo apt-get install g++-4.8-multilib
sudo apt-get install openjdk-7-jre
sbt n’étant pas intégré dans Jessie, il est nécessaire de l’installer à la main en décompressant l’archive:
wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.6/sbt-0.13.6.tgz
tar -zxvf sbt-0.13.6.tgz
Puis en l’ajoutant à son .bashrc :
# Scala built tool
export PATH=$PATH:"/opt/sbt/bin/"
Installation des tutoriels
Tout d’abord il nous faut descendre le git des tutoriels :
git clone https://github.com/ucb-bar/chisel-tutorial.git
cd chisel-tutorial/example
Puis tenter de compiler l’exemple Parity avec le makefile :
$ make Parity.out
set -e -o pipefail; sbt -Dsbt.log.noformat=true "run Parity --genHarness --compile --test --backend c " | tee Parity.out
/bin/sh: 0: Illegal option -o pipefail
../suffix.mk:61: recipe for target 'Parity.out' failed
make: *** [Parity.out] Error 2
Et c’est le drame !
Pour que ça fonctionne il faut taper la commande à la main sans le «set -e -o pipefail».
$ sbt -Dsbt.log.noformat=true "run Parity --genHarness --compile --test --backend c " | tee Parity.out
...
STEP 1 -> 10
PEEK Parity.io_out -> 0x0
EXPECT Parity.io_out <- 0 == 0 PASS
RAN 10 CYCLES PASSED
PASSED
[success] Total time: 31 s, completed 27 oct. 2014 12:28:46
$