Hello, my Quartus is crashed, and I have web edition so can't find any other option to report it:
And this is the code caused it, look around 'ribbon' object:
Code:
Internal Error: Sub-system: VRFX, File: /quartus/synth/vrfx/verific/database/netlist.cpp, Line: 5102
n && n->Owner() == this
Stack Trace:
0x42e30: vrfx_altera_assert + 0x20
0x97136: Netlist::RegisterPotentiallyFanoutFreeNet + 0x86
0xea349: VeriNonConstVal::NetAssignFrom + 0x139
0x16240e: VeriAlwaysConstruct::Elaborate + 0x24e
0xd0064: VeriModule::Elaborate + 0x74
0xd456f: VeriModule::Elaborate + 0x56f
0x5c342: VRFX_VERIFIC_VERILOG_ELABORATOR::elaborate + 0x482
0x5747f: VRFX_ELABORATOR::elaborate + 0xdf
0xad8d4: SGN_FN_LIB::elaborate + 0x124
0xb03aa: SGN_FN_LIB::start_vrf_flow + 0xa
0xb158d: SGN_FN_LIB::start + 0x55d
0x8301f: SGN_EXTRACTOR::single_module_extraction + 0x17f
0x90482: SGN_EXTRACTOR::recursive_extraction + 0x192
0x8e00e: SGN_EXTRACTOR::recurse_into_newly_extracted_netlist + 0x2de
0x904c3: SGN_EXTRACTOR::recursive_extraction + 0x1d3
0x8e00e: SGN_EXTRACTOR::recurse_into_newly_extracted_netlist + 0x2de
0x904c3: SGN_EXTRACTOR::recursive_extraction + 0x1d3
0x93b81: SGN_EXTRACTOR::extract + 0x1b1
0x12bb2: sgn_qic_full + 0x142
0x464d: qsyn_execute_sgn + 0x11d
0x1c924: QSYN_FRAMEWORK::execute_core + 0x104
0x1f23a: QSYN_FRAMEWORK::execute + 0x26a
0x111b7: qexe_get_tcl_sub_option + 0x1b87
0x13ad6: qexe_process_cmdline_arguments + 0x526
0x13bd4: qexe_standard_main + 0x84
0x19dd6: qsyn_main + 0xa6
0x4e21: msg_main_thread + 0x11
0x1c98: _thr_final_wrapper + 0x8
0x5515: msg_thread_wrapper + 0x85
0x3921: mem_thread_wrapper + 0x31
0x60f1: msg_exe_main + 0x81
0x1ba1c: _main + 0x1c
0x24cd7: __ftol2 + 0x1e1
0x4ed5b: BaseThreadInitThunk + 0x11
0x637ea: RtlInitializeExceptionChain + 0xee
0x637bd: RtlInitializeExceptionChain + 0xc1
End-trace
Quartus II 32-bit Version 13.0.1 Build 232 06/12/2013 SJ Web Edition
Service Pack Installed: 1
Code:
module VGA_HighEnd ( clk, rst,
iX_video, iY_video,
oR_video, oG_video, oB_video,
tumblers, endFrame, dbg_val );
parameter RES_X_H= 1240;
parameter RES_Y_H= 1024;
parameter XY_STEP_H= 7;
parameter RES_X_L= 640;
parameter RES_Y_L= 480;
parameter XY_STEP_L= 8;
input clk;
input rst;
input signed [11:0] iX_video;
input signed [11:0] iY_video;
output reg [7:0] oR_video;
output reg [7:0] oG_video;
output reg [7:0] oB_video;
input [9:0] tumblers;
input endFrame;
output wire [63:0] dbg_val;
wire [31:0] V_out2;
wire high_res= 1;
reg [15:0] count;
wire signed [11:0] x;
wire signed [11:0] y;
assign x= (iX_video- (high_res ? RES_X_H/2 :RES_X_L/2 ));
assign y= (iY_video- (high_res ? RES_Y_H/2 :RES_Y_L/2 ));
//reg [31:0]ribbon;// NO CRASH
always@(posedge clk or posedge rst)
begin
if ( rst )
begin
count= 0;
end
else
begin
if ( endFrame )
begin
count<= count +1;
ribbon[15:0] <=count;
end
// Y'UV ->RGB
oR_video= {7{ribbon[iX_video]}};
oG_video= count;
oB_video= -1;
end
end
endmodule
reg [31:0]ribbon;// CRASH !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//reg [15:0]ribbon;// NO CRASH