Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
741 Views

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?
0 Kudos
1 Reply
Highlighted
Beginner
19 Views

who cares...

0 Kudos