Verilua
is a versatile simulation framework for Hardware Verification based on LuaJIT
. It can be used as a Hardwave Verification Language (HVL
) to write testbenches and simulate hardware designs. Or it can be used as a Hardware Script Engine (HSE
) to embed Lua scripts into the simulation. It can also can be used as a Waveform Analysis Language(WAL
) to analyze the provided waveform files(VCD, FST, FSDB, etc).
wget https://github.com/cyril0124/verilua/releases/download/v1.0.0/verilua-x64-ubuntu-22.04.zip
unzip verilua-x64-ubuntu-22.04.zip -d <path-to-install>
Add the following line to your ~/.bashrc
or ~/.zshrc
:
source <path-to-install>/verilua.sh
You need to reload your shell configuration file to activate verilua. After that, you can test the installation by running:
test_verilua
If you see the following output, then the installation is successful:
[test_verilua] Test verilua finished!
To update the verilua to the latest version, you can run:
update_verilua
Important
- Make sure that you have the permission to write to the verilua home directory(or verilua install directory).
update_verilua
is only available if you have installed verilua from release.
- 🚀 High Performance: LuaJIT, a Just-In-Time Compiler, transforms Lua code into native machine code, delivering exceptional speed and efficiency.
- ⚡ Lightweight & Fast: Lua boasts a minimal runtime and near-instant startup time, outpacing other dynamic languages like Python.
- 💫 Seamless C Integration: LuaJIT's Foreign Function Interface (FFI) enables efficient calls to C functions and libraries, and even supports calling Rust code, simplifying integration with native code.
- 👍 Enhanced Development: While Lua is dynamically typed, tools like LuaLS and EmmyLuaLs introduce a comment-based type system, significantly improving code clarity and developer experience.
- LuaJIT - A high-performance Lua implementation powering Verilua's speed and efficiency.
- Cocotb - A source of inspiration for Verilua's design and functionality.
- Slang - A robust parser for Verilog/SystemVerilog files, integral to many tools in this repository.
- Xmake - The foundation of our streamlined and efficient build system.