Forum Discussion
Altera_Forum
Honored Contributor
17 years agowarning with on chip memory data items width
hello,
I use quartus II 8.0 and statixII gx ep2s60GX. I made a modification in my current design (which works well) in .vhd file. Now I've got this warning from onchip memory. Warning: Width of data items in "memory_0.hex" is greater than the memory width. Wrapping data items to subsequent addresses. Warning: Data at line (2) of memory initialization file "init_file_0.hex" is too wide to fit in one memory word. Wrapping data to subsequent addresses. . . . . . it continues to Data at line (11). When I have this warning my design doesn't work well and some functionalities are missing. Is there someone who can help me to solve my probleme. Of course I want to know what happened. Thanks. If you have any question please ask. ps: This not a probleme with the size of the on-chip memory with ".hex" file.12 Replies
- Altera_Forum
Honored Contributor
--- Quote Start --- Hi, I'm having similar warnings. My hex file is being generated by NIOS ii SBT for eclipse. From this link (https://www.altera.com/support/support-resources/knowledge-base/solutions/rd03252015_881.html) altera shows the solution. "Description You may see this warning when using memory initialization files generated by the mem_init make target in the makefile generated by the Nios® II Embedded Design Suite (EDS). The reason for this warning is that the Quartus® II software expects the record length within .hex files to match the data port width of the memory that is initialized. Workaround/Fix To change the generated .hex files to have a record length that matches the memory data port width, modify the mem_init.mk file within the BSP directory: Find the ELF_TO_HEX_CMD_NO_BOOTLOADER command add the following switch: --record=/8 This problem is scheduled to be resolved in a future release of the Quartus II software." Based on the solution above, I'm not sure where to add the switch that was mentioned above. The boot loader command I found on my mem_init.mk file is below "ELF_TO_HEX_CMD_NO_BOOTLOADER = $(ELF2HEX) $< $(mem_start_address) $(mem_end_address) --width=$(mem_hex_width) $(mem_endianness) --create-lanes=$(mem_create_lanes) $(elf2hex_extra_args) $@" Question is where to add the --record=/8? --- Quote End --- Hello I am facing the same problem. The question is where to add it; The boot loader command I found on my mem_init.mk file is below "ELF_TO_HEX_CMD_NO_BOOTLOADER = $(ELF2HEX) $< $(mem_start_address) $(mem_end_address) --width=$(mem_hex_width) $(mem_endianness) --create-lanes=$(mem_create_lanes) $(elf2hex_extra_args) $@" Question is where to add the --record=/8? As you can see in the following, I have appended it but still the same warning ELF_TO_HEX_CMD_NO_BOOTLOADER = $(ELF2HEX) $< $(mem_start_address) $(mem_end_address) --width=$(mem_hex_width) --record=/8 $(mem_endianness) --create-lanes=$(mem_create_lanes) $(elf2hex_extra_args) $@ Need help. Thank you all. - Altera_Forum
Honored Contributor
ELF_TO_HEX_CMD_NO_BOOTLOADER = $(ELF2HEX) --record=4 $< $(mem_start_address) $(mem_end_address) --width=$(mem_hex_width)
$(mem_endianness) --create-lanes=$(mem_create_lanes) $(elf2hex_extra_args) $@ I get the idea from the reply of @erics96 "In the elf2hex converter, there is an option called "--record=<length>" where you can set the maximum number of words per line... Changing my makefiles to use --record=4 created a .hex file that had only 4 bytes per line and produced no warnings."