@ Max
ignore this warning about unused byteeables.
Your datasize is 8 bit so you cannot add a single bit byteenable. i tried that and earned an error from sopc. this message is a bug as MySupport said and should be ignored.
your chipselect is your 1 bit byteenable here ...
This story about additional avalon access to a slave with less bits data width than the master is old and still present. (maybe a compatibility feature like the A20 gate of x86 cores :lol: )
use signaltap and monitor your interface between avalon and your ip or memory ...
even when you use IORD there will always be that number of accesses that are needed to get the summ of 32 bits.
when the slave has 8 bit then it will be 4.
only when you use IOWR there will be only these accesses you think.
there is a workaround possible.
if you have a look at the signaltap of your interface then you can see that the byteenables tells you how many valid accesses there will be.
as nails already said, nios is a 32 bit cpu so all data accesses are 32 bit even when only 8 bit of them are valid.
you might loose performace when you think in 8 bit
if i understand your application right then you need 256bit that are written by the nios cpu and you get 256 bits as a result.
you could go for an avalon slave that has 2 avs (avalon valid slave) ports.
1 port for status and control, the other one for data
tha avs for data is a 256 bit memory the nios will see 8 32bit portions of it.
it is very easy to implement the nios read write access to that memory with byteenable control.
now inside your sopc module you have 256 bit that feed your HASH
if you need help, let me know.