Open tampler opened 4 years ago
Hi @tampler
I'm interested in this project, since am working on a commercial version of a FIRRTL Simulator implemented in Scala for large SoC designs. Our goal is to support Rocket and Boom simulations in pure FIRRTL first, and then add SV. VHDL is not considered at all for a 2y roadmap.
That's an awesome endeavor!
We work to promote Chisel as the first class language for simulation and synthesis, which is kind of what you mentioned as a "future" in your paper.
We indeed developed our own IR, frontend parser, and a sim backend implementation, which is capable for massive parallelization and cluster simulation, kudos to JVM Ecosystem.
However, I see no value in building and supporting my own IR and would happily switch to LLHD or similar. I'm also looking at
LGraph
IR to be compatible withYosys
andSTA
tools.
Indeed, one way of how LLHD can be useful is to have languages like Chisel/FIRRTL map to it rather than Verilog. Of course if you already use LGraph
to push designs through other tools, then changing to LLHD might not be worthwhile just for the sake of changing.
Currently, we stuck to FIRRTL, since Berkeley added many useful passes on the FIRRTL level, including early area, timing and power estimation, DFT insertion, FPGA cluster simulation support, etc. More info about that here and here. The later paper shows excellent results for integration with
Yosys
and combining both FIRRTL and Yosys passes to gain a higher level of design optimization.
Yes this is indeed a very nice feat!
- I'm curious about your thoughts on integration LLHD with Chisel and LGraph compatible tools
- I'm also interested in a roadmap of
moore
and what are your plans and priorities on it?
The long-term plans are to make this a complete SV implementation (famous last words). In the short-term, I push towards getting the various pulp-platform IPs to compile. At the same time, I'm trying to improve the sv-tests track record of moore.
- Do you consider porting
moore
design to Scala ?
Not at all.
Hi @fabianschuiki Thanks for detailed answers.
I may switch solely to LLHD in our simulation, if you can support FIRRTL input (any form would work, FIR High is preferable) in LLHD This would allow us to simulate both Chisel and SV and a bit VHDL thru the LLHD layer, which will deliver a great benefit to entire ecosystem. I may also give you a free access to our simulator for research purposes to improve LLHD internals and SV mapping
Couldn't find your JIT simulator llhd-blaze
. Is it a private/commercial or a not yet published project?
Yes, we are working to design chips in SV too. I'll try moore
to compile our production designs and give you a feedback on that
Best, Boris
@tampler
- How far are you from delivering fabianschuiki/llhd#124 ?
The conversion tool (llhd-conv
) and some early trials are set up, but no FIRRTL yet. I added the issue to the v0.14 milestone. That would make v0.14 an ecosystem integration release. You having a potential use for it is a good incentive to push for this rather sooner than later.
I may switch solely to LLHD in our simulation, if you can support FIRRTL input (any form) in LLHD This would allow us to simulate both Chisel and SV and a bit VHDL thru the LLHD layer, which will deliver a great benefit to entire ecosystem. I may also give you a free access to our simulator for research purposes to improve LLHD internals and SV mapping
That'd be very nice!
- Couldn't find your JIT simulator
llhd-blaze
. Is it a private/commercial or a not yet published project?
It's not yet published, but will be. It needs some clean-up and love before that, though.
- Yes, we are working to design chips in SV too. I'll try
moore
to compile our production designs and give you a feedback on that
Thanks, that would be very appreciated.
Hello
I'm interested in this project, since am working on a commercial version of a FIRRTL Simulator implemented in Scala for large SoC designs. Our goal is to support Rocket and Boom simulations in pure FIRRTL first, and then add SV. VHDL is not considered at all for a 2y roadmap.
We work to promote Chisel as the first class language for simulation and synthesis, which is kind of what you mentioned as a "future" in your paper.
We indeed developed our own IR, frontend parser, and a sim backend implementation, which is capable for massive parallelization and cluster simulation, kudos to JVM Ecosystem.
However, I see no value in building and supporting my own IR and would happily switch to LLHD or similar. I'm also looking at
LGraph
IR to be compatible withYosys
andSTA
tools.Currently, we stuck to FIRRTL, since Berkeley added many useful passes on the FIRRTL level, including early area, timing and power estimation, DFT insertion, FPGA cluster simulation support, etc. More info about that here and here. The later paper shows excellent results for integration with
Yosys
and combining both FIRRTL and Yosys passes to gain a higher level of design optimization.So
moore
and what are your plans and priorities on it?moore
design to Scala ?Sincerely, Boris