A starter template for building Verilog static analysis tools using the Qihe.
This project provides:
- A
HelloAnalysisexample demonstrating how to develop a new analysis (as explained in the tutorial) - The same command-line tool as Qihe provides for executing analyses
Keynotes:
- This template doesn't cover analysis development specifics. Please refer to the Qihe tutorials for detailed guidance.
- The usage of Qihe's command-line tool documentation is available here.
- Java 21 or later
- Qihe (installed locally)
Since Qihe is not yet published to Maven Central, you must install it to your local Maven repository:
# Clone the Qihe repository
git clone https://github.com/pascal-lab/qihe.git
cd qihe
# Build and test Qihe
./gradlew build
# Install to local Maven repository
./gradlew publishToMavenLocal Note: This project's
build.gradle.ktsis pre-configured to resolve dependencies from your local Maven repository.
Version Compatibility:
Ensure the version in this template's build.gradle.kts matches your installed Qihe version:
dependencies {
implementation("pascal.qihe:platform:<version>")
// ...
}You can find the Qihe version in the gradle.properties file within the Qihe repository.
Before developing with this template, verify it works correctly by following either method below.
# Build the project with tests
./gradlew build
# Install the project to the build directory `./build/install/qihe`.
# You can copy it to another directory if desired; in this example, we will leave it in place.
./gradlew installDist
# Add the installed binaries to your PATH variable:
# For Bash:
export PATH=$PATH:$(pwd)/build/install/qihe/bin
# For PowerShell:
$env:Path += ";$(Resolve-Path ./build/install/qihe/bin)"
# Now a `qihe` command is available
qihe -h If you want to run qihe without installation, you can use the Gradle task:
./gradlew run --args="<argument>..."This behaves identically to:
qihe <argument>...