If you use Clay in your research, please cite our ICCAD'25 paper:
@inproceedings{peng2025clay,
title={Clay: High-level ASIP Framework for Flexible Microarchitecture-Aware Instruction Customization},
author={Peng, Weijie and Xiao, Youwei and Zou, Yuyang and Luo, Zizhang and Liang, Yun},
booktitle={2025 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)},
year={2025},
organization={IEEE}
}- Install pixi package manager
curl -fsSL https://pixi.sh/install.sh | sh- Run init script to prepare chipyard environment
pixi s
# in the new shell
bash scripts/init.sh- Test custom instructions
cargo run --package clay -- --input-file samples/stream_add.cadl
pushd chipyard/tests
cmake -B build -S .
cmake --build build
popd
cd chipyard/sims/verilator
make CONFIG=ClayRocketConfig BINARY=../../tests/stream_add.riscv run-binary-debug LOADMEM=1- See
samplesfor more examples!
Also check out APS (Agile Processor Synthesis)! -- an end-to-end open-source framework for rapid hardware-software co-design of domain-specific RISC-V processors. APS enables researchers and developers to design, synthesize, compile, simulate, and physically implement custom instruction set extensions with minimal effort.
Visit pku-liang/aps to learn more and get started.