I'm currently adding remote debugging features via SLD Hub Controller System IP to an existing FPGA design. As previously mentioned by other users, we would really wish a detailed documentation beyond the information in AN 693. It would probably make this post superfluous.
Anyway, present problem is this: By instantiating SLD Hub Controller System in the design, hardware JTAG access to the debug nodes is cut. I presume that the parameter ENABLE_JTAG_IO_SELECTION was intended to provide a switch between remote and locale hardware SLD access, I guess in conjunction with the input signal s0_debugaccess which is presently unused. However, setting ENABLE_JTAG_IO_SELECTION = 1 causes a synthesis error according to the below code in module sld_hub_ctrlsys_sld_hub_controller_system_0.v
generate // If any of the display statements (or deliberately broken // instantiations) within this generate block triggers then this module // has been instantiated this module with a set of parameters different // from those it was generated for. This will usually result in a // non-functioning system. if (ENABLE_JTAG_IO_SELECTION != 0) begin initial begin $display("Generated module instantiated with wrong parameters"); $stop; end instantiated_with_wrong_parameters_error_see_comment_above enable_jtag_io_selection_check ( .error(1'b1) ); end endgenerate
If I understand right, the feature ENABLE_JTAG_IO_SELECTION was planned but not yet implemented.
Any ideas about it?
yes I know the rocketboards document, thanks for mentioning. I'm aware that the question in the initial post addresses a specific feature of the SLD hub controller system which may be simply unimplemented. It's not actually essential for my application.
Presently I'm on the way to make the remote debug toolchain work on a Cyclone 10 LP platform. I may come back with questions regarding system console and mmlink operation.
no questions presently.
As for my orginal complains about missing ENABLE_JTAG_IO_SELECTION functionality, I wonder if it's also not working in underlying altera_sld_host_endpoint, or only has been disabled in streaming_sld_hub_controller due to incompatibility with the intended function. Unfortunately there's no documentation, as already mentioned. But that's something we can find out by test.
Regarding system console and mmlink, we are currently pursuing a different approach. Connect sld_hub at a lower level, bypassing the extensive protocol translation in sld_hub_controller_system.
Thanks for helping