Forum Discussion
Compilation taking forever
- 1 year ago
Below are the possible causes of the error 276003 reported by Quartus.
It seems that this might be a design-related issue.
Try the solutions (ACTION) provided in the webpage and see if it helps reduce the compilation times
Regards,
Richard Tan
I've just been comparing previous commits of code, commenting out the latest and slowly adding bits to see where compilation goes wrong.
I haven't added everything back yet but I got this error after adding one more condition:
Error (276003): Cannot convert all sets of registers into RAM megafunctions when creating nodes. The resulting number of registers remaining in design exceeds the number of registers in the device or the number specified by the assignment max_number_of_registers_from_uninferred_rams. This can cause longer compilation time or result in insufficient memory to complete Analysis and Synthesis
Looks like there's a bug which results in Quartus stalling when more than one of these errors are found.
// Happy with this 1 condition..
if( vicPixelRowData & 8'h80 ) begin
frameBuffer[ frameBufferIndex + 0 ] <= 1;
end
// Got 276003 error when addition this condition..
if( vicPixelRowData & 8'h40 ) begin
frameBuffer[ frameBufferIndex + 1 ] <= 1;
end
// Quartus freezes at 2% compilation when adding this condition - 276003 error is no longer reported
if( vicPixelRowData & 8'h20 ) begin
frameBuffer[ frameBufferIndex + 2 ] <= 1;
end
Indeed I am doing something really bad design-wise - this is effectively 8-port RAM.. but I thought it was good to report the Quartus issue all the same.