?? lconfig.tk
字號:
int $w.config.f 2 2 "Clock division factor (2 - 32)" CONFIG_CLK_DIV bool $w.config.f 2 3 "Enable Xilinx CLKDLL for PCI clock" CONFIG_PCI_CLKDLL bool $w.config.f 2 4 "Disable external feedback for SDRAM clock" CONFIG_CLK_NOFB bool $w.config.f 2 5 "Use PCI clock as system clock" CONFIG_PCI_SYSCLK focus $w update_active global winx; global winy set winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30] if {[winfo exists $w]} then {wm geometry $w +$winx+$winy} update idletasks if {[winfo exists $w]} then {$w.config.canvas create window 0 0 -anchor nw -window $w.config.f $w.config.canvas configure \ -width [expr [winfo reqwidth $w.config.f] + 1]\ -scrollregion "-1 -1 [expr [winfo reqwidth $w.config.f] + 1] \ [expr [winfo reqheight $w.config.f] + 1]" set winy [expr [winfo reqh $w] - [winfo reqh $w.config.canvas]] set scry [expr [winfo screenh $w] / 2] set maxy [expr [winfo screenh $w] * 3 / 4] set canvtotal [expr [winfo reqh $w.config.f] + 2] if [expr $winy + $canvtotal < $maxy] { $w.config.canvas configure -height $canvtotal } else { $w.config.canvas configure -height [expr $scry - $winy] } } update idletasks if {[winfo exists $w]} then { wm maxsize $w [winfo width $w] [winfo screenheight $w] wm minsize $w [winfo width $w] 100 wm deiconify $w}}proc update_menu2 {} { global CONFIG_CLK_DCM global CONFIG_CLK_ALTDLL global CONFIG_CLK_LATDLL global CONFIG_CLK_CLKDLL global CONFIG_CLK_LIB18T global CONFIG_CLK_MUL if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {.menu2.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu2.config.f.x1.l configure -state normal; } else {.menu2.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu2.config.f.x1.l configure -state disabled} global CONFIG_CLK_DIV if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {.menu2.config.f.x2.x configure -state normal -foreground [ cget .ref -foreground ]; .menu2.config.f.x2.l configure -state normal; } else {.menu2.config.f.x2.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu2.config.f.x2.l configure -state disabled} global CONFIG_PCI_CLKDLL if {($CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_DCM == 1)} then { configure_entry .menu2.config.f.x3 normal {n l y}} else {configure_entry .menu2.config.f.x3 disabled {y n l}} global CONFIG_CLK_NOFB if {($CONFIG_CLK_DCM == 1)} then { configure_entry .menu2.config.f.x4 normal {n l y}} else {configure_entry .menu2.config.f.x4 disabled {y n l}} global CONFIG_PCI_ENABLE global CONFIG_PCI_SYSCLK if {($CONFIG_PCI_ENABLE != 1)} then { configure_entry .menu2.config.f.x5 normal {n l y}} else {configure_entry .menu2.config.f.x5 disabled {y n l}}}proc update_define_menu2 {} { update_define_mainmenu global CONFIG_MODULES global tmpvar_2 global CONFIG_CLK_INFERRED if {$tmpvar_2 == "Inferred"} then {set CONFIG_CLK_INFERRED 1} else {set CONFIG_CLK_INFERRED 0} global CONFIG_CLK_HCLKBUF if {$tmpvar_2 == "Actel-HCLKBUF"} then {set CONFIG_CLK_HCLKBUF 1} else {set CONFIG_CLK_HCLKBUF 0} global CONFIG_CLK_ALTDLL if {$tmpvar_2 == "Altera-ALTPLL"} then {set CONFIG_CLK_ALTDLL 1} else {set CONFIG_CLK_ALTDLL 0} global CONFIG_CLK_LATDLL if {$tmpvar_2 == "Lattice-EXPLL"} then {set CONFIG_CLK_LATDLL 1} else {set CONFIG_CLK_LATDLL 0} global CONFIG_CLK_LIB18T if {$tmpvar_2 == "RH-LIB18T-PLL"} then {set CONFIG_CLK_LIB18T 1} else {set CONFIG_CLK_LIB18T 0} global CONFIG_CLK_CLKDLL if {$tmpvar_2 == "Xilinx-CLKDLL"} then {set CONFIG_CLK_CLKDLL 1} else {set CONFIG_CLK_CLKDLL 0} global CONFIG_CLK_DCM if {$tmpvar_2 == "Xilinx-DCM"} then {set CONFIG_CLK_DCM 1} else {set CONFIG_CLK_DCM 0} global CONFIG_CLK_MUL if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {validate_int CONFIG_CLK_MUL "$CONFIG_CLK_MUL" 2} global CONFIG_CLK_DIV if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {validate_int CONFIG_CLK_DIV "$CONFIG_CLK_DIV" 2} global CONFIG_PCI_CLKDLL if {($CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_DCM == 1)} then { set CONFIG_PCI_CLKDLL [expr $CONFIG_PCI_CLKDLL&15]} else {set CONFIG_PCI_CLKDLL [expr $CONFIG_PCI_CLKDLL|16]} global CONFIG_CLK_NOFB if {($CONFIG_CLK_DCM == 1)} then { set CONFIG_CLK_NOFB [expr $CONFIG_CLK_NOFB&15]} else {set CONFIG_CLK_NOFB [expr $CONFIG_CLK_NOFB|16]} global CONFIG_PCI_ENABLE global CONFIG_PCI_SYSCLK if {($CONFIG_PCI_ENABLE != 1)} then { set CONFIG_PCI_SYSCLK [expr $CONFIG_PCI_SYSCLK&15]} else {set CONFIG_PCI_SYSCLK [expr $CONFIG_PCI_SYSCLK|16]}}menu_option menu3 3 "Processor "proc menu3 {w title} { set oldFocus [focus] catch {destroy $w; unregister_active 3} toplevel $w -class Dialog wm withdraw $w global active_menus set active_menus [lsort -integer [linsert $active_menus end 3]] message $w.m -width 400 -aspect 300 -text \ "Processor " -relief raised pack $w.m -pady 10 -side top -padx 10 wm title $w "Processor " bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 3; break" set nextscript "catch {focus $oldFocus}; menu4 .menu4 \"$title\"" frame $w.f button $w.f.back -text "Main Menu" \ -width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 3" button $w.f.next -text "Next" -underline 0\ -width 15 -command $nextscript bind all <Alt-n> $nextscript button $w.f.prev -text "Prev" -underline 0\ -width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 3; menu2 .menu2 \"$title\"" bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 3; menu2 .menu2 \"$title\";break" pack $w.f.back $w.f.next $w.f.prev -side left -expand on pack $w.f -pady 10 -side bottom -anchor w -fill x frame $w.topline -relief ridge -borderwidth 2 -height 2 pack $w.topline -side top -fill x frame $w.botline -relief ridge -borderwidth 2 -height 2 pack $w.botline -side bottom -fill x frame $w.config pack $w.config -fill y -expand on scrollbar $w.config.vscroll -command "$w.config.canvas yview" pack $w.config.vscroll -side right -fill y canvas $w.config.canvas -height 1\ -relief flat -borderwidth 0 -yscrollcommand "$w.config.vscroll set" \ -width [expr [winfo screenwidth .] * 1 / 2] frame $w.config.f bind $w <Key-Down> "$w.config.canvas yview scroll 1 unit;break;" bind $w <Key-Up> "$w.config.canvas yview scroll -1 unit;break;" bind $w <Key-Next> "$w.config.canvas yview scroll 1 page;break;" bind $w <Key-Prior> "$w.config.canvas yview scroll -1 page;break;" bind $w <Key-Home> "$w.config.canvas yview moveto 0;break;" bind $w <Key-End> "$w.config.canvas yview moveto 1 ;break;" pack $w.config.canvas -side right -fill y bool $w.config.f 3 0 "Enable LEON3 SPARC V8 Processor" CONFIG_LEON3 int $w.config.f 3 1 "Number of processors" CONFIG_PROC_NUM submenu $w.config.f 3 2 "Integer unit " 4 submenu $w.config.f 3 3 "Floating-point unit" 5 submenu $w.config.f 3 4 "Cache system" 6 submenu $w.config.f 3 5 "MMU" 7 submenu $w.config.f 3 6 "Debug Support Unit " 8 submenu $w.config.f 3 7 "VHDL debug settings " 9 focus $w update_active global winx; global winy set winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30] if {[winfo exists $w]} then {wm geometry $w +$winx+$winy} update idletasks if {[winfo exists $w]} then {$w.config.canvas create window 0 0 -anchor nw -window $w.config.f $w.config.canvas configure \ -width [expr [winfo reqwidth $w.config.f] + 1]\ -scrollregion "-1 -1 [expr [winfo reqwidth $w.config.f] + 1] \ [expr [winfo reqheight $w.config.f] + 1]" set winy [expr [winfo reqh $w] - [winfo reqh $w.config.canvas]] set scry [expr [winfo screenh $w] / 2] set maxy [expr [winfo screenh $w] * 3 / 4] set canvtotal [expr [winfo reqh $w.config.f] + 2] if [expr $winy + $canvtotal < $maxy] { $w.config.canvas configure -height $canvtotal } else { $w.config.canvas configure -height [expr $scry - $winy] } } update idletasks if {[winfo exists $w]} then { wm maxsize $w [winfo width $w] [winfo screenheight $w] wm minsize $w [winfo width $w] 100 wm deiconify $w}}proc update_menu3 {} { global CONFIG_LEON3 global CONFIG_PROC_NUM if {($CONFIG_LEON3 == 1)} then {.menu3.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu3.config.f.x1.l configure -state normal; } else {.menu3.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu3.config.f.x1.l configure -state disabled} if {($CONFIG_LEON3 == 1)} then {configure_entry .menu3.config.f.x2 normal {m}} else {configure_entry .menu3.config.f.x2 disabled {m}} if {($CONFIG_LEON3 == 1)} then {configure_entry .menu3.config.f.x3 normal {m}} else {configure_entry .menu3.config.f.x3 disabled {m}} if {($CONFIG_LEON3 == 1)} then {configure_entry .menu3.config.f.x4 normal {m}} else {configure_entry .menu3.config.f.x4 disabled {m}} if {($CONFIG_LEON3 == 1)} then {configure_entry .menu3.config.f.x5 normal {m}} else {configure_entry .menu3.config.f.x5 disabled {m}} if {($CONFIG_LEON3 == 1)} then {configure_entry .menu3.config.f.x6 normal {m}} else {configure_entry .menu3.config.f.x6 disabled {m}} if {($CONFIG_LEON3 == 1)} then {configure_entry .menu3.config.f.x7 normal {m}} else {configure_entry .menu3.config.f.x7 disabled {m}}}proc update_define_menu3 {} { update_define_mainmenu global CONFIG_MODULES global CONFIG_LEON3 global CONFIG_PROC_NUM if {($CONFIG_LEON3 == 1)} then {validate_int CONFIG_PROC_NUM "$CONFIG_PROC_NUM" 1}}proc menu4 {w title} { set oldFocus [focus] catch {focus .menu3} catch {destroy $w; unregister_active 4} toplevel $w -class Dialog wm withdraw $w global active_menus set active_menus [lsort -integer [linsert $active_menus end 4]] message $w.m -width 400 -aspect 300 -text \ "Integer unit " -relief raised pack $w.m -pady 10 -side top -padx 10 wm title $w "Integer unit " bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 4; break" set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 4; menu5 .menu5 \"$title\"" frame $w.f button $w.f.back -text "OK" \ -width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 4" button $w.f.next -text "Next" -underline 0\ -width 15 -command $nextscript bind all <Alt-n> $nextscript button $w.f.prev -text "Prev" -underline 0\ -width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 4; menu3 .menu3 \"$title\"" bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 4; menu3 .menu3 \"$title\";break" pack $w.f.back $w.f.next $w.f.prev -side left -expand on pack $w.f -pady 10 -side bottom -anchor w -fill x frame $w.topline -relief ridge -borderwidth 2 -height 2 pack $w.topline -side top -fill x frame $w.botline -relief ridge -borderwidth 2 -height 2 pack $w.botline -side bottom -fill x frame $w.config pack $w.config -fill y -expand on scrollbar $w.config.vscroll -command "$w.config.canvas yview" pack $w.config.vscroll -side right -fill y canvas $w.config.canvas -height 1\ -relief flat -borderwidth 0 -yscrollcommand "$w.config.vscroll set" \ -width [expr [winfo screenwidth .] * 1 / 2] frame $w.config.f bind $w <Key-Down> "$w.config.canvas yview scroll 1 unit;break;" bind $w <Key-Up> "$w.config.canvas yview scroll -1 unit;break;" bind $w <Key-Next> "$w.config.canvas yview scroll 1 page;break;" bind $w <Key-Prior> "$w.config.canvas yview scroll -1 page;break;" bind $w <Key-Home> "$w.config.canvas yview moveto 0;break;" bind $w <Key-End> "$w.config.canvas yview moveto 1 ;break;" pack $w.config.canvas -side right -fill y int $w.config.f 4 0 "SPARC register windows" CONFIG_IU_NWINDOWS bool $w.config.f 4 1 "SPARC V8 MUL/DIV instructions" CONFIG_IU_V8MULDIV global tmpvar_3 minimenu $w.config.f 4 2 "Hardware multiplier latency" tmpvar_3 CONFIG_IU_MUL_LATENCY_4 menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"Hardware multiplier latency\"" $w.config.f.x2.x.menu add radiobutton -label "4-cycles" -variable tmpvar_3 -value "4-cycles" -command "update_active" $w.config.f.x2.x.menu add radiobutton -label "5-cycles" -variable tmpvar_3 -value "5-cycles" -command "update_active" menusplit $w $w.config.f.x2.x.menu 2 bool $w.config.f 4 3 "SPARC V8e SMAC/UMAC instructions " CONFIG_IU_MUL_MAC bool $w.config.f 4 4 "Single-vector trapping" CONFIG_IU_SVT int $w.config.f 4 5 "Load delay" CONFIG_IU_LDELAY int $w.config.f 4 6 "Hardware watchpoints" CONFIG_IU_WATCHPOINTS bool $w.config.f 4 7 "Enable power-down mode " CONFIG_PWD hex $w.config.f 4 8 " Reset start address (addr\[31:12\]) " CONFIG_IU_RSTADDR focus $w update_active global winx; global winy if {[winfo exists .menu3] == 0} then {menu3 .menu3 "Processor "} set winx [expr [winfo x .menu3]+30]; set winy [expr [winfo y .menu3]+30] if {[winfo exists $w]} then {wm geometry $w +$winx+$winy} update idletasks if {[winfo exists $w]} then {$w.config.canvas create window 0 0 -anchor nw -window $w.config.f $w.config.canvas configure \ -width [expr [winfo reqwidth $w.config.f] + 1]\ -scrollregion "-1 -1 [expr [winfo reqwidth $w.config.f] + 1] \ [expr [winfo reqheight $w.config.f] + 1]" set winy [expr [winfo reqh $w] - [winfo reqh $w.config.canvas]] set scry [expr [winfo screenh $w] / 2] set maxy [expr [winfo screenh $w] * 3 / 4] set canvtotal [expr [winfo reqh $w.config.f] + 2] if [expr $winy + $canvtotal < $maxy] { $w.config.canvas configure -height $canvtotal } else { $w.config.canvas configure -height [expr $scry - $winy] } } update idletasks if {[winfo exists $w]} then { wm maxsize $w [winfo width $w] [winfo screenheight $w] wm minsize $w [winfo width $w] 100 wm deiconify $w}}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -