Forum Discussion
Altera_Forum
Honored Contributor
11 years ago --- Quote Start --- I have a simple question about transceiver toolkit commands. I want t use some commands such as transceier_channel_rx_get_data , transcever_channel_rx_get_dcgan... in tcl console window. next to the command, I have to define argument <service-path>. Can you explain this argument and give me an example? --- Quote End --- I had this same question yesterday ... Under Quartus 14.0, open the transceiver toolkit GUI, and click on the setup button. The setup page lets you create transmitter and receiver interfaces, and then links between transmitter and receiver interfaces. The transmitter interface consists of; a pattern generator, PHY, and reconfiguration interface. The receiver interface consists of a pattern checker, PHY, and reconfiguration interface. Once you have defined these transmitter and receiver interfaces, you can setup links, i.e., which transmitter and receiver are connected for link tests. At that point, you can exit the setup GUI, and save the setup to a Tcl script. That script will contain the Tcl commands required to setup a transmitter or receiver interface. The <service-path> in the Tcl commands you are interested in using are those transmitter and receiver interfaces you just defined. Here's the example I was using to test the Texas Instruments TSW14J56EVM evaluation board (which contains an Arria V GZ);
# Transceiver Toolkit setup for the x8 non-bonded design# # * Transceiver channels 0 to 3 are controlled by reconfig channels 0 to 3# * Transmitter PLLs 0 to 3 are controlled by reconfig channels 4 to 7# * Transceiver channels 4 to 7 are controlled by reconfig channels 8 to 11# * Transmitter PLLs 4 to 7 are controlled by reconfig channels 12 to 15#
design_load {C:\build\quartus\v14.0_full_64bit\tsw14j56evm\arria5\transceiver_native_phy\tsw14j56evm.sof}
add_service transceiver_channel_rx rx0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_200/driver" "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/eyeQ/driver" 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig" 0
add_service transceiver_channel_rx rx1 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_220/driver" "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/eyeQ/driver" 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig" 1
add_service transceiver_channel_rx rx2 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_240/driver" "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/eyeQ/driver" 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig" 2
add_service transceiver_channel_rx rx3 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_260/driver" "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/eyeQ/driver" 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig" 3
add_service transceiver_channel_rx rx4 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_280/driver" "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/eyeQ/driver" 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig" 8
add_service transceiver_channel_rx rx5 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_2A0/driver" "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/eyeQ/driver" 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig" 9
add_service transceiver_channel_rx rx6 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_2C0/driver" "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/eyeQ/driver" 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig" 10
add_service transceiver_channel_rx rx7 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_2E0/driver" "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/eyeQ/driver" 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig" 11
add_service transceiver_channel_tx tx0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_100/driver" null 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/analog/driver" 0
add_service transceiver_channel_tx tx1 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_120/driver" null 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/analog/driver" 1
add_service transceiver_channel_tx tx2 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_140/driver" null 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/analog/driver" 2
add_service transceiver_channel_tx tx3 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_160/driver" null 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/analog/driver" 3
add_service transceiver_channel_tx tx4 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_180/driver" null 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/analog/driver" 8
add_service transceiver_channel_tx tx5 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_1A0/driver" null 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/analog/driver" 9
add_service transceiver_channel_tx tx6 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_1C0/driver" null 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/analog/driver" 10
add_service transceiver_channel_tx tx7 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_1E0/driver" null 0 "/connections/USB-Blaster on localhost (USB-0)/5AGZME1E(2|3)|5AGZME1H(2|3)@1/(110:132 v1# 0)/phy_0/master/slave_400/reconfig/analog/driver" 11
add_service transceiver_debug_link link0 /design_instances/transceiver_channel_tx/tx0 /design_instances/transceiver_channel_rx/rx0
add_service transceiver_debug_link link1 /design_instances/transceiver_channel_tx/tx1 /design_instances/transceiver_channel_rx/rx1
add_service transceiver_debug_link link2 /design_instances/transceiver_channel_tx/tx2 /design_instances/transceiver_channel_rx/rx2
add_service transceiver_debug_link link3 /design_instances/transceiver_channel_tx/tx3 /design_instances/transceiver_channel_rx/rx3
add_service transceiver_debug_link link4 /design_instances/transceiver_channel_tx/tx4 /design_instances/transceiver_channel_rx/rx4
add_service transceiver_debug_link link5 /design_instances/transceiver_channel_tx/tx5 /design_instances/transceiver_channel_rx/rx5
add_service transceiver_debug_link link6 /design_instances/transceiver_channel_tx/tx6 /design_instances/transceiver_channel_rx/rx6
add_service transceiver_debug_link link7 /design_instances/transceiver_channel_tx/tx7 /design_instances/transceiver_channel_rx/rx7
An example of a <service-path> is /design_instances/transceiver_channel_rx/rx0. Cheers, Dave