The Docker image resulting from the Dockerfile in this repository is meant to contain all Tydi related tooling, so you can easily get started with Tydi based development.
The tools included, together with the necessary software to run them, are:
- Tydi-lang – Tydi-lang compiler
- Tydi-lang-2-Chisel – A Tydi-lang-IR to Chisel transpiler
- Tydi-Chisel – The Scala library for integrating Tydi concepts inside Chisel
- TIL-JSON – A tool for automatically generating a JSON to Tydi streams parser
Note: not actively maintained anymore - TIL – The Tydi Intermediate Representation to VHDL compiler
Note: not actively maintained anymore
To use the container, build the image.
docker build -t tydi-tools .
For ARM architectures, x86 emulation must be used as there is no
aarch64
build available forfirtool
. This goes automatically through Rosetta 2 on OSx and qemu on Linux.
Then, run the container with terminal like:
docker run -it --rm --name tydi-tools-container -v .:/root/tvlsi-example tydi-tools /bin/bash
The container contains some example files for a simple passthrough to test with. The commands to compile this project to Verilog from the Tydi-lang description are as follows:
tydi-lang-complier -c tydi_passthrough_project.toml
tl2chisel output/ output/json_IR.json
scala-cli output/json_IR_generation_stub.scala output/json_IR_main.scala
Commands will look similar for a custom project. See the details of the specific tools for configuration specifics.
The following commands are available inside the container:
- Tydi tools
tydi-lang-complier
tl2chisel
til-demo
json_hierachy
- Java/scala tools
cs
java
scala-cli
sbt
- Chisel tools
firtool
- Other tools
graphviz