-
Notifications
You must be signed in to change notification settings - Fork 228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Instances of uninferred RAM logic #197
Comments
I do remember this problem from working with old Quartus versions at college... 🙈 Download the file, remove the |
Yes, :) |
@stnolting, what about adding that file to a subdir in |
@umarcor |
@stnolting that sounds good to me! You are the one not convinced about adding multiple descriptions in |
Seems like reality convinced me once again 😄 |
@stnolting I think it is good to make it explicit that this is for some older version of quartus. According to @ownway88, there is some "last version of Quartus supporting Cyclone II". Therefore, I think |
these files DO NOT use any FPGA-specific primitves or macros at all! - just a different HDL style
I tried to implement the neorv32 core to a cyclone II device EP2C8Q208C8. The tool I use is Quartus II 13.0 64-bit.
I followed the well documented user guide step by step to build a simple project. But I ran into errors during Analysis & Synthesis.
Info (276014): Found 8 instances of uninferred RAM logic
Info (276007): RAM logic "neorv32_top:neorv32_top_inst|neorv32_imem:\neorv32_int_imem_inst_true:neorv32_int_imem_inst|mem_ram_b1" is uninferred due to asynchronous read logic
Info (276007): RAM logic "neorv32_top:neorv32_top_inst|neorv32_dmem:\neorv32_int_dmem_inst_true:neorv32_int_dmem_inst|mem_ram_b1" is uninferred due to asynchronous read logic
Info (276007): RAM logic "neorv32_top:neorv32_top_inst|neorv32_imem:\neorv32_int_imem_inst_true:neorv32_int_imem_inst|mem_ram_b0" is uninferred due to asynchronous read logic
Info (276007): RAM logic "neorv32_top:neorv32_top_inst|neorv32_dmem:\neorv32_int_dmem_inst_true:neorv32_int_dmem_inst|mem_ram_b0" is uninferred due to asynchronous read logic
Info (276007): RAM logic "neorv32_top:neorv32_top_inst|neorv32_imem:\neorv32_int_imem_inst_true:neorv32_int_imem_inst|mem_ram_b3" is uninferred due to asynchronous read logic
Info (276007): RAM logic "neorv32_top:neorv32_top_inst|neorv32_dmem:\neorv32_int_dmem_inst_true:neorv32_int_dmem_inst|mem_ram_b3" is uninferred due to asynchronous read logic
Info (276007): RAM logic "neorv32_top:neorv32_top_inst|neorv32_imem:\neorv32_int_imem_inst_true:neorv32_int_imem_inst|mem_ram_b2" is uninferred due to asynchronous read logic
Info (276007): RAM logic "neorv32_top:neorv32_top_inst|neorv32_dmem:\neorv32_int_dmem_inst_true:neorv32_int_dmem_inst|mem_ram_b2" is uninferred due to asynchronous read logic
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
I doubt it is a resource limitation from this device, I tried to reduced the default size of IMEM and DMEM anyway, it is not helpful, still the same error -8 instances of uninferred RAM logic. Can someone give me some hints? Thanks!!!
The text was updated successfully, but these errors were encountered: