All Projects → ics-jku → wal

ics-jku / wal

Licence: BSD-3-Clause license
WAL enables programmable waveform analysis.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to wal

Rggen
Code generation tool for configuration and status registers
Stars: ✭ 54 (+50%)
Mutual labels:  eda, rtl
Kactus2dev
Kactus2 is a graphical EDA tool based on the IP-XACT standard.
Stars: ✭ 82 (+127.78%)
Mutual labels:  hardware, eda
Logic
CMake, SystemVerilog and SystemC utilities for creating, building and testing RTL projects for FPGAs and ASICs.
Stars: ✭ 149 (+313.89%)
Mutual labels:  verification, rtl
Openroad
OpenROAD's unified application implementing an RTL-to-GDS Flow
Stars: ✭ 270 (+650%)
Mutual labels:  eda, rtl
Axi
AXI SystemVerilog synthesizable IP modules and verification infrastructure for high-performance on-chip communication
Stars: ✭ 227 (+530.56%)
Mutual labels:  hardware, rtl
fphdl
VHDL-2008 Support Library
Stars: ✭ 36 (+0%)
Mutual labels:  hardware, verification
Verilog
Repository for basic (and not so basic) Verilog blocks with high re-use potential
Stars: ✭ 296 (+722.22%)
Mutual labels:  hardware, rtl
Pcbdl
PCB Design Language: A programming way to design schematics.
Stars: ✭ 84 (+133.33%)
Mutual labels:  hardware, eda
Dana
Dynamically Allocated Neural Network Accelerator for the RISC-V Rocket Microprocessor in Chisel
Stars: ✭ 160 (+344.44%)
Mutual labels:  hardware, rtl
Awesome Open Hardware Verification
A List of Free and Open Source Hardware Verification Tools and Frameworks
Stars: ✭ 103 (+186.11%)
Mutual labels:  hardware, verification
OpenROAD-flow-scripts
OpenROAD's scripts implementing an RTL-to-GDS Flow. Documentation at https://openroad-flow-scripts.readthedocs.io/en/latest/
Stars: ✭ 124 (+244.44%)
Mutual labels:  eda, rtl
xeda
Cross EDA Abstraction and Automation
Stars: ✭ 25 (-30.56%)
Mutual labels:  hardware, eda
spydrnet
A flexible framework for analyzing and transforming FPGA netlists. Official repository.
Stars: ✭ 49 (+36.11%)
Mutual labels:  hardware, eda
qcert
Compilation and Verification of Data-Centric Languages
Stars: ✭ 50 (+38.89%)
Mutual labels:  verification
descriptr
Generate descriptive statistics
Stars: ✭ 34 (-5.56%)
Mutual labels:  eda
stenc
SCSI Tape Encryption Manager - stenc (formerly on https://sourceforge.net/projects/stenc/)
Stars: ✭ 41 (+13.89%)
Mutual labels:  hardware
Hard-JPEG-LS
FPGA-based JPEG-LS image compressor.
Stars: ✭ 52 (+44.44%)
Mutual labels:  rtl
Tetra3d
Tetra3D is a 3D hybrid software/hardware renderer made for games written in Go with Ebitengine.
Stars: ✭ 271 (+652.78%)
Mutual labels:  hardware
libvata
VATA Tree Automata Library
Stars: ✭ 23 (-36.11%)
Mutual labels:  verification
Limbo
Library for VLSI CAD Design Useful parsers and solvers' api are implemented.
Stars: ✭ 84 (+133.33%)
Mutual labels:  eda

WAL the Waveform Analysis Language

Pylint Test and Build

The Waveform Analysis language logo

Welcome to the Waveform Analysis Language (WAL) repository. This domain-specific language aims at enabling automated and sophisticated analysis of hardware waveforms. In WAL, hardware-specific things such as signals and simulation time are treated as first-class citizens of the language.

Installation

WAL is available from PyPi!

pip install wal-lang --user

On some systems, pip does not add WALs installation path to the PATH variable. If the "wal" command is not available after installation please add the installation path, e.g. ~/.local/bin on Ubuntu, to your PATH variable.

To get the latest development version of WAL you can clone this repository. After that install WAL by typing make install inside the cloned directory.

PyPy Support

WAL also supports the alternative Python implementation PyPy. PyPy comes with a Just-in-Time compiler leading to substantial speedups in a lot of scenarios. To run WAL with PyPy, clone the repository and call 'make install-pypy'. If you are using PyPy you must also install the python-dev package for PyPy3. On Ubuntu this package can be installed with 'sudo apt install pypy3-dev'.

Documentation

The WAL Programmer Manual is available on wal-lang.org.

Examples

To get an impression of WAL you can check out basic examples. Also this ASCII cast ASCII Cast, shows how the WAL REPL is used to compare two RISCV cores.

A more sophisticated RISC-V core comparison is described here and the WAL code to this publication can be found here.

WAWK

WAWK is a project building on top of the WAL language. It combines the waveform analysis of WAL with the programming Style of AWK. Internally, WAWK is transpiled to WAL expressions, showcasing how new languages can be build on top of WAL.

Publication

The initial paper on WAL was presented at ASPDAC'22 and can be downloaded here: https://www.ics.jku.at/files/2022ASPDAC_WAL.pdf. The examples from the paper can be found in the examples folder.

If you like WAL you can cite our paper as follows:

@InProceedings{KG:2022,
  author        = {Lucas Klemmer and Daniel Gro{\ss}e},
  title         = {{WAL:} A Novel Waveform Analysis Language for Advanced Design Understanding and Debugging},
  booktitle     = {ASP Design Automation Conf.},
  year          = 2022
}

Emacs Mode

A basic major mode for Emacs is available here.

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].