Did you receive the 3 .png files that I uploaded?
I am using Quartus Prime v15.1.
I have a proprietary 32 bit RISC design at the top level of the FPGA. The CPU accesses at 32 bit Qsys design through two 32 bit External to Avalon Master MM bridges. I am just using one of the bridges right now.
A screenshot of the Qsys design was attached and uploaded and called qsys_design.png. The Qsys design has an internal 16-bit wide SDRAM Controller slave. The FPGA and board design just have a single external 16-bit-wide SDRAM.
Running the design with pre-loaded data from a System Console (and Jtag Master) I have two SignalTap png files. The first one shows the bus activity (outside of Qsys) at the FPGA top level. The accesses are just 32 bit reads. The second SignalTap png file is zoomed in to show the 32 bit data presented at the top-level Qsys port for address 0x0000125C at the time when the "acknowledge" signal is active.
My understanding with the Avalon Bus Dynamic Bus Sizing is that the Avalon Bus Fabric will to the conversion to 32 bits. Each 32 bit read from thew Qsys design will cause the SDRAM Controller to do two 16 bit reads to the SDRAM and then the sequential 16 bit half-words will be constructed into a single 32 bit word when the "acknowlledge "is activated.
However, as the zoomed-in SignalTap activity illustrates the Qsys 32-bit port just has two identical 16 bit half-words as part of the 32 bit data.
I use this same SDRAM Controller in other qsys designs that employ an internal Qsys-based NIOS 32 bit CPU and there is no problem.
Is there some enable option not set in my current design?
Thanks for your time on this matter,
There are no screenshot attached, can you reattached it?
Did your SDRAM Controller design with a byte enable?
Avalon-MM moves data in the form of symbols using addresses to determine destination
-Symbols are typically bytes (i.e. 8 bits)
-Masters cannot access slaves of a different symbol size
-Without master byte enables Qsys assumes master is always accessing full words