Open dillonhuff opened 4 years ago
I am still using the C++ simulator. If there is a better alternative, I can investigate that.
@jeffsetter thanks for letting me know. I'll leave the tests in.
I'm still interested in the comment that:
we agreed last year that we were going to deprecate the c++ backend
Was the thinking that Fault would replace all testing? Perhaps someone could fill me in on what I should be using for CoreIR testing.
I think the thinking was that we would replace the CoreIR C++ backend with just compiling to Verilog and running Verilator. I didn't realize that anyone was still using the C++ backend.
Hm, I've had issues simulating the CoreIR implementation of the "rowbuffer" in Verilator. Furthermore, functional models that don't have CoreIR definitions will be difficult to simulate purely in Verilator. Maybe this warrants a further discussion, because I have been thinking myself that using the current CoreIR simulator isn't a long-term solution. And it sounds like it's already been decided before that it will be deprecated.
Wait, are we talking about the generated c++ simulator, or the CoreIR interpreter? My impression was that no one is currently using the generated c++ simulator, but we are still using the CoreIR interpreter. I do not think we should depreciate the latter. The former I am fine with replacing it with verilator. Just want to make sure everyone is on the same page.
Oh I was talking about the CoreIR interpreter. But should I be simulating using Verilator instead? What's the benefit and drawbacks of Verilator vs the CoreIR interpreter?
Verilator: Generated simulator from verilog code. It is fast but you will not be able to easily read/write values dynamically in your tests. Or rather in order to do this you need to generate your C++ tests as a function of the CoreIR/verilog that is produced.
CoreIR Interpreter: Slower, but you can dynamically read and write values t/from the simulator. Everything can be done easily in the same C++ testing environment.
@jeffsetter @rdaly525 sorry for the confusion. This question was NOT supposed to be about the coreir interpreter. It was supposed to be about the coreir -> c++ backend that I wrote (almost) two years ago.
I assume we are all ok with removing the coreir -> C++ code generator?
@jeffsetter I also agree that the coreir interpreter is probably not a good long term solution. Actually I've been thinking of some other ways we could do simulation that might be more useful. We should talk more about it when I get back.
@dillonhuff, could you maybe move the code to a different repo? It feels wrong to get rid of the code.
@rdaly525 @jeffsetter I think we agreed last year that we were going to deprecate the c++ backend, but the tests never got removed. They take a long time and generate a bunch of output. Is anyone still using the C++ simulator for coreir?