D
derrick_chi
Guest
Has anyone everseen šo kļūdu ** kļūdu invalid command name "" pirms?Es uzrakstīju TCL skriptu testa daži hardware, ka es projektētas un, kad es palaistu skriptu man, ka kļūda.Esmu IELĪMĒJĀT kļūda un skripts, kas turpmāk, jebkādu palīdzību, būtu apprieciated, thanks.
# ** Error: tukšs komanda nosaukums ""
# Kļūda makro C: \ Engineering_Projects \ I2C \ TCL Testbenches \ i2c_testbench.tcl line 270
# Tukšs komanda nosaukums ""
# Kamēr izpildes
# "[Write_i2c $ random_device $ register_ptr $ cntrl_reg $ byte_count]"
# ( ", Bet" ķermeņa līnija 57)
# Trīs no
# ", Bet ($ tranaction_count <100) (
#
# Pasaules wrdata_array
#
# Ja ([pārbaudīt-bin I2C_LOCK] == "1") (
#
# Noteikt random_device [myRand 0 3]
# Noteikt dev ... "Kods:
do i2c_wave.do
restart
noteikt UserTimeUnit nsspēkā-freeze Master_CLK 1 0, 0 (10 ns)-r 20
spēkā deponējums RST 1
spēkā deponējums CLK_SPEED_SEL 0
spēkā deponējums I2C_CLK_GEN_W 0
spēkā deponējums DATA_TO_MASTER 00
spēkā deponējums CONTROL_INPUT 0000
spēkā deponējums i2c_cntrl_reg_w 0
spēkā deponējums SDA 1
spēkā deponējums I2C_READ 0
spēkā deponējums I2C_WRITE 0palaist 40 nsspēkā deponējums RST 0
palaist 40 nsspēkā deponējums CLK_SPEED_SEL 35
spēkā deponējums I2C_CLK_GEN_W 1palaist 20 nsspēkā deponējums CLK_SPEED_SEL 0
spēkā deponējums I2C_CLK_GEN_W 0palaist 20 nsnoteikt slave_addressr A5
noteikt slave_addressw A4noteikt eeprom_slave_addressr AB
noteikt eeprom_slave_addressw AAnoteikt verilog_slave_addressr 21
noteikt verilog_slave_addressw 20noteikt german_slave_addressr C3
noteikt german_slave_addressw C2noteikt i2cs_rx_slave_addressr 23
noteikt i2cs_rx_slave_addressw 22noteikt read_adr_arry (0) $ slave_addressr
noteikt read_adr_arry (1) $ eeprom_slave_addressr
noteikt read_adr_arry (2) $ german_slave_addressr
noteikt read_adr_arry (3) $ i2cs_rx_slave_addressr
noteikt read_adr_arry (4) $ verilog_slave_addressrnoteikt write_adr_arry (0) $ slave_addressw
noteikt write_adr_arry (1) $ eeprom_slave_addressw
noteikt write_adr_arry (2) $ german_slave_addressw
noteikt write_adr_arry (3) $ i2cs_rx_slave_addressw
noteikt write_adr_arry (4) $ verilog_slave_addresswpasaules wrdata_array
noteikt wrdata_array (0) 0noteikt instruction_array (0) 0
noteikt instruction_array (1) 1proc myRand (min max) (
noteikt maxFactor [expr [expr $ max 1] - $ min]
noteikto vērtību [expr int ([expr RAND () * 100])]
noteikto vērtību [expr [expr $ vērtība% $ maxFactor] $ min]
atgriezties $ vērtība
)proc myRand_hex (dec_min dec_max) (
noteikt hex_maxFactor [expr [expr $ dec_max 1] - $ dec_min]
noteikt dec_value [expr int ([expr RAND () * 100])]
noteikt dec_value [expr [expr $ dec_value% $ hex_maxFactor] $ dec_min]
noteikt hex_value [format% 02X $ dec_value]
atgriezties $ hex_value
)proc write_i2c (ierīce registerptr cntrl_reg byte_count) (pasaules wrdata_arraykamēr ([pārbaudīt-Dec I2C_BUSY] == 1) (palaist 20 ns)spēkā deponējums CONTROL_INPUT $ cntrl_reg
spēkā deponējums i2c_cntrl_reg_w 1
palaist 20 nsspēkā deponējums i2c_cntrl_reg_w 0
palaist 20 nsnoteikt write_count 0
noteikt write_op "rakstīt"noteikt loop_count [expr $ byte_count - 1]noteikt loop_termination [expr $ loop_count / 4]switch-precīzs - $ ierīce (0 (echo "Šis darījums ir $ byte_count baits rakstīt uz PCA955 vergu sākot reģistrs $ registerptr")
1 (echo "Šis darījums ir $ byte_count baits rakstīt uz EEPROM vergu sākot reģistrs $ registerptr")
2 (echo "Šis darījums ir $ byte_count baits rakstīt ar Vācijas vergu sākot reģistrēties $ registerptr")
3 (echo "Šis darījums ir $ byte_count baits rakstīt uz I2CS_RX vergu sākot reģistrs $ registerptr")
4 (echo "Šis darījums ir $ byte_count baits rakstīt uz VERILOG vergu sākot reģistrs $ registerptr")
default (kļūda "Šis $ byte_count nav zināms ierīce adresi")
)kamēr ($ write_count <$ loop_termination) (ja ([pārbaudīt-Dec I2C_BUSY] == 0) (spēkā deponējums CONTROL_INPUT $ wrdata_array ($ write_count)
spēkā deponējums I2C_WRITE 1
palaist 20 nsspēkā deponējums I2C_WRITE 0
palaist 20 nsincr write_count) Cits (spēkā deponējums I2C_WRITE 0
palaist 20 ns
)
)spēkā deponējums I2C_WRITE 0
palaist 20 ns)proc read_i2c (ierīce registerptr cntrl_reg byte_count) (pasaules wrdata_arraykamēr ([pārbaudīt-Dec I2C_BUSY] == 1) (palaist 20 ns)spēkā deponējums CONTROL_INPUT $ cntrl_reg
spēkā deponējums i2c_cntrl_reg_w 1
palaist 20 ns
spēkā deponējums i2c_cntrl_reg_w 0noteikt read_count 0noteikt read_op "read no"switch-precīzs - $ ierīce (0 (echo "Šis darījums ir $ byte_count baits nolasa no PCA955 vergu sākot reģistrs $ registerptr")
1 (echo "Šis darījums ir $ byte_count baits nolasa no EEPROM vergu sākot reģistrs $ registerptr")
2 (echo "Šis darījums ir $ byte_count baits nolasa no vācu vergu sākot reģistrs $ registerptr")
3 (echo "Šis darījums ir $ byte_count baits nolasa no I2CS_RX vergu sākot reģistrs $ registerptr")
4 (echo "Šis darījums ir $ byte_count baits nolasa no VERILOG vergu sākot reģistrs $ registerptr")
default (kļūda "Šis $ byte_count nav zināms ierīce adresi")
)kamēr ($ read_count <= [expr $ byte_count / 4]) (ja ([pārbaudīt-Dec I2C_DATA_RDY] == 1) (spēkā deponējums I2C_READ 1
palaist 20 ns
spēkā deponējums I2C_READ 0
palaist 20 nsja ([pārbaudīt-heks DATA_FROM_SLAVE]! = $ wrdata_array ($ read_count)) (kļūda "datu nesakrīt, dati, kas bija rakstisks bija $ wrdata_array ($ read_count) jums atpakaļ [pārbaudīt-heks DATA_FROM_SLAVE]") Cits (echo "Lasīt darījums veiksmīgā"
)incr read_count) Cits (spēkā deponējums I2C_READ 0
palaist 20 ns
)
)spēkā deponējums I2C_READ 0
palaist 20 ns
)noteikt tranaction_count 0
noteikt write_count 0
noteikt regcount 0noteikt pcslave_adr_count 0
noteikt eepromslave_adr_count 0
noteikt verilogslave_adr_count 0
noteikt germanslave_adr_count 0
noteikt i2cs_rx_adr_count 0noteikt hexcount [format% 02X $ regcount]kamēr ($ tranaction_count <100) (pasaules wrdata_arrayja ([pārbaudīt-bin I2C_LOCK] == "1") (noteikt random_device [myRand 0 3]
noteikt device_address $ write_adr_arry ($ random_device)switch-precīzs - $ random_device (0 (noteikts byte_count [myRand 3 4])
1 (noteikts byte_count [myRand 3 2047])
2 (noteikts byte_count [myRand 3 4])
3 (noteikts byte_count [myRand 3 10])
4 (noteikts byte_count [myRand 3 4])
default (error)
)noteikt timeout_value [format% 1X 15]noteikt cntrl_reg $ device_address
pievienot cntrl_reg $ timeout_value
pievienot cntrl_reg [format% 1X $ byte_count]noteikt array_byte_count [expr $ byte_count - 1]
noteikt array_sub_count 0
noteikt array_index 0switch-precīzs - $ random_device (0 (noteikts register_ptr [myRand_hex 2 3])
1 (noteikts register_ptr [myRand_hex 2 2047])
2 (noteikts register_ptr [myRand_hex 2 3])
3 (noteikts register_ptr 00)
4 (noteikts register_ptr [myRand_hex 2 15])
default (error)
)noteikt wrdata_array ($ array_index) $ register_ptrkamēr ($ array_byte_count! = 0) (ja ($ array_sub_count == 3) (incr array_index) Cits (pievienot wrdata_array ($ array_index) [myRand_hex 1 255]
noteikt array_byte_count [expr $ array_byte_count - 1]
incr array_sub_count
))[write_i2c $ random_device $ register_ptr $ cntrl_reg $ byte_count]
[read_i2c $ random_device $ register_ptr $ cntrl_reg $ byte_count]incr tranaction_count
palaist 20 ns
)rādīt 200 ns
)
# ** Error: tukšs komanda nosaukums ""
# Kļūda makro C: \ Engineering_Projects \ I2C \ TCL Testbenches \ i2c_testbench.tcl line 270
# Tukšs komanda nosaukums ""
# Kamēr izpildes
# "[Write_i2c $ random_device $ register_ptr $ cntrl_reg $ byte_count]"
# ( ", Bet" ķermeņa līnija 57)
# Trīs no
# ", Bet ($ tranaction_count <100) (
#
# Pasaules wrdata_array
#
# Ja ([pārbaudīt-bin I2C_LOCK] == "1") (
#
# Noteikt random_device [myRand 0 3]
# Noteikt dev ... "Kods:
do i2c_wave.do
restart
noteikt UserTimeUnit nsspēkā-freeze Master_CLK 1 0, 0 (10 ns)-r 20
spēkā deponējums RST 1
spēkā deponējums CLK_SPEED_SEL 0
spēkā deponējums I2C_CLK_GEN_W 0
spēkā deponējums DATA_TO_MASTER 00
spēkā deponējums CONTROL_INPUT 0000
spēkā deponējums i2c_cntrl_reg_w 0
spēkā deponējums SDA 1
spēkā deponējums I2C_READ 0
spēkā deponējums I2C_WRITE 0palaist 40 nsspēkā deponējums RST 0
palaist 40 nsspēkā deponējums CLK_SPEED_SEL 35
spēkā deponējums I2C_CLK_GEN_W 1palaist 20 nsspēkā deponējums CLK_SPEED_SEL 0
spēkā deponējums I2C_CLK_GEN_W 0palaist 20 nsnoteikt slave_addressr A5
noteikt slave_addressw A4noteikt eeprom_slave_addressr AB
noteikt eeprom_slave_addressw AAnoteikt verilog_slave_addressr 21
noteikt verilog_slave_addressw 20noteikt german_slave_addressr C3
noteikt german_slave_addressw C2noteikt i2cs_rx_slave_addressr 23
noteikt i2cs_rx_slave_addressw 22noteikt read_adr_arry (0) $ slave_addressr
noteikt read_adr_arry (1) $ eeprom_slave_addressr
noteikt read_adr_arry (2) $ german_slave_addressr
noteikt read_adr_arry (3) $ i2cs_rx_slave_addressr
noteikt read_adr_arry (4) $ verilog_slave_addressrnoteikt write_adr_arry (0) $ slave_addressw
noteikt write_adr_arry (1) $ eeprom_slave_addressw
noteikt write_adr_arry (2) $ german_slave_addressw
noteikt write_adr_arry (3) $ i2cs_rx_slave_addressw
noteikt write_adr_arry (4) $ verilog_slave_addresswpasaules wrdata_array
noteikt wrdata_array (0) 0noteikt instruction_array (0) 0
noteikt instruction_array (1) 1proc myRand (min max) (
noteikt maxFactor [expr [expr $ max 1] - $ min]
noteikto vērtību [expr int ([expr RAND () * 100])]
noteikto vērtību [expr [expr $ vērtība% $ maxFactor] $ min]
atgriezties $ vērtība
)proc myRand_hex (dec_min dec_max) (
noteikt hex_maxFactor [expr [expr $ dec_max 1] - $ dec_min]
noteikt dec_value [expr int ([expr RAND () * 100])]
noteikt dec_value [expr [expr $ dec_value% $ hex_maxFactor] $ dec_min]
noteikt hex_value [format% 02X $ dec_value]
atgriezties $ hex_value
)proc write_i2c (ierīce registerptr cntrl_reg byte_count) (pasaules wrdata_arraykamēr ([pārbaudīt-Dec I2C_BUSY] == 1) (palaist 20 ns)spēkā deponējums CONTROL_INPUT $ cntrl_reg
spēkā deponējums i2c_cntrl_reg_w 1
palaist 20 nsspēkā deponējums i2c_cntrl_reg_w 0
palaist 20 nsnoteikt write_count 0
noteikt write_op "rakstīt"noteikt loop_count [expr $ byte_count - 1]noteikt loop_termination [expr $ loop_count / 4]switch-precīzs - $ ierīce (0 (echo "Šis darījums ir $ byte_count baits rakstīt uz PCA955 vergu sākot reģistrs $ registerptr")
1 (echo "Šis darījums ir $ byte_count baits rakstīt uz EEPROM vergu sākot reģistrs $ registerptr")
2 (echo "Šis darījums ir $ byte_count baits rakstīt ar Vācijas vergu sākot reģistrēties $ registerptr")
3 (echo "Šis darījums ir $ byte_count baits rakstīt uz I2CS_RX vergu sākot reģistrs $ registerptr")
4 (echo "Šis darījums ir $ byte_count baits rakstīt uz VERILOG vergu sākot reģistrs $ registerptr")
default (kļūda "Šis $ byte_count nav zināms ierīce adresi")
)kamēr ($ write_count <$ loop_termination) (ja ([pārbaudīt-Dec I2C_BUSY] == 0) (spēkā deponējums CONTROL_INPUT $ wrdata_array ($ write_count)
spēkā deponējums I2C_WRITE 1
palaist 20 nsspēkā deponējums I2C_WRITE 0
palaist 20 nsincr write_count) Cits (spēkā deponējums I2C_WRITE 0
palaist 20 ns
)
)spēkā deponējums I2C_WRITE 0
palaist 20 ns)proc read_i2c (ierīce registerptr cntrl_reg byte_count) (pasaules wrdata_arraykamēr ([pārbaudīt-Dec I2C_BUSY] == 1) (palaist 20 ns)spēkā deponējums CONTROL_INPUT $ cntrl_reg
spēkā deponējums i2c_cntrl_reg_w 1
palaist 20 ns
spēkā deponējums i2c_cntrl_reg_w 0noteikt read_count 0noteikt read_op "read no"switch-precīzs - $ ierīce (0 (echo "Šis darījums ir $ byte_count baits nolasa no PCA955 vergu sākot reģistrs $ registerptr")
1 (echo "Šis darījums ir $ byte_count baits nolasa no EEPROM vergu sākot reģistrs $ registerptr")
2 (echo "Šis darījums ir $ byte_count baits nolasa no vācu vergu sākot reģistrs $ registerptr")
3 (echo "Šis darījums ir $ byte_count baits nolasa no I2CS_RX vergu sākot reģistrs $ registerptr")
4 (echo "Šis darījums ir $ byte_count baits nolasa no VERILOG vergu sākot reģistrs $ registerptr")
default (kļūda "Šis $ byte_count nav zināms ierīce adresi")
)kamēr ($ read_count <= [expr $ byte_count / 4]) (ja ([pārbaudīt-Dec I2C_DATA_RDY] == 1) (spēkā deponējums I2C_READ 1
palaist 20 ns
spēkā deponējums I2C_READ 0
palaist 20 nsja ([pārbaudīt-heks DATA_FROM_SLAVE]! = $ wrdata_array ($ read_count)) (kļūda "datu nesakrīt, dati, kas bija rakstisks bija $ wrdata_array ($ read_count) jums atpakaļ [pārbaudīt-heks DATA_FROM_SLAVE]") Cits (echo "Lasīt darījums veiksmīgā"
)incr read_count) Cits (spēkā deponējums I2C_READ 0
palaist 20 ns
)
)spēkā deponējums I2C_READ 0
palaist 20 ns
)noteikt tranaction_count 0
noteikt write_count 0
noteikt regcount 0noteikt pcslave_adr_count 0
noteikt eepromslave_adr_count 0
noteikt verilogslave_adr_count 0
noteikt germanslave_adr_count 0
noteikt i2cs_rx_adr_count 0noteikt hexcount [format% 02X $ regcount]kamēr ($ tranaction_count <100) (pasaules wrdata_arrayja ([pārbaudīt-bin I2C_LOCK] == "1") (noteikt random_device [myRand 0 3]
noteikt device_address $ write_adr_arry ($ random_device)switch-precīzs - $ random_device (0 (noteikts byte_count [myRand 3 4])
1 (noteikts byte_count [myRand 3 2047])
2 (noteikts byte_count [myRand 3 4])
3 (noteikts byte_count [myRand 3 10])
4 (noteikts byte_count [myRand 3 4])
default (error)
)noteikt timeout_value [format% 1X 15]noteikt cntrl_reg $ device_address
pievienot cntrl_reg $ timeout_value
pievienot cntrl_reg [format% 1X $ byte_count]noteikt array_byte_count [expr $ byte_count - 1]
noteikt array_sub_count 0
noteikt array_index 0switch-precīzs - $ random_device (0 (noteikts register_ptr [myRand_hex 2 3])
1 (noteikts register_ptr [myRand_hex 2 2047])
2 (noteikts register_ptr [myRand_hex 2 3])
3 (noteikts register_ptr 00)
4 (noteikts register_ptr [myRand_hex 2 15])
default (error)
)noteikt wrdata_array ($ array_index) $ register_ptrkamēr ($ array_byte_count! = 0) (ja ($ array_sub_count == 3) (incr array_index) Cits (pievienot wrdata_array ($ array_index) [myRand_hex 1 255]
noteikt array_byte_count [expr $ array_byte_count - 1]
incr array_sub_count
))[write_i2c $ random_device $ register_ptr $ cntrl_reg $ byte_count]
[read_i2c $ random_device $ register_ptr $ cntrl_reg $ byte_count]incr tranaction_count
palaist 20 ns
)rādīt 200 ns
)