?? pm5337_eos_demo.tcl
字號:
# VC_SQ[5:0] = 0x00
# Group Tag[4:0] = Ethernet Channel = 0x0
# Inhibit = 0x0
# Prov/Mode[1:0] = 0x2
set vc_sq 0x2
set group_tag 0
set inhibit 0x0
set prov_mode 0x2
set mem_data0 [expr [expr $vc_sq << 10]|[expr $group_tag << 4]|[expr $inhibit << 3]|$prov_mode]
admwr $devID 0xE50A $mem_data0 ;# bit 15 to 0
admwr $devID 0xE50B 0x0000 ;# bit 31 to 16
admwr $devID 0xE50C 0x0000 ;# bit 47 to 32
admwr $devID 0xE50D 0x0000 ;# bit 63 to 48
### v. Trigger Indirect Write Access ###
# MEM_BUSY = 1
# MEM_RWB = 0
# MEM_SEL = 0x0
admwr $devID 0xE508 0x8000
#############################
### Configuring Channel 3 ###
#############################
set sts3_ind 3
set sts1_ind 0
### ii. Poll MEM_BUSY Bit in 0xE508 ###
Poll_BUSY_Bit $devID 0xE508 15
### iii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = STS3_index*3 + STS1_index, where STS3_index ranges
# from 0 to 3, and STS1_index ranges from 0 to 2.
set mem_addr [expr ($sts3_ind * 3) + $sts1_ind]
admwr $devID 0xE509 $mem_addr
### iv. Setting Link Configuration Table Memory Value ###
# VC_SQ[5:0] = 0x00
# Group Tag[4:0] = Ethernet Channel = 0x0
# Inhibit = 0x0
# Prov/Mode[1:0] = VCAT non LCAS = 0x2
set vc_sq 0x3
set group_tag 0
set inhibit 0x0
set prov_mode 0x2
set mem_data0 [expr [expr $vc_sq << 10]|[expr $group_tag << 4]|[expr $inhibit << 3]|$prov_mode]
admwr $devID 0xE50A $mem_data0 ;# bit 15 to 0
admwr $devID 0xE50B 0x0000 ;# bit 31 to 16
admwr $devID 0xE50C 0x0000 ;# bit 47 to 32
admwr $devID 0xE50D 0x0000 ;# bit 63 to 48
### v. Trigger Indirect Write Access ###
# MEM_BUSY = 1
# MEM_RWB = 0
# MEM_SEL = 0x0
admwr $devID 0xE508 0x8000
# Enabling TVCP block
# Mode 0, 1 and 3 carry SONET traffic; therefore,
# set SONET_SDH_SEL = 0, TVCP_ENABLE = 1, PTR == 522, SS = 10
admwr $devID 0xE500 0x920A
}
#------------------------------------------------------------------------------
# SCRIPT NAME: EOS_VCG_STS3C_Demo
#
# DESCRIPTION: This procedure configures the EOS Subsystem to map 4 FE/GE port to
# 4 STS-3c.
#
# PARAMETERS: devID - This parameter is used to specify the device
# under configuration
#
# NOTES:
#
# 4 FE/GE --> 4x STS-3c
#
# timeslot : 1 2 3 4 5 6 7 8 9 10 11 12
# sts3_ind : 0 1 2 3 0 1 2 3 0 1 2 3
# sts1_ind : 0 0 0 0 1 1 1 1 2 2 2 2
# channel : 0 1 2 3 0 1 2 3 0 1 2 3
#------------------------------------------------------------------------------
proc EOS_VCG_STS3C_Demo {devID} {
# Enable Add EOS to Drop EOS loopback
admwr $devID 0xE005 0x1
EOS_Payload_Config $devID STS-3c
# Subsystem level configuration (Fixes code error on EOS_Payload_Config)
admwr $devID 0xE030 0x200F000F
admwr $devID 0xE031 0x000F000F
for {set stm1 1} {$stm1 <= 4} {incr stm1} {
for {set tug3 1} {$tug3 <= 3} {incr tug3} {
for {set tug2 1} {$tug2 <= 7} {incr tug2} {
for {set tu 1} {$tu <= 4} {incr tu} {
set stm1 [dec2hex $stm1]
set tug3 [dec2hex $tug3]
set tug2 [dec2hex $tug2]
set tu [dec2hex $tu]
# Set TRIB_RESET to '1'
admindwr $devID EOS::LOHO_SONET::TTOP336_EOS 0x8030 0xE382 $stm1 $tug3 $tug2 $tu
}
}
}
}
admwrb $devID 0xE340 0 1
admwrb $devID 0xE341 0 1
admwrb $devID 0xE342 0 1
admwrb $devID 0xE343 0 1
admwrb $devID 0xE344 0 0
admwrb $devID 0xE345 0 0
admwrb $devID 0xE346 0 0
admwrb $devID 0xE347 0 0
admwrb $devID 0xE348 0 0
admwrb $devID 0xE349 0 0
admwrb $devID 0xE34A 0 0
admwrb $devID 0xE34B 0 0
#######################################################################
### Initializing TVCP - Far End Sink (MST) Buffer and Group ###
### Context Memory ###
#######################################################################
##### 1. Initializing MST Buffer #####
# Note: All MST must be initialized to FAIL when provisioning the
# first member for a group or if all the members in the group
# are in IDLE.
for {set grouptag 0} {$grouptag <= 7} {incr grouptag} {
for {set wordoffset 0} {$wordoffset <= 7} {incr wordoffset} {
### i. Poll MEM_BUSY Bit in 0xE508 ###
Poll_BUSY_Bit $devID 0xE508 15
### ii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = Group-Tag *8 + Word Offset
set mem_addr [expr $grouptag*8 + $wordoffset]
admwr $devID 0xE509 $mem_addr
### iii. Setting FE SK MST Value ###
admwr $devID 0xE50A 0x00FF ;# bit 15 to 0
admwr $devID 0xE50B 0x0000 ;# bit 31 to 16
admwr $devID 0xE50C 0x0000 ;# bit 47 to 32
admwr $devID 0xE50D 0x0000 ;# bit 63 to 48
### iv. Trigger Indirect Write Access ###
# MEM_BUSY = 1
# MEM_RWB = 0
# MEM_SEL = 0x1
admwr $devID 0xE508 0x8001
}
}
##### 2. Initializing Group Context Memory #####
# Note: GID_SEED allows software to program an initial seed
# for the GID generation of each group, which should
# be done prior to provisioning the first member for the
# group. A unique and non-zero seed for each group should
# be set. In the following example, the group seed is set
# to be equal to the grouptag (i.e. channel #)
set wordoffset 0x2
for {set grouptag 0} {$grouptag <= 7} {incr grouptag} {
### i. Poll MEM_BUSY Bit in 0xE508 ###
Poll_BUSY_Bit $devID 0xE508 15
### ii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = Group-Tag *3 + Word Offset
set mem_addr [expr $grouptag*3 + $wordoffset]
admwr $devID 0xE509 $mem_addr
### iii. Randomly asign GID seed = grouptag ###
admwr $devID 0xE50A $grouptag ;# bit 15 to 0
admwr $devID 0xE50B 0x0000 ;# bit 31 to 16
admwr $devID 0xE50C 0x0000 ;# bit 47 to 32
admwr $devID 0xE50D 0x0000 ;# bit 63 to 48
### iv. Trigger Indirect Write Access ###
# MEM_BUSY = 1
# MEM_RWB = 0
# MEM_SEL = 0x2
admwr $devID 0xE508 0x8002
}
#######################################################################
##### Initializing RVCP - Near End Source (MST) Buffer and Group #####
##### Configuration Table Memory Structure #####
#######################################################################
##### 1. Initializing MST Buffer #####
# Note: All MST must be initialized to FAIL when provisioning the
# first member for a group or if all the members in the group
# are in IDLE.
for {set grouptag 0} {$grouptag <= 7} {incr grouptag} {
### i. Poll MEM_BUSY Bit ###
Poll_BUSY_Bit $devID 0xE410 15
### ii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = Group-Tag
admwr $devID 0xE411 $grouptag
### iii. Setting NE SK MST Value ###
admwr $devID 0xE412 0x00FF ;# bit 15 to 0
admwr $devID 0xE413 0x0000 ;# bit 31 to 16
admwr $devID 0xE414 0x0000 ;# bit 47 to 32
admwr $devID 0xE415 0x0000 ;# bit 63 to 48
admwr $devID 0xE416 0x0000 ;# bit 79 to 64
admwr $devID 0xE417 0x0000 ;# bit 95 to 80
admwr $devID 0xE418 0x0000 ;# bit 111 to 96
admwr $devID 0xE419 0x0000 ;# bit 127 to 112
### iv. Trigger Indirect Write Access ###
# MEM_BUSY =1
# MEM_RWB = 0
# MEM_SEL = 0xB
admwr $devID 0xE410 0x800B
}
#####################################################################
##### Configuring Group Configuration Table Memory Structure #####
#####################################################################
for {set grouptag 0} {$grouptag <= 7} {incr grouptag} {
### i. Poll MEM_BUSY Bit ###
Poll_BUSY_Bit $devID 0xE410 15
### ii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = Group-Tag
admwr $devID 0xE411 $grouptag
admwr $devID 0xE412 0xFFFF ;# bit 15 to 0
admwr $devID 0xE413 0x3 ;# bit 31 to 16
admwr $devID 0xE414 0x0000 ;# bit 47 to 32
admwr $devID 0xE415 0x0000 ;# bit 63 to 48
admwr $devID 0xE416 0x0000 ;# bit 79 to 64
admwr $devID 0xE417 0x0000 ;# bit 95 to 80
admwr $devID 0xE418 0x0000 ;# bit 111 to 96
admwr $devID 0xE419 0x0000 ;# bit 127 to 112
### iv. Trigger Indirect Write Access ###
# MEM_BUSY =1
# MEM_RWB = 0
# MEM_SEL = 0x1
admwr $devID 0xE410 0x8001
}
#######################################################################
### Provisioning VCG Member for Mode 0 (STS-1) ###
#######################################################################
# timeslot : 1 2 3 4 5 6 7 8 9 10 11 12
# sts3_ind : 0 1 2 3 0 1 2 3 0 1 2 3
# sts1_ind : 0 0 0 0 1 1 1 1 2 2 2 2
# channel : 0 1 2 3 0 1 2 3 0 1 2 3
#################################################################
### Configurating Transmit Link Configuration Table (TVCP) ###
#################################################################
#############################
### Configuring Channel 0 ###
#############################
set sts3_ind 0
set sts1_ind 0
### ii. Poll MEM_BUSY Bit in 0xE508 ###
Poll_BUSY_Bit $devID 0xE508 15
### iii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = STS3_index*3 + STS1_index, where STS3_index ranges
# from 0 to 3, and STS1_index ranges from 0 to 2.
set mem_addr [expr ($sts3_ind * 3) + $sts1_ind]
admwr $devID 0xE509 $mem_addr
### iv. Setting Link Configuration Table Memory Value ###
# VC_SQ[5:0] = 0x00
# Group Tag[4:0] = Ethernet Channel = 0x0
# Inhibit = 0x0
# Prov/Mode[1:0] = Transparent = 0x3
set vc_sq 0x0
set group_tag 0
set inhibit 0x0
set prov_mode 0x3
set mem_data0 [expr [expr $vc_sq << 10]|[expr $group_tag << 4]|[expr $inhibit << 3]|$prov_mode]
admwr $devID 0xE50A $mem_data0 ;# bit 15 to 0
admwr $devID 0xE50B 0x0000 ;# bit 31 to 16
admwr $devID 0xE50C 0x0000 ;# bit 47 to 32
admwr $devID 0xE50D 0x0000 ;# bit 63 to 48
### v. Trigger Indirect Write Access ###
# MEM_BUSY = 1
# MEM_RWB = 0
# MEM_SEL = 0x0
admwr $devID 0xE508 0x8000
#############################
### Configuring Channel 1 ###
#############################
set sts3_ind 1
set sts1_ind 0
### ii. Poll MEM_BUSY Bit in 0xE508 ###
Poll_BUSY_Bit $devID 0xE508 15
### iii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = STS3_index*3 + STS1_index, where STS3_index ranges
# from 0 to 3, and STS1_index ranges from 0 to 2.
set mem_addr [expr ($sts3_ind * 3) + $sts1_ind]
admwr $devID 0xE509 $mem_addr
### iv. Setting Link Configuration Table Memory Value ###
# VC_SQ[5:0] = 0x00
# Group Tag[4:0] = Ethernet Channel = 0x0
# Inhibit = 0x0
# Prov/Mode[1:0] = TRANSPARENT = 0x3
set vc_sq 0x0
set group_tag 1
set inhibit 0x0
set prov_mode 0x3
set mem_data0 [expr [expr $vc_sq << 10]|[expr $group_tag << 4]|[expr $inhibit << 3]|$prov_mode]
admwr $devID 0xE50A $mem_data0 ;# bit 15 to 0
admwr $devID 0xE50B 0x0000 ;# bit 31 to 16
admwr $devID 0xE50C 0x0000 ;# bit 47 to 32
admwr $devID 0xE50D 0x0000 ;# bit 63 to 48
### v. Trigger Indirect Write Access ###
# MEM_BUSY = 1
# MEM_RWB = 0
# MEM_SEL = 0x0
admwr $devID 0xE508 0x8000
#############################
### Configuring Channel 2 ###
#############################
set sts3_ind 2
set sts1_ind 0
### ii. Poll MEM_BUSY Bit in 0xE508 ###
Poll_BUSY_Bit $devID 0xE508 15
### iii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = STS3_index*3 + STS1_index, where STS3_index ranges
# from 0 to 3, and STS1_index ranges from 0 to 2.
set mem_addr [expr ($sts3_ind * 3) + $sts1_ind]
admwr $devID 0xE509 $mem_addr
### iv. Setting Link Configuration Table Memory Value ###
# VC_SQ[5:0] = 0x00
# Group Tag[4:0] = Ethernet Channel = 0x0
# Inhibit = 0x0
# Prov/Mode[1:0] = TRANSPARENT = 0x3
set vc_sq 0x0
set group_tag 2
set inhibit 0x0
set prov_mode 0x3
set mem_data0 [expr [expr $vc_sq << 10]|[expr $group_tag << 4]|[expr $inhibit << 3]|$prov_mode]
admwr $devID 0xE50A $mem_data0 ;# bit 15 to 0
admwr $devID 0xE50B 0x0000 ;# bit 31 to 16
admwr $devID 0xE50C 0x0000 ;# bit 47 to 32
admwr $devID 0xE50D 0x0000 ;# bit 63 to 48
### v. Trigger Indirect Write Access ###
# MEM_BUSY = 1
# MEM_RWB = 0
# MEM_SEL = 0x0
admwr $devID 0xE508 0x8000
#############################
### Configuring Channel 3 ###
#############################
set sts3_ind 3
set sts1_ind 0
### ii. Poll MEM_BUSY Bit in 0xE508 ###
Poll_BUSY_Bit $devID 0xE508 15
### iii. Calculate and Set MEM_ADDR ###
# MEM_ADDR = STS3_index*3 + STS1_index, where STS3_index ranges
# from 0 to 3, and STS1_index ranges from 0 to 2.
set mem_addr [expr ($sts3_ind * 3) + $sts1_ind]
admwr $devID 0xE509 $mem_addr
### iv. Setting Link Configuration Table Memory Value ###
# VC_SQ[5:0] = 0x00
# Group Tag[4:0] = Ethernet Channel = 0x0
# Inhibit = 0x0
# Prov/Mode[1:0] = VCAT non LCAS = 0x2
set vc_sq 0x0
set group_tag 3
set inhibit 0x0
set prov_mode 0x3
set mem_data0 [expr [expr $vc_sq << 10]|[expr $group_tag << 4]|[expr $inhibit << 3]|$prov_mode]
admwr $devID 0xE50A $mem_data0 ;# bit 15 to 0
admwr $devID 0xE50B 0x0000 ;# bit 31 to 16
admwr $devID 0xE50C 0x0000 ;# bit 47 to 32
admwr $devID 0xE50D 0x0000 ;# bit 63 to 48
### v. Trigger Indirect Write Access ###
# MEM_BUSY = 1
# MEM_RWB = 0
# MEM_SEL = 0x0
admwr $devID 0xE508 0x8000
################################################################
### 2. Configurating Receive Link Configuration Table (RVCP) ###
################################################################
#############################
### Configuring Channel 0 ###
#############################
set sts3_ind 0
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -