Skip to content

Latest commit

 

History

History
56 lines (43 loc) · 2.04 KB

README.md

File metadata and controls

56 lines (43 loc) · 2.04 KB

Tydi-tools

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

Usage

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 for firtool. 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.

Container contents

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