Would someone be able to help me with running the rocket chip using custom C code?
I am working with another individual on creating an RoCC accelerator for calculating the CRC across a block of data. We have the accelerator implemented and added to the configs (we put it in place of the CharacterCount accelerator).
Ideally, we were wanting to use the proxy kernel to take advantage of the printf statements for relatively quick verification that our implementation works. But at this point, we'd settle for a bare-metal output (ideally where the file size doesn't explode to the order of gigabytes).
We wrote and compiled a C program (with riscv's gcc) using the macros in #467, and dumping out the resulting file creates assembly that looks quite reasonable. We also created a simple program that just adds a couple integers together (like 4 lines of C code), in case something was wrong with our accelerator integration. However, trying to run either of them, either via the proxy kernel or bare-metal seems to never finish, at least after 100 million cycles.
Running the riscv-tests completes without issues.
And they all error out after 100 million cycles, without completion. Is there a step we are missing here?
Our repo is at https://github.com/swilkins8/rocket-chip-RSA_CRC if looking at it would be of any help here.
Would someone be able to help me with running the rocket chip using custom C code?
I am working with another individual on creating an RoCC accelerator for calculating the CRC across a block of data. We have the accelerator implemented and added to the configs (we put it in place of the CharacterCount accelerator).
Ideally, we were wanting to use the proxy kernel to take advantage of the printf statements for relatively quick verification that our implementation works. But at this point, we'd settle for a bare-metal output (ideally where the file size doesn't explode to the order of gigabytes).
We wrote and compiled a C program (with riscv's gcc) using the macros in #467, and dumping out the resulting file creates assembly that looks quite reasonable. We also created a simple program that just adds a couple integers together (like 4 lines of C code), in case something was wrong with our accelerator integration. However, trying to run either of them, either via the proxy kernel or bare-metal seems to never finish, at least after 100 million cycles. Running the riscv-tests completes without issues.
We've tried running these commands:
And they all error out after 100 million cycles, without completion. Is there a step we are missing here? Our repo is at https://github.com/swilkins8/rocket-chip-RSA_CRC if looking at it would be of any help here.