While writing from Multiple Avalon Master to an Avalon slave, Write from custom Avalon Master is not generating write signal in slave side.
Hi All,
I'm using Cyclone V development kit, I have a design with two avalon masters (JTAG Master and custom master) connected to a custom Avalon slave interface through qsys.
The issue is when the custom avalon master tries to write in to avalon slave, we are not able to see the write signal in the slave side. However Avalon master is generating write signal as we could confirm that in siganl tap.
The slave module is a FIFO hence the wait request is hardcoded to '0'. Both the custom master and slave has 16 bit write data bus.
Strange thing we observe is, when we remove the JTAG master(i.e, Custom Avalon slave connected only to custom Avalon master) things are working fine.
Also when we try to write data using JTAG master things are working fine always.
Just reiterating it to make it clear, With two avalon masters connected to Avalon slave any write from custom Avalon master is not reflecting in the slave module.
Any help in this regard will be highly appreciated. Thanks in advance:)
Is your custom master properly acknowledging waitrequest? When waitrequest to the master is high, the master must continue asserting the control signals, like write, until the clock edge after waitrequest is deasserted by the interconnect. This may be why you're seeing the correct behavior when you hold the write. When you remove the other master, no arbitration is needed so a single pulse write is working, but you should still be coding waitrequest correctly.