wal

所属分类:大数据
开发工具:Python
文件大小:404KB
下载次数:0
上传日期:2023-04-29 14:36:00
上 传 者sh-1993
说明:  wal,wal实现可编程波形分析。
(wal,WAL enables programmable waveform analysis.)

文件列表:
LICENSE (1513, 2023-05-21)
Makefile (645, 2023-05-21)
Pipfile (281, 2023-05-21)
documentation (0, 2023-05-21)
documentation\cheatsheet (0, 2023-05-21)
documentation\cheatsheet\wal-cheatsheet.aux (8, 2023-05-21)
documentation\cheatsheet\wal-cheatsheet.pdf (129674, 2023-05-21)
documentation\cheatsheet\wal-cheatsheet.tex (7725, 2023-05-21)
examples (0, 2023-05-21)
examples\advanced (0, 2023-05-21)
examples\advanced\axi-stream.wal (1616, 2023-05-21)
examples\advanced\axi-stream.wawk (1697, 2023-05-21)
examples\advanced\repl.wal (766, 2023-05-21)
examples\advanced\uart-axi.fst (701, 2023-05-21)
examples\basics (0, 2023-05-21)
examples\basics\basics1.wal (1243, 2023-05-21)
examples\basics\basics2.wal (1789, 2023-05-21)
examples\basics\counter.fst (621, 2023-05-21)
examples\general (0, 2023-05-21)
examples\general\advent-of-code-2020-15.wal (382, 2023-05-21)
examples\general\euler1.wal (893, 2023-05-21)
examples\general\extern.py (638, 2023-05-21)
examples\general\lisp.wal (1868, 2023-05-21)
examples\general\python.wal (197, 2023-05-21)
examples\general\useroperator.py (464, 2023-05-21)
examples\print-vcd (0, 2023-05-21)
examples\print-vcd\print-vcd.wal (2643, 2023-05-21)
examples\riscv-profile (0, 2023-05-21)
examples\riscv-profile\config.wal (110, 2023-05-21)
examples\riscv-profile\gcd.elf (6552, 2023-05-21)
examples\riscv-profile\profile.py (2676, 2023-05-21)
... ...

# WAL the Waveform Analysis Language [![Test and Build](https://github.com/ics-jku/wal/actions/workflows/python-app.yml/badge.svg)](https://github.com/ics-jku/wal/actions/workflows/python-app.yml)

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 from PyPi WAL is available from [PyPi](https://pypi.org/project/wal-lang/)! > 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, follow the instructions for your OS below inside the cloned directory. ## Installation from Source For Ubuntu (22.04 LTS): ``` sudo apt install git cmake python3-cffi python3.10-venv python3-pip build-essential -y git clone https://github.com/ics-jku/wal.git cd wal PYTHON=python3 make install echo "export PATH=\$PATH:$HOME/.local/bin" >> ~/.bashrc ``` For Fedora (36): ``` sudo dnf install git cmake g++ zlib-devel python3-devel -y git clone https://github.com/ics-jku/wal.git cd wal make install ``` For OpenSuse Tumbleweed: ``` sudo zypper install git cmake gcc-c++ zlib-devel python3-devel git clone https://github.com/ics-jku/wal.git cd wal make install ``` ### PyPy and Pyston Support WAL also supports the alternative Python implementations PyPy and Pyston. Both alternative implementations can lead to substantial speedups in a lot of scenarios. To install WAL with an alternative implementation change the *PYTHON* variable in the Makefile or install with `PYTHON=pypy3 make install`. If you are using PyPy you must also have the python-dev package installed 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](https://wal-lang.org/documentation/core). ## Examples To get an impression of WAL you can check out [basic examples](https://github.com/ics-jku/wal/tree/main/examples/basics). Also, this ASCII cast [ASCII Cast](https://asciinema.org/a/I8fQknySyaZqNjXAA8Ej7wOoq), shows how the WAL REPL is used to compare two RISCV cores. A more sophisticated RISC-V core comparison is described [here](https://www.ics.jku.at/files/2022DAC_LBR-Waveform-based-Performance-Analyisis-for-RISC-V.pdf) and the WAL code to this publication can be found [here](https://github.com/LucasKl/dac22-lbr-experiments). ### WAWK [WAWK](https://github.com/ics-jku/wal/tree/main/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](https://github.com/LucasKl/wal-major-mode).

近期下载者

相关文件


收藏者