ekiwi / rfuzz

rfuzz: coverage-directed fuzzing for RTL research platform
https://people.eecs.berkeley.edu/~laeufer/papers/rfuzz_kevin_laeufer_iccad2018.pdf
BSD 3-Clause "New" or "Revised" License
97 stars 12 forks source link

Error running RFUZZ on Chisel FIR #7

Closed TobiasKovats closed 1 year ago

TobiasKovats commented 1 year ago

Hello!

I am trying to apply RFUZZ to a design generated by Chisel. When passing the corresponding .fir file, I encounter the following errors: line 1984:39 mismatched input ':' expecting {'.', '[', UnsignedInt, SignedInt, HexLit, OctalLit, BinaryLit} line 2648:2 mismatched input 'module' expecting {'.', '[', UnsignedInt, SignedInt, HexLit, OctalLit, BinaryLit} [error] (run-main-0) firrtl.SyntaxErrorsException: 2 syntax error(s) detected [error] firrtl.SyntaxErrorsException: 2 syntax error(s) detected [error] stack trace is suppressed; run last Compile / bgRunMain for the full output [error] Nonzero exit code: 1 [error] (Compile / runMain) Nonzero exit code: 1 [error] Total time: 3 s, completed Mar 28, 2023, 12:43:26 PM

Since the .fir files are generated by Chisel and should not have syntax errors, I was wondering If there might be a bug in the parser or if anyone has come across a similar issue.

Thanks,

Tobias

ekiwi commented 1 year ago

What version of Chisel are you using? rfuzz is using version 3.3.2. Newer versions might generate new firrtl constructs which - unfortunately - cannot be parsed by the older version.

TobiasKovats commented 1 year ago

You are right! The issue seems to be the Chisel version. Is it a lot of code that would need to be adapted to be compatible with Chisel 3.5? Since I cannot downgrade the Chisel version of the framework I am using to generate the HDL I might give that a try.

ekiwi commented 1 year ago

Is it a lot of code that would need to be adapted to be compatible with Chisel 3.5?

Not 100% sure. Just remember that I tried for a couple of hours once and decided that it wasn't worth my time at the moment. Feel free to try though. I think there might even be a fork where someone was trying to port to Chisel 3.5, not sure if that actually worked out or not.

ekiwi commented 1 year ago

Another option might be to try out the rtl fuzz lab project from one of my undergraduates: https://github.com/ekiwi/rtl-fuzz-lab

It;s not as high performance as rfuzz but it does use a newer Chisel version (a 3.5 snapshot that shouldn't be to hard to get to 3.5 proper).

TobiasKovats commented 1 year ago

Great, I will have a look. Thanks a lot!