Programming Language Assisted Waveform Analysis: A Case Study on the Instruction Performance of SERV
Lucas Klemmer and Daniel Grosse
Abstract
RISC-V’s growing traction leads to the release of new RISC-V cores on a near monthly basis. In this growing and diverse ecosystem, understanding the performance and other properties of a RISC-V core is of great importance since selecting the best fitting core is mandatory for a successful project. Analyzing RISC-V cores by hand is not possible due to the ever-increasing number of available cores and available software benchmarks might not be fine-grained enough to understand a core completely. Programming and powerful programming languages have proven to provide the productivity that is required to keep pace with these fast developments. In this paper we present a case study1 in which we use the Domain Specific Language WAWK to analyze the performance of all instructions of SERV, a well known bit-serial RISC-V core. With WAWK, only a few lines of code are necessary to calculate the respective metric on the waveform generated during simulation.