circt icon indicating copy to clipboard operation
circt copied to clipboard

[LLHD][Arc] Indexing and slicing lowering from Verilog to LLVM IR

Open AndreyVV-100 opened this issue 10 months ago • 6 comments
trafficstars

Hi! I'm trying to use circt for lowering to LLVM IR. I found such a construction in some example:

module Mod (input clk, input a, input b, output logic[1:0] c);
always_ff @(posedge clk) begin
    c[0] <= a;
    c[1] <= b;
end
endmodule

I used this pipeline:

circt-verilog ranges.sv | circt-opt --llhd-early-code-motion --llhd-temporal-code-motion --llhd-desequentialize --llhd-sig2reg --canonicalize | arcilator

But I got error body contains non-pure operation in arcilator. Also I had same error when I tried to use slicing instead of indexing. What needs to be done to run arcilator successfully?

AndreyVV-100 avatar Jan 10 '25 16:01 AndreyVV-100