TmrError changes name after triplication
Summary
Feature to use tmrError in code is now broken
Describe your setup
module test (input logic reset,
input logic [7:0] rwmem [5:0]
);
wire [7:0] rwmemVoted [5:0];
assign rwmemVoted = rwmem; // MajorityVoter after each rwmem
wire rwmemTmrError = 1'b0;
logic Clk_gated_enable;
assign Clk_gated_enable = reset || rwmemTmrError;
endmodule
TMRG Version
HEAD of !176 (merged) (same on current master)
Steps to reproduce
tmrg test.sv
(see module test
above)
What is the current bug behavior?
generate
for(gen_rwmemVotedVoterA0 = ((5>0) ? 0 : 5);gen_rwmemVotedVoterA0<=((5>0) ? 5 : 0);gen_rwmemVotedVoterA0 = gen_rwmemVotedVoterA0+1)
begin : gen_rwmemVotedVoterA0_fanout
majorityVoter #(.WIDTH(8)) rwmemVotedVoterA (
.inA(rwmemA[gen_rwmemVotedVoterA0]),
.inB(rwmemB[gen_rwmemVotedVoterA0]),
.inC(rwmemC[gen_rwmemVotedVoterA0]),
.out(rwmemVotedA[gen_rwmemVotedVoterA0]),
.tmrErr(rwmemVotedTmrErrorA)
);
end
endgenerate
What is the expected correct behavior?
generate
for(gen_rwmemVotedVoterA0 = ((5>0) ? 0 : 5);gen_rwmemVotedVoterA0<=((5>0) ? 5 : 0);gen_rwmemVotedVoterA0 = gen_rwmemVotedVoterA0+1)
begin : gen_rwmemVotedVoterA0_fanout
majorityVoter #(.WIDTH(8)) rwmemVotedVoterA (
.inA(rwmemA[gen_rwmemVotedVoterA0]),
.inB(rwmemB[gen_rwmemVotedVoterA0]),
.inC(rwmemC[gen_rwmemVotedVoterA0]),
.out(rwmemVotedA[gen_rwmemVotedVoterA0]),
.tmrErr(rwmemTmrErrorA)
);
end
endgenerate
Possible fixes
(If you can, link to the line of code that might be responsible for the problem)