Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
9 years ago

Funny Internal Error: Sub-system: VRFX

I found a funny bug in quartus_map.

it crash when compiling the following module:


module crashtest(
  input       clk,
  input       rst
);
reg loc_reset = 0;
always @(posedge clk or posedge rst) loc_reset <= rst ? 1 : 0;
endmodule

with message

Internal Error: Sub-system: VRFX, File: /quartus/synth/vrfx/verific/verilog/verivalue_elab.cpp, Line: 3132

Can't register this value

Now rewrite module as follows


module crashtest(
  input       clk,
  input       rst
);
reg loc_reset = 0;
always @(posedge clk or posedge rst)
  if(rst)
    loc_reset <= 1;
  else
    loc_reset <= 0;
endmodule

and everything compiles fine.

also, the module can be rewritten in next form


module crashtest(
  input       clk,
  input       rst
);
reg loc_reset = 0;
always @(posedge clk or posedge rst) loc_reset <= rst ? '1'b1 : 1'b0;
endmodule

and it compiles well

I think the problem exists in all versions, including the latest 16.0

I'm using web-edition of quartus. Could it affect in such a way?

1 Reply