DuctTape
Project
DuctTape (dt) is a high-level assembly programming language and assembler for the RISC-V instruction set. It is intended to be used during the early development stages of hardware and software tools, to aid developers in writing micro-kernel test cases for exposing bugs, exercising specific code sequences, and/or for performance validation.
Team
Justin Severeid, bachelor graduate of computer science with embedded systems emphasis
Elliott Forbes, professor of computer science
Publications
Severeid, J. and Forbes, E., "dt: A High-level Assembler for RISC-V," Proceedings of the 53rd Midwest Instruction and Computing Symposium, April 2020. [pdf]
Severeid, J. and Forbes, E., "Technical Reference for the dt Programming Language and Assembler," Department of Computer Science, University of Wisconsin-La Crosse, Technical Report TR04032020, April 2020. [pdf]
Presentations
Midwest Instruction and Computing Symposium, 2020. [YouTube]
Status
dt development is still currently in progress. The assembler emits rv64i base instructions, and will include additional features in future releases - for example, the rv64m and rv64c extensions.
Testing and verification for dt consists of a test suite of programs, assembled into ELF64 Linux executables and run on the SiFive HiFive Unleashed development board. Other possible output formats are a flat memory image, either in plain text or binary.
Source code will be available soon.