--- Quote Start ---
Actually SignalTap II is what I have been using for debugging my design so far. But I think Signal Tap can display the content of signals for some interval, rather than whole test time. So, for the purpose of collecting the statistics stored inside registers, I am using JTAG-Avalon interface, TCL script with master service to read the registers.
--- Quote End ---
The reference to SignalTap II was not so that you would use it, but that the document *showed* why the master_read/write_memory procedures were faster.
--- Quote Start ---
To provide some more explanation about my application requirement, I have a 10 Gb/s Ethernet subsystem including two nodes corresponding to two designs running on two different boards. So, this is basically a 10 Gb/s board-to-board communication via SMA cable. During a test, one of the two node (A) changes the data rate and by some way, and by extracting the received data, the other node (B) can detect this change and updates the data rate in a register. The change is happening in several tens milliseconds. Node B then wants to inform some other external controller about the change in A's data rate in runtime that help the controller make some decision. Hence, the external control needs to be able to read the register inside the node B design in a very fast way, in tens milliseconds.
--- Quote End ---
Why do you want to change the link lane rate? If the links operate correctly at 10Gbps, then why not just run them at 10Gbps all the time? I wonder whether you are making this more complicated than necessary. For example, if you are sending data over the 10Gbps link, and the data volume changes, then that is ok, there no reason to change the link rate, just send more idle packets.
--- Quote Start ---
As you just mentioned, master_read is the fastest way to use JTAG interface, what else should I use if I want a faster access method? Do you have any idea about monitor_read_data of monitor service? How about the TCP/IP communication, or through Ethernet interface, in general, which should be the method that is suitable for my purpose?
--- Quote End ---
If the 10Gbps links always operate at 10Gbps, then the data plus any meta-data related to the data can go across the same link. Think of TCP/IP, it can support multiple socket connections over the same link. You can do the same thing over a 10Gbps link. You may just have to go to a slightly higher protocol over that link. However, that may be the most appropriate solution.
Now that you have something working, take a step back and think about "what you really want". You may find that you should decouple the transport rate (10Gbps) from the data rate (which is as fast as 10Gbps).
Cheers,
Dave