SailGate is a Hardware Description Language embedded inside the ParaSail programming language. It uses ParaSail's reflection library to lower user-defined modules into VHDL entities.
- Install the ParaSail programming language on your system. As
of right now, you need to build it from source in order to get
an up-to-date version of the interpreter. You'll need to set
the
PARASAIL_ROOT
environment variable to the ParaSail directory.
$ git clone https://github.com/parasail-lang/parasail
$ cd parasail
$ make
$ pwd
/your-dir-abs/parasail
$ export PARASAIL_ROOT=$(pwd)
- Download the SailGate repository and mark the
sailgate.sh
as executable. Then, add./bin
to your PATH.
$ git clone https://github.com/EthanLuisMcDonough/SailGate
$ cd SailGate
$ chmod +x ./bin/sailgate.sh
$ export PATH="/your-dir-abs/SailGate/bin:$PATH"
- Invoke SailGate's driver by calling
sailgate.sh
with your SailGate design files.
$ sailgate.sh examples/counter_2bit.psl -o out_dir
$ ls out_dir
Entity_Mux_4.vhd
$ cat out_dir/Entity_Mux_4.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
...
Directions for running SailGate's test suite are in the tests directory.
Read the Introduction to SailGate tutorial. Example designs can be found inside the examples directory.