外部メモリー・インターフェイス Agilex™ 7 FシリーズおよびIシリーズFPGA IPユーザーガイド

ID 683216
日付 3/29/2024
Public
ドキュメント目次

11.9.8.2. TG Configインターフェイスの要求/解放

トラフィック・ジェネレーター (TG2) インターフェイスを使用する前に、TG Configインターフェイスにサービスを要求する必要があります。トラフィック・ジェネレーター・インターフェイスのすべてのタブは、サービスを要求するまで無効の状態です。

グラフィカル・ユーザー・インターフェイス (GUI) を使用する方法

TG Configにサービスを要求するには、CLAIM TG CONFIG INTERFACEをクリックします。サービスが正常に要求されると、タブが有効になります。

図 233. TG2インターフェイスを使用する前: CLAIM TG CONFIG INTERFACEをクリック

TG2インターフェイスの使用が終わったら、RELEASE TG CONFIG INTERFACEをクリックし、サービス・インスタンスを解放してシステムコンソールに指示することで、リソースを他のユーザーが利用できるようにします。

図 234.  RELEASE TG CONFIG INTERFACEをクリック: サービスを他のユーザーに解放

スクリプティングでの方法

独自のスクリプトを作成してトラフィック・ジェネレーターにアクセスする場合は、TG Configサービスを要求する必要があります。サービスの要求と解放に関しては、次の例を参照してください。

TG2トラフィック・ジェネレーターに対するサービスパスは次のとおりです。

*/alt_sld_fab_0_alt_sld_fab_0_host_link_jtag.h2t/alt_sld_fab_0_alt_sld_fab_0_stfabric.h2t_0/alt_sld_fab_0_alt_sld_fab_0_memfabric_transacto.avalon_master/master_1_0.slave

TG2のサービスを要求および解放するコード例

#Example Code to claim/release the TG2 service 
#Check for available service paths.
set service_paths [get_service_paths slave]

#Set the TG2 service path. Assume index 2 is the TG2 service path in this example
#User needs to check the service_paths list to identify the index for the TG2 in your system
set tg_service_path [lindex $service_paths 2]

#Open the slave service.
set claimed_path [claim_service slave $tg_service_path mylib]

#User code to write/read to TG2
     #Read the TG Version
    puts "TG Version : [master_read_32 $claimed_path 0x0 1]" 
    
    #Clear the TG_STATUS before Retest with Default Traffic
    puts "\nClear TG_STATUS"
    master_write_32 $claimed_path 0x20 0xf
    
    #Read the Read_Count-Low
    puts "Read Count - Low  : [master_read_32 $claimed_path 0x1d8 1]"
    #Read the Read_Count-High
    puts "Read Count - High : [master_read_32 $claimed_path 0x1dc 1]"
    
    #Restart Default Traffic
    puts "\nWrite to TG_RESTART_DEFAULT_TRAFFIC"
    master_write_32 $claimed_path 0x1e8 1
   
    set TG_TEST_COMPLETE 0
    
    while { $TG_TEST_COMPLETE < 1 } {
    set TG_TEST_COMPLETE [expr [ master_read_32 $claimed_path 0x1e0 1] & 0x1 ]
    puts "\nTG_TEST_COMPLETE : $TG_TEST_COMPLETE" 
    }

    #Read the Read_Count-Low
    puts "Read Count - Low  : [master_read_32 $claimed_path 0x1d8 1]"
    #Read the Read_Count-High
    puts "Read Count - High : [master_read_32 $claimed_path 0x1dc 1]"
    #Read the TG_PASS
    puts "Pass : [expr [master_read_32 $claimed_path 0x1c0 1] & 0x1 ]"
    #Read the TG_FAIL
    puts "Fail : [expr [master_read_32 $claimed_path 0x1c4 1] & 0x1 ]" 
#End of write/read to TG2

#Close the slave service.
close_service slave $claimed_path