#defult value variable target_address_d "0x00000000" variable target_address_read_d "0x00000000" variable write_data_d "0x00000000" variable read_start_address_d "0x00000000" variable read_initial_data_d "0" variable view_address_d "0x00000000" variable start_address_same_d "0x00000000" variable what_bytes_same_d "1" variable start_address_count_up_d "0x00000000" variable what_bytes_count_up_d "1" variable same_data_d "0" #variable jtag_avalon_master_num "1" ##Function ################################################################################################ ##Function toggle_specify_write ######################## proc toggle_specify_write { dash_path num } { set master_path [lindex [get_service_paths master] 1] open_service master $master_path variable specify_write_data [ dashboard_get_property $dash_path Write_data_text text ] variable specify_address_data [ dashboard_get_property $dash_path target_address_text text ] set invalid_check 0 if { $specify_write_data >= 0 & $specify_write_data <= 0xFFFFFFFF } { if { $specify_address_data >= 0 & $specify_address_data <= 0xFFFFFFFF } { if { $num == 0 } { master_write_8 $master_path $specify_address_data $specify_write_data } if { $num == 1 } { if { [ expr $specify_address_data % 0x2 ] == 0 } { master_write_16 $master_path $specify_address_data $specify_write_data } if { [ expr $specify_address_data % 0x2 ] != 0 } { dashboard_set_property $dash_path target_address_text text "It isn't Multiples of 0x2" } } if { $num == 2 } { if { [ expr $specify_address_data % 0x4 ] == 0 } { master_write_32 $master_path $specify_address_data $specify_write_data } if { [ expr $specify_address_data % 0x4 ] != 0 } { dashboard_set_property $dash_path target_address_text text "It isn't Multiples of 0x4" } } } } if { $specify_write_data < 0 | $specify_write_data > 0xFFFFFFFF } { dashboard_set_property $dash_path Write_data_text text "Invalid data" } if { $specify_address_data < 0 | $specify_address_data > 0xFFFFFFFF } { dashboard_set_property $dash_path target_address_text text "Invalid data" } close_service master $master_path } ##Function toggle_specify_read ######################## proc toggle_specify_read { dash_path num } { set master_path [lindex [get_service_paths master] 1] open_service master $master_path variable specify_address_data [ dashboard_get_property $dash_path target_address_read_text text ] if { $specify_address_data >= 0 & $specify_address_data <= 0xFFFFFFFF } { #8-Bit if { $num == 0 } { set read_data [master_read_8 $master_path $specify_address_data 1] dashboard_set_property $dash_path Read_data_text text [ format "0x%x" $read_data ] } #16-Bit if { $num == 1 } { if { [ expr $specify_address_data % 0x2 ] == 0 } { set read_data [master_read_16 $master_path $specify_address_data 1] dashboard_set_property $dash_path Read_data_text text [ format "0x%x" $read_data ] } if { [ expr $specify_address_data % 0x2 ] != 0 } { dashboard_set_property $dash_path target_address_read_text text "It isn't Multiples of 0x2" dashboard_set_property $dash_path Read_data_text text "None" } } #32-Bit if { $num == 2 } { if { [ expr $specify_address_data % 0x4 ] == 0 } { set read_data [master_read_32 $master_path $specify_address_data 1] dashboard_set_property $dash_path Read_data_text text [ format "0x%x" $read_data ] } if { [ expr $specify_address_data % 0x4 ] != 0 } { dashboard_set_property $dash_path target_address_read_text text "It isn't Multiples of 0x4" dashboard_set_property $dash_path Read_data_text text "None" } } } if { $specify_address_data < 0 | $specify_address_data > 0xFFFFFFFF } { dashboard_set_property $dash_path target_address_read_text text "Invalid data" dashboard_set_property $dash_path Read_data_text text "None" } close_service master $master_path } ##Change View Address ######################## proc toggle_apply_address { dash_path num} { set master_path [lindex [get_service_paths master] 1] open_service master $master_path ##Input Data ################# variable newValue [ dashboard_get_property $dash_path view_Address_Text text ] # if { [ string is integer $newValue ] } { # # set newValue [ expr $newValue & ( 1024 - 1 ) ] # # if { $newValue > [ expr 1024 - ( 4 * 4 ) ] } { # set newValue [ expr 1024 - ( 4 * 4 ) ] # } # # set newValue [ expr $newValue & ( 1024 - ( 4 * 1 )) ] # # dashboard_set_property $dash_path view_Address_Text text [ format "0x%04x" $newValue ] # set view_address_d $newValue # } else { # dashboard_set_property $dash_path view_Address_Text text "invalid number" # } ##Output Data ################# ##ADD for { set i 0 } { ${i} < 4 } { incr i } { dashboard_set_property $dash_path view_Address_Table rowIndex ${i} dashboard_set_property $dash_path view_Address_Table cellText [ format "0x%04x" [ expr $newValue + $i * 0x04] ] } ##DATA for { set i 0 } { ${i} < 4 } { incr i } { dashboard_set_property $dash_path view_Data_Table rowIndex ${i} for { set j 0 } { ${j} < 4 } { incr j } { dashboard_set_property $dash_path view_Data_Table columnIndex ${j} variable data_read [master_read_8 $master_path [ expr $newValue + $j * 0x01 + $i * 0x04 ] 1] dashboard_set_property $dash_path view_Data_Table cellText [ format "0x%02x" $data_read ] } } close_service master $master_path } ##Same Data Fill ################# proc same_data_fill_write { dash_path num } { set master_path [lindex [get_service_paths master] 1] open_service master $master_path variable start_address_same [ dashboard_get_property $dash_path start_address_same_text text ] variable what_bytes_same [ dashboard_get_property $dash_path what_bytes_same_text text ] variable same_data [ dashboard_get_property $dash_path same_data_text text ] if { $start_address_same >= 0 & $start_address_same <= 0xFFFFFFFF } { if { $same_data >= 0 & $same_data <= 0xFFFFFFFF } { if { $what_bytes_same >= 0 & $what_bytes_same <= 134217726 } { #8bit Write if { $num == 0 } { for { set i 0 } { ${i} < $what_bytes_same } { incr i } { master_write_8 $master_path [ expr $start_address_same + $i ] $same_data } } #16bit write if { $num == 1 } { if { [ expr $start_address_same % 0x2 ] == 0 } { for { set i 0 } { ${i} < $what_bytes_same } { incr i } { master_write_16 $master_path [ expr $start_address_same + $i *2 ] $same_data } } if { [ expr $start_address_same % 0x2 ] != 0 } { dashboard_set_property $dash_path start_address_same_text text "It isn't Multiples of 0x2" } } #32bit Write if { $num == 2 } { if { [ expr $start_address_same % 0x4 ] == 0 } { for { set i 0 } { ${i} < $what_bytes_same } { incr i } { master_write_32 $master_path [ expr $start_address_same + $i *4 ] $same_data } } if { [ expr $start_address_same % 0x4 ] != 0 } { dashboard_set_property $dash_path start_address_same_text text "It isn't Multiples of 0x4" } } } } } if { $start_address_same < 0 | $start_address_same > 0xFFFFFFFF } { dashboard_set_property $dash_path start_address_same_text text "Invalid data" } if { $same_data < 0 | $same_data > 0xFFFFFFFF } { dashboard_set_property $dash_path same_data_text text "Invalid data" } if { $what_bytes_same < 0 | $what_bytes_same > 134217726 } { dashboard_set_property $dash_path what_bytes_same_text text "Invalid data" } close_service master $master_path } ##Count up Data Fill ################# proc count_up_fill_write {dash_path num} { set master_path [lindex [get_service_paths master] 1] open_service master $master_path variable start_address_count_up [ dashboard_get_property $dash_path start_address_count_up_text text ] variable what_bytes_count_up [ dashboard_get_property $dash_path what_bytes_count_up_text text ] #8bit Write if { $num == 0 } { for { set i 0 } { ${i} < $what_bytes_count_up } { incr i } { master_write_8 $master_path [ expr $start_address_count_up + $i ] $i } } #16bit Write if { $num == 1 } { if { [ expr $start_address_count_up % 0x2 ] == 0 } { for { set i 0 } { ${i} < $what_bytes_count_up } { incr i } { master_write_16 $master_path [ expr $start_address_count_up + $i * 2 ] $i } } if { [ expr $start_address_count_up % 0x2 ] != 0 } { dashboard_set_property $dash_path start_address_count_up_text text "It isn't Multiples of 0x2" } } #32bit Write if { $num == 2 } { if { [ expr $start_address_count_up % 0x4 ] == 0 } { for { set i 0 } { ${i} < $what_bytes_count_up } { incr i } { master_write_32 $master_path [ expr $start_address_count_up + $i * 4 ] $i } } if { [ expr $start_address_count_up % 0x4 ] != 0 } { dashboard_set_property $dash_path start_address_count_up_text text "It isn't Multiples of 0x4" } } close_service master $master_path } ##Main ################################################################################################ #create Dash Board set dash_path [add_service dashboard sys_dash "read_write_dashboard" "Tools/read write dashboard"] dashboard_set_property $dash_path self visible true dashboard_set_property $dash_path self itemsPerRow 1 #Setup Group to Organize everything dashboard_add $dash_path specify_write_read_group group self dashboard_set_property $dash_path specify_write_read_group title "Write/Read (Specify Address)" dashboard_set_property $dash_path specify_write_read_group itemsPerRow 2 #Groups dashboard_add $dash_path write_specify_group group specify_write_read_group dashboard_set_property $dash_path write_specify_group title "Write specify address" dashboard_set_property $dash_path write_specify_group itemsPerRow 1 ##Target Address Text Box ############ dashboard_add $dash_path target_address group write_specify_group dashboard_set_property $dash_path target_address expandableX false dashboard_set_property $dash_path target_address expandableY false dashboard_set_property $dash_path target_address itemsPerRow 1 dashboard_set_property $dash_path target_address title "Target Address" dashboard_add $dash_path target_address_text text target_address dashboard_set_property $dash_path target_address_text expandableX false dashboard_set_property $dash_path target_address_text expandableY false dashboard_set_property $dash_path target_address_text preferredWidth 150 dashboard_set_property $dash_path target_address_text editable true dashboard_set_property $dash_path target_address_text htmlCapable false dashboard_set_property $dash_path target_address_text text $target_address_d ##Target Address Text Box ############ dashboard_add $dash_path Write_data group write_specify_group dashboard_set_property $dash_path Write_data expandableX false dashboard_set_property $dash_path Write_data expandableY false dashboard_set_property $dash_path Write_data itemsPerRow 1 dashboard_set_property $dash_path Write_data title "Write_data" dashboard_add $dash_path Write_data_text text Write_data dashboard_set_property $dash_path Write_data_text expandableX false dashboard_set_property $dash_path Write_data_text expandableY false dashboard_set_property $dash_path Write_data_text preferredWidth 150 dashboard_set_property $dash_path Write_data_text editable true dashboard_set_property $dash_path Write_data_text htmlCapable false dashboard_set_property $dash_path Write_data_text text $write_data_d ##Target Address Button ############ dashboard_add $dash_path specify_write8_button button write_specify_group dashboard_set_property $dash_path specify_write8_button enabled true dashboard_set_property $dash_path specify_write8_button expandableY false dashboard_set_property $dash_path specify_write8_button expandableY false dashboard_set_property $dash_path specify_write8_button text "8-Bit Write" dashboard_set_property $dash_path specify_write8_button onClick {toggle_specify_write $dash_path 0} ##Target Address Button ############ dashboard_add $dash_path specify_write16_button button write_specify_group dashboard_set_property $dash_path specify_write16_button enabled true dashboard_set_property $dash_path specify_write16_button expandableY false dashboard_set_property $dash_path specify_write16_button expandableY false dashboard_set_property $dash_path specify_write16_button text "16-Bit Write" dashboard_set_property $dash_path specify_write16_button onClick {toggle_specify_write $dash_path 1} ##Target Address Button ############ dashboard_add $dash_path specify_write32_button button write_specify_group dashboard_set_property $dash_path specify_write32_button enabled true dashboard_set_property $dash_path specify_write32_button expandableY false dashboard_set_property $dash_path specify_write32_button expandableY false dashboard_set_property $dash_path specify_write32_button text "32-Bit Write" dashboard_set_property $dash_path specify_write32_button onClick {toggle_specify_write $dash_path 2} #Groups dashboard_add $dash_path read_specify_group group specify_write_read_group dashboard_set_property $dash_path read_specify_group title "Read specify address" dashboard_set_property $dash_path read_specify_group itemsPerRow 1 ##Target Address Text Box(read) ############ dashboard_add $dash_path target_address_read_group group read_specify_group dashboard_set_property $dash_path target_address_read_group expandableX false dashboard_set_property $dash_path target_address_read_group expandableY false dashboard_set_property $dash_path target_address_read_group itemsPerRow 1 dashboard_set_property $dash_path target_address_read_group title "Target Address" dashboard_add $dash_path target_address_read_text text target_address_read_group dashboard_set_property $dash_path target_address_read_text expandableX false dashboard_set_property $dash_path target_address_read_text expandableY false dashboard_set_property $dash_path target_address_read_text preferredWidth 150 dashboard_set_property $dash_path target_address_read_text editable true dashboard_set_property $dash_path target_address_read_text htmlCapable false dashboard_set_property $dash_path target_address_read_text text $target_address_read_d ##Target Address Text Box(read) ############ dashboard_add $dash_path Read_data_group group read_specify_group dashboard_set_property $dash_path Read_data_group expandableX false dashboard_set_property $dash_path Read_data_group expandableY false dashboard_set_property $dash_path Read_data_group itemsPerRow 1 dashboard_set_property $dash_path Read_data_group title "Read_data" dashboard_add $dash_path Read_data_text text Read_data_group dashboard_set_property $dash_path Read_data_text expandableX false dashboard_set_property $dash_path Read_data_text expandableY false dashboard_set_property $dash_path Read_data_text preferredWidth 150 dashboard_set_property $dash_path Read_data_text editable false dashboard_set_property $dash_path Read_data_text htmlCapable false dashboard_set_property $dash_path Read_data_text text "None" ##Target Address Button(Read)(8bit) ############ dashboard_add $dash_path read_specify_button8 button read_specify_group dashboard_set_property $dash_path read_specify_button8 enabled true dashboard_set_property $dash_path read_specify_button8 expandableY false dashboard_set_property $dash_path read_specify_button8 expandableY false dashboard_set_property $dash_path read_specify_button8 text "8-Bit Read" dashboard_set_property $dash_path read_specify_button8 onClick {toggle_specify_read $dash_path 0} ##Target Address Button(Read)(16bit) ############ dashboard_add $dash_path read_specify_button16 button read_specify_group dashboard_set_property $dash_path read_specify_button16 enabled true dashboard_set_property $dash_path read_specify_button16 expandableY false dashboard_set_property $dash_path read_specify_button16 expandableY false dashboard_set_property $dash_path read_specify_button16 text "16-Bit Read" dashboard_set_property $dash_path read_specify_button16 onClick {toggle_specify_read $dash_path 1} ##Target Address Button(Read)(32bit) ############ dashboard_add $dash_path read_specify_button32 button read_specify_group dashboard_set_property $dash_path read_specify_button32 enabled true dashboard_set_property $dash_path read_specify_button32 expandableY false dashboard_set_property $dash_path read_specify_button32 expandableY false dashboard_set_property $dash_path read_specify_button32 text "32-Bit Read" dashboard_set_property $dash_path read_specify_button32 onClick {toggle_specify_read $dash_path 2} ##Fill data ################## dashboard_add $dash_path Fill_data_group group self dashboard_set_property $dash_path Fill_data_group title "Write (Fill Data)" dashboard_set_property $dash_path Fill_data_group itemsPerRow 2 #same_data fill Groups dashboard_add $dash_path Same_data_fill_group group Fill_data_group dashboard_set_property $dash_path Same_data_fill_group title "Same data fill" dashboard_set_property $dash_path Same_data_fill_group itemsPerRow 1 ##Address Text Box ############ dashboard_add $dash_path start_address_same_group group Same_data_fill_group dashboard_set_property $dash_path start_address_same_group expandableX false dashboard_set_property $dash_path start_address_same_group expandableY false dashboard_set_property $dash_path start_address_same_group itemsPerRow 1 dashboard_set_property $dash_path start_address_same_group title "Start Address" dashboard_add $dash_path start_address_same_text text start_address_same_group dashboard_set_property $dash_path start_address_same_text expandableX false dashboard_set_property $dash_path start_address_same_text expandableY false dashboard_set_property $dash_path start_address_same_text preferredWidth 150 dashboard_set_property $dash_path start_address_same_text editable true dashboard_set_property $dash_path start_address_same_text htmlCapable false dashboard_set_property $dash_path start_address_same_text text $start_address_same_d ##Byte Text Box ############ dashboard_add $dash_path what_bytes_same_group group Same_data_fill_group dashboard_set_property $dash_path what_bytes_same_group expandableX false dashboard_set_property $dash_path what_bytes_same_group expandableY false dashboard_set_property $dash_path what_bytes_same_group itemsPerRow 1 dashboard_set_property $dash_path what_bytes_same_group title "Data Length" dashboard_add $dash_path what_bytes_same_text text what_bytes_same_group dashboard_set_property $dash_path what_bytes_same_text expandableX false dashboard_set_property $dash_path what_bytes_same_text expandableY false dashboard_set_property $dash_path what_bytes_same_text preferredWidth 150 dashboard_set_property $dash_path what_bytes_same_text editable true dashboard_set_property $dash_path what_bytes_same_text htmlCapable false dashboard_set_property $dash_path what_bytes_same_text text $what_bytes_same_d ##Input data ############ dashboard_add $dash_path same_data_group group Same_data_fill_group dashboard_set_property $dash_path same_data_group expandableX false dashboard_set_property $dash_path same_data_group expandableY false dashboard_set_property $dash_path same_data_group itemsPerRow 1 dashboard_set_property $dash_path same_data_group title "Write Data" dashboard_add $dash_path same_data_text text same_data_group dashboard_set_property $dash_path same_data_text expandableX false dashboard_set_property $dash_path same_data_text expandableY false dashboard_set_property $dash_path same_data_text preferredWidth 150 dashboard_set_property $dash_path same_data_text editable true dashboard_set_property $dash_path same_data_text htmlCapable false dashboard_set_property $dash_path same_data_text text $same_data_d ##Same Data fill Button(8bit) ############ dashboard_add $dash_path same_data_fill_button8 button Same_data_fill_group dashboard_set_property $dash_path same_data_fill_button8 enabled true dashboard_set_property $dash_path same_data_fill_button8 expandableY false dashboard_set_property $dash_path same_data_fill_button8 expandableY false dashboard_set_property $dash_path same_data_fill_button8 text "8-Bit Write" dashboard_set_property $dash_path same_data_fill_button8 onClick {same_data_fill_write $dash_path 0} ##Same Data fill Button(16bit) ############ dashboard_add $dash_path same_data_fill_button16 button Same_data_fill_group dashboard_set_property $dash_path same_data_fill_button16 enabled true dashboard_set_property $dash_path same_data_fill_button16 expandableY false dashboard_set_property $dash_path same_data_fill_button16 expandableY false dashboard_set_property $dash_path same_data_fill_button16 text "16-Bit Write" dashboard_set_property $dash_path same_data_fill_button16 onClick {same_data_fill_write $dash_path 1} ##Same Data fill Button(32bit) ############ dashboard_add $dash_path same_data_fill_button32 button Same_data_fill_group dashboard_set_property $dash_path same_data_fill_button32 enabled true dashboard_set_property $dash_path same_data_fill_button32 expandableY false dashboard_set_property $dash_path same_data_fill_button32 expandableY false dashboard_set_property $dash_path same_data_fill_button32 text "32-Bit Write" dashboard_set_property $dash_path same_data_fill_button32 onClick {same_data_fill_write $dash_path 2} #count up data fill Groups dashboard_add $dash_path count_up_data_fill_group group Fill_data_group dashboard_set_property $dash_path count_up_data_fill_group title "Count Up data fill" dashboard_set_property $dash_path count_up_data_fill_group itemsPerRow 1 ##Address Text Box ############ dashboard_add $dash_path start_address_count_up_group group count_up_data_fill_group dashboard_set_property $dash_path start_address_count_up_group expandableX false dashboard_set_property $dash_path start_address_count_up_group expandableY false dashboard_set_property $dash_path start_address_count_up_group itemsPerRow 1 dashboard_set_property $dash_path start_address_count_up_group title "Start Address" dashboard_add $dash_path start_address_count_up_text text start_address_count_up_group dashboard_set_property $dash_path start_address_count_up_text expandableX false dashboard_set_property $dash_path start_address_count_up_text expandableY false dashboard_set_property $dash_path start_address_count_up_text preferredWidth 150 dashboard_set_property $dash_path start_address_count_up_text editable true dashboard_set_property $dash_path start_address_count_up_text htmlCapable false dashboard_set_property $dash_path start_address_count_up_text text $start_address_count_up_d ##Byte Text Box ############ dashboard_add $dash_path what_bytes_count_up_group group count_up_data_fill_group dashboard_set_property $dash_path what_bytes_count_up_group expandableX false dashboard_set_property $dash_path what_bytes_count_up_group expandableY false dashboard_set_property $dash_path what_bytes_count_up_group itemsPerRow 1 dashboard_set_property $dash_path what_bytes_count_up_group title "Data Length" dashboard_add $dash_path what_bytes_count_up_text text what_bytes_count_up_group dashboard_set_property $dash_path what_bytes_count_up_text expandableX false dashboard_set_property $dash_path what_bytes_count_up_text expandableY false dashboard_set_property $dash_path what_bytes_count_up_text preferredWidth 150 dashboard_set_property $dash_path what_bytes_count_up_text editable true dashboard_set_property $dash_path what_bytes_count_up_text htmlCapable false dashboard_set_property $dash_path what_bytes_count_up_text text $what_bytes_count_up_d ##count up fill Button(8bit) ############ dashboard_add $dash_path count_up_fill_button8 button count_up_data_fill_group dashboard_set_property $dash_path count_up_fill_button8 enabled true dashboard_set_property $dash_path count_up_fill_button8 expandableY false dashboard_set_property $dash_path count_up_fill_button8 expandableY false dashboard_set_property $dash_path count_up_fill_button8 text "8-Bit Write" dashboard_set_property $dash_path count_up_fill_button8 onClick {count_up_fill_write $dash_path 0} ##count up fill Button(16bit) ############ dashboard_add $dash_path count_up_fill_button16 button count_up_data_fill_group dashboard_set_property $dash_path count_up_fill_button16 enabled true dashboard_set_property $dash_path count_up_fill_button16 expandableY false dashboard_set_property $dash_path count_up_fill_button16 expandableY false dashboard_set_property $dash_path count_up_fill_button16 text "16-Bit Write" dashboard_set_property $dash_path count_up_fill_button16 onClick {count_up_fill_write $dash_path 1} ##count up fill Button(32bit) ############ dashboard_add $dash_path count_up_fill_button32 button count_up_data_fill_group dashboard_set_property $dash_path count_up_fill_button32 enabled true dashboard_set_property $dash_path count_up_fill_button32 expandableY false dashboard_set_property $dash_path count_up_fill_button32 expandableY false dashboard_set_property $dash_path count_up_fill_button32 text "32-Bit Write" dashboard_set_property $dash_path count_up_fill_button32 onClick {count_up_fill_write $dash_path 2} ##Read## ##View Memory Group ############ dashboard_add $dash_path view_Memory_group group self dashboard_set_property $dash_path view_Memory_group expandableX false dashboard_set_property $dash_path view_Memory_group expandableY false dashboard_set_property $dash_path view_Memory_group itemsPerRow 1 dashboard_set_property $dash_path view_Memory_group title "Read (16 Bytes memory table)" ##View Address Group ############ dashboard_add $dash_path view_Address_group group view_Memory_group dashboard_set_property $dash_path view_Address_group expandableX false dashboard_set_property $dash_path view_Address_group expandableY false dashboard_set_property $dash_path view_Address_group itemsPerRow 2 dashboard_set_property $dash_path view_Address_group title "Address" ##View Address Text ############ dashboard_add $dash_path view_Address_Text text view_Address_group dashboard_set_property $dash_path view_Address_Text expandableX false dashboard_set_property $dash_path view_Address_Text expandableY false dashboard_set_property $dash_path view_Address_Text preferredWidth 150 dashboard_set_property $dash_path view_Address_Text editable true dashboard_set_property $dash_path view_Address_Text htmlCapable false dashboard_set_property $dash_path view_Address_Text text $view_address_d ##View Address Button ############ dashboard_add $dash_path view_Address_Button button view_Address_group dashboard_set_property $dash_path view_Address_Button enabled true dashboard_set_property $dash_path view_Address_Button expandableY false dashboard_set_property $dash_path view_Address_Button expandableY false dashboard_set_property $dash_path view_Address_Button text "Reload" dashboard_set_property $dash_path view_Address_Button onClick {toggle_apply_address $dash_path 0} ##Read Table ############ dashboard_add $dash_path view_tabale_group group view_Memory_group dashboard_set_property $dash_path view_tabale_group expandableX false dashboard_set_property $dash_path view_tabale_group expandableY false dashboard_set_property $dash_path view_tabale_group itemsPerRow 2 dashboard_set_property $dash_path view_tabale_group title "Data" dashboard_add $dash_path view_Address_Table table view_tabale_group dashboard_set_property $dash_path view_Address_Table expandableX false dashboard_set_property $dash_path view_Address_Table expandableY false dashboard_set_property $dash_path view_Address_Table rowCount 4 dashboard_set_property $dash_path view_Address_Table columnCount 1 dashboard_set_property $dash_path view_Address_Table columnHorizontalAlignment "center" dashboard_set_property $dash_path view_Address_Table showGrid true dashboard_set_property $dash_path view_Address_Table showHorizontalLines true dashboard_set_property $dash_path view_Address_Table showVerticalLines true dashboard_set_property $dash_path view_Address_Table columnIndex 0 dashboard_set_property $dash_path view_Address_Table columnHeader "ADDR" dashboard_set_property $dash_path view_Address_Table preferredWidth 150 for { set i 0 } { ${i} < 4 } { incr i } { dashboard_set_property $dash_path view_Address_Table rowIndex ${i} dashboard_set_property $dash_path view_Address_Table cellText "uninitialized" } dashboard_add $dash_path view_Data_Table table view_tabale_group dashboard_set_property $dash_path view_Data_Table expandableX false dashboard_set_property $dash_path view_Data_Table expandableY false dashboard_set_property $dash_path view_Data_Table rowCount 4 dashboard_set_property $dash_path view_Data_Table columnCount 4 dashboard_set_property $dash_path view_Data_Table columnHorizontalAlignment "center" dashboard_set_property $dash_path view_Data_Table showGrid true dashboard_set_property $dash_path view_Data_Table showHorizontalLines true dashboard_set_property $dash_path view_Data_Table showVerticalLines true dashboard_set_property $dash_path view_Data_Table columnIndex 0 dashboard_set_property $dash_path view_Data_Table columnHeader {Byte 0} dashboard_set_property $dash_path view_Data_Table columnIndex 1 dashboard_set_property $dash_path view_Data_Table columnHeader {Byte 1} dashboard_set_property $dash_path view_Data_Table columnIndex 2 dashboard_set_property $dash_path view_Data_Table columnHeader {Byte 2} dashboard_set_property $dash_path view_Data_Table columnIndex 3 dashboard_set_property $dash_path view_Data_Table columnHeader {Byte 3} for { set i 0 } { ${i} < 4 } { incr i } { dashboard_set_property $dash_path view_Data_Table rowIndex ${i} for { set j 0 } { ${j} < 4 } { incr j } { dashboard_set_property $dash_path view_Data_Table columnIndex ${j} dashboard_set_property $dash_path view_Data_Table columnHorizontalAlignment "center" dashboard_set_property $dash_path view_Data_Table cellText "uninitialized" } }