-
What is the quality of the generated RTL via the Calyx dialect as opposed to the native representation? Is it more efficient, worse or the same? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hello again! There's one important distinction to make here: neither the Calyx MLIR dialect nor the "native" Calyx IL generates better or worse Verilog. Those are both program representations, and they are (roughly) equivalent: you can translate one to the other, as @rachitnigam outlined in #1433 (reply in thread). To rephrase the question: Which generates better Verilog output from the same input program: the native Calyx compiler (this repo) or the MLIR passes (in the CIRCT repo)? One important thing to note is that the MLIR-based Calyx compiler is pretty new; I don't know what its current status is. I actually was about to write here that there is no such compiler; you have to convert Calyx to the "native" side in order to compile it the rest of the way to RTL. But apparently that information is out of date, which is pretty exciting—there appears to be ongoing work on CalyxToHW and CalyxToFSM passes within CIRCT. But I don't know what their current capabilities are, and I'd be pretty confident that—if the CIRCT side in full working order—no one has done a comprehensive empirical comparison to measure which compiler is currently generating better code. |
Beta Was this translation helpful? Give feedback.
Hello again! There's one important distinction to make here: neither the Calyx MLIR dialect nor the "native" Calyx IL generates better or worse Verilog. Those are both program representations, and they are (roughly) equivalent: you can translate one to the other, as @rachitnigam outlined in #1433 (reply in thread).
To rephrase the question: Which generates better Verilog output from the same input program: the native Calyx compiler (this repo) or the MLIR passes (in the CIRCT repo)? One important thing to note is that the MLIR-based Calyx compiler is pretty new; I don't know what its current status is. I actually was about to write here that there is no such compiler; you have to convert …