Forum Discussion

SparkyNZ's avatar
SparkyNZ
Icon for Contributor rankContributor
1 year ago
Solved

Compilation taking forever

I'm using Quartus Prime Version 22.1std.0 Build 915 10/25/2022 Lite Edition.

This afternoon I was building my project which would normally take a minute or so to build. I added some additional logic and now Quartus gets stuck for ages. Around 7 mins, it is still on 2%. At 50 mins it's on 11%.

I have tried shutting down Quartus, deleting the db folder (which is currently 230Mb in size) and incremental_db, restarting and rebuilding but I have the same problem.

I have attached a .zip with my project. What have I added that is upsetting the compilation? I could go back to an old version and try incrementally adding bits and pieces but I think there will be a lot to add.

Surely Quartus should have given up and told me that I'm doing something really silly?

5 Replies

  • 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.

    • SparkyNZ's avatar
      SparkyNZ
      Icon for Contributor rankContributor

      Sorry I wanted to reply a week ago but I got frustrated trying to log in.

  • RichardT_altera's avatar
    RichardT_altera
    Icon for Super Contributor rankSuper Contributor

    Thank you for acknowledging the solution provided. I'm pleased to know that your question has been addressed.


    Now, I will transitioning this thread to community support. If you have any further questions or concerns, please don't hesitate to reach out. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support.

    The community users will be able to help you on your follow-up questions.


    Thank you and have a great day!


    Best Regards,

    Richard Tan