by support »
Hello,
Yes, this is what I mentioned earlier: Because the FPGA side doesn't know if the addr_update is a preparation for a read or write, it must perform a read operation on the other bus to have the value prepared. One could get around this with some dirty trick maybe, but if this is an issue, I would suggest dropping the address interface altogether, and go for a command-data approach instead.
For example, say that you use a plain 32-bit Xillybus stream from the host to the FPGA to send commands. Bits [5:0] could be the address, and bit 31 could be the read/write flag: If it's 1, it's a write command, if it's 0, it's a read. And if it's a write command, set the value to write in bits [15:8], for example.
Then, if it's a read command, use a simple 8-bit FPGA to host stream to return the value when it's ready. You could put a FIFO inbetween and write the read data into the FIFO, or interface with the core directly, by manipulating the empty wire.
Plain, simple, and gives you full control over what's going on.
Regards,
Eli
Hello,
Yes, this is what I mentioned earlier: Because the FPGA side doesn't know if the addr_update is a preparation for a read or write, it must perform a read operation on the other bus to have the value prepared. One could get around this with some dirty trick maybe, but if this is an issue, I would suggest dropping the address interface altogether, and go for a command-data approach instead.
For example, say that you use a plain 32-bit Xillybus stream from the host to the FPGA to send commands. Bits [5:0] could be the address, and bit 31 could be the read/write flag: If it's 1, it's a write command, if it's 0, it's a read. And if it's a write command, set the value to write in bits [15:8], for example.
Then, if it's a read command, use a simple 8-bit FPGA to host stream to return the value when it's ready. You could put a FIFO inbetween and write the read data into the FIFO, or interface with the core directly, by manipulating the empty wire.
Plain, simple, and gives you full control over what's going on.
Regards,
Eli