Forum Discussion
Platform designer interconnect: unexpected behavior
In issue1 you can see that the write signal is sampled high one clock period before the waitrequest is sampled high. The avalon-mm specification states that the waitrequest is asserted asynchronously with read or write. That means in case of a waitrequest they should be samled high at the same time, right? This would also correspond to the waitrequest allowance setting of 0.
Yes, both the host and agent are custom components.
The host is functioning as follows: There is a look-ahead FIFO issuing data which contains address, byteenable, writedata, read and write signals. Additionally, the read and write signals are ANDed with the valid output of the FIFO. The FIFO is read if the waitrequest is low.
To my understanding this should be proper. The host runs error-free in another system.
Very odd. At first I was thinking this was perhaps a pipelining issue, but you're only issuing a single read command from the host. In the issue 0 diagram, is waitrequest from the agent correct? It keeps going high and low while the interconnect continues asserting the read enable signal to it. Each time it releases waitrequest, the interconnect would think that valid read data was available.
- Schroeti5 years ago
Occasional Contributor
Yes, that's correct. The interconnect issue pictures are showing the complete memory mapped interfaces, except reset, from host and agent. The host is at the top and the agent at the bottom.
After the host tries to read from the agent the interconnect asserts its read all the time. After 64 read transactions the FIFO inside the agent is full and waitrequest_o is asserted. Every time a read command is taken from FIFO, the waitrequest_o is deasserted. Meanwhile the processed write commands are reported by the agent.
- sstrell5 years ago
Super Contributor
You say there are 2 hosts and 4 agents. The only thing I can think of at this point is interference from one of those other components. Is this a direct host to agent connection or are there multiple host/agent connects and there's arbitration taking place somewhere?
- Schroeti5 years ago
Occasional Contributor
One of the agents is connected to two hosts, the other ones, such as the shown one, are connected only to the host shown in the signal pictures. So yes, there is arbitration taking place in this memory mapped domain to one of the agents.
Next Monday I will apply the signal tap to all hosts/agents in this system.