lconfig.tk
6296 lines
| 318.2 KiB
| text/plain
|
TextLexer
r129 | # FILE: header.tk | |||
# This file is boilerplate TCL/TK function definitions for 'make xconfig'. | ||||
# | ||||
# CHANGES | ||||
# ======= | ||||
# | ||||
# 8 January 1999, Michael Elizabeth Chastain, <mec@shout.net> | ||||
# - Remove unused do_cmd function (part of the 2.0 sound support). | ||||
# - Arrange buttons in three columns for better screen fitting. | ||||
# - Add CONSTANT_Y, CONSTANT_M, CONSTANT_N for commands like: | ||||
# dep_tristate 'foo' CONFIG_FOO m | ||||
# | ||||
# 23 January 1999, Michael Elizabeth Chastain, <mec@shout.net> | ||||
# - Shut vfix the hell up. | ||||
# | ||||
# 24 January 1999, Michael Elizabeth Chastain, <mec@shout.net> | ||||
# - Improve the exit message (Jeff Ronne). | ||||
# | ||||
# This is a handy replacement for ".widget cget" that requires neither tk4 | ||||
# nor additional source code uglification. | ||||
# | ||||
proc cget { w option } { | ||||
return "[lindex [$w configure $option] 4]" | ||||
} | ||||
# | ||||
# Function to compensate for broken config.in scripts like the sound driver, | ||||
# which make dependencies on variables that are never even conditionally | ||||
# defined. | ||||
# | ||||
proc vfix { var } { | ||||
global $var | ||||
if [ catch {eval concat $$var} ] { | ||||
set $var 4 | ||||
} | ||||
} | ||||
# | ||||
# Constant values used by certain dep_tristate commands. | ||||
# | ||||
set CONSTANT_Y 1 | ||||
set CONSTANT_M 2 | ||||
set CONSTANT_N 0 | ||||
set CONSTANT_E 4 | ||||
# | ||||
# Create a "reference" object to steal colors from. | ||||
# | ||||
button .ref | ||||
# | ||||
# On monochrome displays, -disabledforeground is blank by default; that's | ||||
# bad. Fill it with -foreground instead. | ||||
# | ||||
if { [cget .ref -disabledforeground] == "" } { | ||||
.ref configure -disabledforeground [cget .ref -foreground] | ||||
} | ||||
# | ||||
# Define some macros we will need to parse the config.in file. | ||||
# | ||||
proc mainmenu_name { text } { | ||||
wm title . "$text" | ||||
} | ||||
proc menu_option { w menu_num text } { | ||||
global menus_per_column | ||||
global processed_top_level | ||||
set processed_top_level [expr $processed_top_level + 1] | ||||
if { $processed_top_level <= $menus_per_column } then { | ||||
set myframe left | ||||
} elseif { $processed_top_level <= [expr 2 * $menus_per_column] } then { | ||||
set myframe middle | ||||
} else { | ||||
set myframe right | ||||
} | ||||
button .f0.x$menu_num -anchor w -text "$text" \ | ||||
-command "$w .$w \"$text\"" | ||||
pack .f0.x$menu_num -pady 0 -side top -fill x -in .f0.$myframe | ||||
} | ||||
proc load_configfile { w title func } { | ||||
catch {destroy $w} | ||||
toplevel $w -class Dialog | ||||
global loadfile | ||||
frame $w.x | ||||
label $w.bm -bitmap questhead | ||||
pack $w.bm -pady 10 -side top -padx 10 | ||||
label $w.x.l -text "Enter filename:" -relief raised | ||||
entry $w.x.x -width 35 -relief sunken -borderwidth 2 \ | ||||
-textvariable loadfile | ||||
pack $w.x.l $w.x.x -anchor w -side left | ||||
pack $w.x -side top -pady 10 | ||||
wm title $w "$title" | ||||
set oldFocus [focus] | ||||
frame $w.f | ||||
button $w.f.back -text "OK" -width 20 \ | ||||
-command "destroy $w; focus $oldFocus;$func .fileio" | ||||
button $w.f.canc -text "Cancel" \ | ||||
-width 20 -command "destroy $w; focus $oldFocus" | ||||
pack $w.f.back $w.f.canc -side left -pady 10 -padx 45 | ||||
pack $w.f -pady 10 -side bottom -padx 10 -anchor w | ||||
focus $w | ||||
global winx; global winy | ||||
set winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30] | ||||
wm geometry $w +$winx+$winy | ||||
} | ||||
bind all <Alt-q> {maybe_exit .maybe} | ||||
proc maybe_exit { w } { | ||||
catch {destroy $w} | ||||
toplevel $w -class Dialog | ||||
label $w.bm -bitmap questhead | ||||
pack $w.bm -pady 10 -side top -padx 10 | ||||
message $w.m -width 400 -aspect 300 \ | ||||
-text "Changes will be lost. Are you sure?" -relief flat | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Are you sure?" | ||||
set oldFocus [focus] | ||||
frame $w.f | ||||
button $w.f.back -text "OK" -width 20 \ | ||||
-command "exit 1" | ||||
button $w.f.canc -text "Cancel" \ | ||||
-width 20 -command "destroy $w; focus $oldFocus" | ||||
pack $w.f.back $w.f.canc -side left -pady 10 -padx 45 | ||||
pack $w.f -pady 10 -side bottom -padx 10 -anchor w | ||||
bind $w <Return> "exit 1" | ||||
bind $w <Escape> "destroy $w; focus $oldFocus" | ||||
focus $w | ||||
global winx; global winy | ||||
set winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30] | ||||
wm geometry $w +$winx+$winy | ||||
} | ||||
proc read_config_file { w } { | ||||
global loadfile | ||||
if { [string length $loadfile] != 0 && [file readable $loadfile] == 1 } then { | ||||
read_config $loadfile | ||||
} else { | ||||
catch {destroy $w} | ||||
toplevel $w -class Dialog | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Unable to read file $loadfile" \ | ||||
-relief raised | ||||
label $w.bm -bitmap error | ||||
pack $w.bm $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Xconfig Internal Error" | ||||
set oldFocus [focus] | ||||
frame $w.f | ||||
button $w.f.back -text "Bummer" \ | ||||
-width 10 -command "destroy $w; focus $oldFocus" | ||||
pack $w.f.back -side bottom -pady 10 -anchor s | ||||
pack $w.f -pady 10 -side top -padx 10 -anchor s | ||||
focus $w | ||||
global winx; global winy | ||||
set winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30] | ||||
wm geometry $w +$winx+$winy | ||||
} | ||||
} | ||||
proc write_config_file { w } { | ||||
global loadfile | ||||
if { [string length $loadfile] != 0 | ||||
&& ([file writable $loadfile] == 1 || ([file exists $loadfile] == 0 && [file writable [file dirname $loadfile]] == 1)) } then { | ||||
writeconfig $loadfile .null | ||||
} else { | ||||
catch {destroy $w} | ||||
toplevel $w -class Dialog | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Unable to write file $loadfile" \ | ||||
-relief raised | ||||
label $w.bm -bitmap error | ||||
pack $w.bm $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Xconfig Internal Error" | ||||
set oldFocus [focus] | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 10 -command "destroy $w; focus $oldFocus" | ||||
pack $w.f.back -side bottom -pady 10 -anchor s | ||||
pack $w.f -pady 10 -side top -padx 10 -anchor s | ||||
focus $w | ||||
global winx; global winy | ||||
set winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30] | ||||
wm geometry $w +$winx+$winy | ||||
} | ||||
} | ||||
proc read_config { filename } { | ||||
set file1 [open $filename r] | ||||
clear_choices | ||||
while { [gets $file1 line] >= 0} { | ||||
if [regexp {([0-9A-Za-z_]+)=([ynm])} $line foo var value] { | ||||
if { $value == "y" } then { set cmd "global $var; set $var 1" } | ||||
if { $value == "n" } then { set cmd "global $var; set $var 0" } | ||||
if { $value == "m" } then { set cmd "global $var; set $var 2" } | ||||
eval $cmd | ||||
} | ||||
if [regexp {# ([0-9A-Za-z_]+) is not set} $line foo var] { | ||||
set cmd "global $var; set $var 0" | ||||
eval $cmd | ||||
} | ||||
if [regexp {([0-9A-Za-z_]+)=([0-9A-Fa-f]+)} $line foo var value] { | ||||
set cmd "global $var; set $var $value" | ||||
eval $cmd | ||||
} | ||||
if [regexp {([0-9A-Za-z_]+)="([^"]*)"} $line foo var value] { | ||||
set cmd "global $var; set $var \"$value\"" | ||||
eval $cmd | ||||
} | ||||
} | ||||
close $file1 | ||||
update_choices | ||||
update_mainmenu | ||||
} | ||||
proc write_comment { file1 file2 text } { | ||||
puts $file1 "" | ||||
puts $file1 "#" | ||||
puts $file1 "# $text" | ||||
puts $file1 "#" | ||||
puts $file2 "/*" | ||||
puts $file2 " * $text" | ||||
puts $file2 " */" | ||||
} | ||||
proc effective_dep { deplist } { | ||||
global CONFIG_MODULES | ||||
set depend 1 | ||||
foreach i $deplist { | ||||
if {$i == 0} then {set depend 0} | ||||
if {$i == 2 && $depend == 1} then {set depend 2} | ||||
} | ||||
if {$depend == 2 && $CONFIG_MODULES == 0} then {set depend 0} | ||||
return $depend | ||||
} | ||||
proc sync_tristate { var dep } { | ||||
global CONFIG_MODULES | ||||
if {$dep == 0 && ($var == 1 || $var == 2)} then { | ||||
set var 0 | ||||
} elseif {$dep == 2 && $var == 1} then { | ||||
set var 2 | ||||
} elseif {$var == 2 && $CONFIG_MODULES == 0} then { | ||||
if {$dep == 1} then {set var 1} else {set var 0} | ||||
} | ||||
return $var | ||||
} | ||||
proc sync_bool { var dep modset } { | ||||
set var [sync_tristate $var $dep] | ||||
if {$dep == 2 && $var == 2} then { | ||||
set var $modset | ||||
} | ||||
return $var | ||||
} | ||||
proc write_tristate { file1 file2 varname variable deplist modset } { | ||||
set variable [sync_tristate $variable [effective_dep $deplist]] | ||||
if { $variable == 2 } \ | ||||
then { set variable $modset } | ||||
if { $variable == 1 } \ | ||||
then { puts $file1 "$varname=y"; \ | ||||
puts $file2 "#define $varname 1" } \ | ||||
elseif { $variable == 2 } \ | ||||
then { puts $file1 "$varname=m"; \ | ||||
puts $file2 "#undef $varname"; \ | ||||
puts $file2 "#define ${varname}_MODULE 1" } \ | ||||
elseif { $variable == 0 } \ | ||||
then { puts $file1 "# $varname is not set"; \ | ||||
puts $file2 "#undef $varname"} \ | ||||
else { \ | ||||
puts stdout "ERROR - Attempting to write value for unconfigured variable ($varname)." \ | ||||
} | ||||
} | ||||
proc write_int { file1 file2 varname variable dep } { | ||||
if { $dep == 0 } \ | ||||
then { puts $file1 "# $varname is not set"; \ | ||||
puts $file2 "#undef $varname"} \ | ||||
else { | ||||
puts $file1 "$varname=$variable"; \ | ||||
puts $file2 "#define $varname ($variable)"; \ | ||||
} | ||||
} | ||||
proc write_hex { file1 file2 varname variable dep } { | ||||
if { $dep == 0 } \ | ||||
then { puts $file1 "# $varname is not set"; \ | ||||
puts $file2 "#undef $varname"} \ | ||||
else { | ||||
puts $file1 "$varname=$variable"; \ | ||||
puts -nonewline $file2 "#define $varname "; \ | ||||
puts $file2 [exec echo $variable | sed s/^0\[xX\]//]; \ | ||||
} | ||||
} | ||||
proc write_string { file1 file2 varname variable dep } { | ||||
if { $dep == 0 } \ | ||||
then { puts $file1 "# $varname is not set"; \ | ||||
puts $file2 "#undef $varname"} \ | ||||
else { | ||||
puts $file1 "$varname=\"$variable\""; \ | ||||
puts $file2 "#define $varname \"$variable\""; \ | ||||
} | ||||
} | ||||
proc option_name {w mnum line text helpidx} { | ||||
button $w.x$line.l -text "$text" -relief groove -anchor w | ||||
$w.x$line.l configure -activefore [cget $w.x$line.l -fg] \ | ||||
-activeback [cget $w.x$line.l -bg] | ||||
button $w.x$line.help -text "Help" -relief raised \ | ||||
-command "dohelp .dohelp $helpidx .menu$mnum" | ||||
pack $w.x$line.help -side right -fill y | ||||
pack $w.x$line.l -side right -fill both -expand on | ||||
} | ||||
proc toggle_switch2 {w mnum line text variable} { | ||||
frame $w.x$line -relief sunken | ||||
radiobutton $w.x$line.y -text "y" -variable $variable -value 1 \ | ||||
-relief groove -width 2 -command "update_active" | ||||
# radiobutton $w.x$line.m -text "-" -variable $variable -value 2 \ | ||||
# -relief groove -width 2 -command "update_active" | ||||
radiobutton $w.x$line.n -text "n" -variable $variable -value 0 \ | ||||
-relief groove -width 2 -command "update_active" | ||||
option_name $w $mnum $line $text $variable | ||||
pack $w.x$line.n $w.x$line.y -side right -fill y | ||||
} | ||||
proc toggle_switch3 {w mnum line text variable} { | ||||
frame $w.x$line -relief sunken | ||||
radiobutton $w.x$line.y -text "y" -variable $variable -value 1 \ | ||||
-relief groove -width 2 -command "update_active" | ||||
radiobutton $w.x$line.m -text "m" -variable $variable -value 2 \ | ||||
-relief groove -width 2 -command "update_active" | ||||
radiobutton $w.x$line.n -text "n" -variable $variable -value 0 \ | ||||
-relief groove -width 2 -command "update_active" | ||||
option_name $w $mnum $line $text $variable | ||||
global CONFIG_MODULES | ||||
if {($CONFIG_MODULES == 0)} then { | ||||
$w.x$line.m configure -state disabled | ||||
} | ||||
pack $w.x$line.n $w.x$line.m $w.x$line.y -side right -fill y | ||||
} | ||||
proc bool {w mnum line text variable} { | ||||
toggle_switch2 $w $mnum $line $text $variable | ||||
# $w.x$line.m configure -state disabled | ||||
pack $w.x$line -anchor w -fill both -expand on | ||||
} | ||||
proc tristate {w mnum line text variable } { | ||||
toggle_switch3 $w $mnum $line $text $variable | ||||
pack $w.x$line -anchor w -fill both -expand on | ||||
} | ||||
proc dep_tristate {w mnum line text variable } { | ||||
tristate $w $mnum $line $text $variable | ||||
} | ||||
proc dep_bool {w mnum line text variable } { | ||||
bool $w $mnum $line $text $variable | ||||
} | ||||
proc int { w mnum line text variable } { | ||||
frame $w.x$line | ||||
entry $w.x$line.x -width 11 -relief sunken -borderwidth 2 \ | ||||
-textvariable $variable | ||||
option_name $w $mnum $line $text $variable | ||||
pack $w.x$line.x -anchor w -side right -fill y | ||||
pack $w.x$line -anchor w -fill both -expand on | ||||
} | ||||
proc hex { w mnum line text variable } { | ||||
int $w $mnum $line $text $variable | ||||
} | ||||
proc istring { w mnum line text variable } { | ||||
frame $w.x$line | ||||
entry $w.x$line.x -width 18 -relief sunken -borderwidth 2 \ | ||||
-textvariable $variable | ||||
option_name $w $mnum $line $text $variable | ||||
pack $w.x$line.x -anchor w -side right -fill y | ||||
pack $w.x$line -anchor w -fill both -expand on | ||||
} | ||||
proc minimenu { w mnum line text variable helpidx } { | ||||
frame $w.x$line | ||||
menubutton $w.x$line.x -textvariable $variable -menu \ | ||||
$w.x$line.x.menu -relief raised \ | ||||
-anchor w | ||||
option_name $w $mnum $line $text $helpidx | ||||
pack $w.x$line.x -anchor w -side right -fill y | ||||
pack $w.x$line -anchor w -fill both -expand on | ||||
} | ||||
proc menusplit {w m n} { | ||||
if { $n > 2 } then { | ||||
update idletasks | ||||
set menuoptsize [expr [$m yposition 2] - [$m yposition 1]] | ||||
set maxsize [winfo screenheight $w] | ||||
set splitpoint [expr $maxsize * 4 / 5 / $menuoptsize - 1] | ||||
for {set i [expr $splitpoint + 1]} {$i <= $n} {incr i $splitpoint} { | ||||
$m entryconfigure $i -columnbreak 1 | ||||
} | ||||
} | ||||
} | ||||
proc menutitle {text menu w} { | ||||
wm title $w "$text" | ||||
} | ||||
proc submenu { w mnum line text subnum } { | ||||
frame $w.x$line | ||||
button $w.x$line.l -text "" -width 9 -relief groove | ||||
$w.x$line.l configure -activefore [cget $w.x$line.l -fg] \ | ||||
-activeback [cget $w.x$line.l -bg] -state disabled | ||||
button $w.x$line.m -text "$text" -relief raised -anchor w \ | ||||
-command "catch {destroy .menu$subnum}; menu$subnum .menu$subnum \"$text\"" | ||||
pack $w.x$line.l -side left -fill both | ||||
pack $w.x$line.m -anchor w -side right -fill both -expand on | ||||
pack $w.x$line -anchor w -fill both -expand on | ||||
} | ||||
proc comment {w mnum line text } { | ||||
frame $w.x$line | ||||
button $w.x$line.l -text "" -width 15 -relief groove | ||||
$w.x$line.l configure -activefore [cget $w.x$line.l -fg] \ | ||||
-activeback [cget $w.x$line.l -bg] -state disabled | ||||
button $w.x$line.m -text "$text" -relief groove -anchor w | ||||
$w.x$line.m configure -activefore [cget $w.x$line.m -fg] \ | ||||
-activeback [cget $w.x$line.m -bg] | ||||
pack $w.x$line.l -side left -fill both | ||||
pack $w.x$line.m -anchor w -side right -fill both -expand on | ||||
pack $w.x$line -anchor w -fill both -expand on | ||||
} | ||||
proc readhelp {tag fn} { | ||||
set message "" | ||||
set b 0 | ||||
if { [file readable $fn] == 1} then { | ||||
set fhandle [open $fn r] | ||||
while {[gets $fhandle inline] >= 0} { | ||||
if { $b == 0 } { | ||||
if { [regexp $tag $inline ] } { | ||||
set b 1 | ||||
set message "$inline:\n" | ||||
} | ||||
} else { | ||||
if { [regexp {^[^ \t]} $inline]} { | ||||
break | ||||
} | ||||
set message "$message\n$inline" | ||||
} | ||||
} | ||||
close $fhandle | ||||
} | ||||
return $message | ||||
} | ||||
proc dohelp {w var parent} { | ||||
catch {destroy $w} | ||||
toplevel $w -class Dialog | ||||
set filefound 0 | ||||
set found 0 | ||||
set lineno 0 | ||||
if { [file readable config.help] == 1} then { | ||||
set filefound 1 | ||||
# First escape sed regexp special characters in var: | ||||
set var [exec echo "$var" | sed s/\[\]\[\/.^$*\]/\\\\&/g] | ||||
# Now pick out right help text: | ||||
set message [readhelp $var config.help] | ||||
set found [expr [string length "$message"] > 0] | ||||
} | ||||
frame $w.f1 | ||||
pack $w.f1 -fill both -expand on | ||||
# Do the OK button | ||||
# | ||||
set oldFocus [focus] | ||||
frame $w.f2 | ||||
button $w.f2.ok -text "OK" \ | ||||
-width 10 -command "destroy $w; catch {focus $oldFocus}" | ||||
pack $w.f2.ok -side bottom -pady 6 -anchor n | ||||
pack $w.f2 -side bottom -padx 10 -anchor s | ||||
scrollbar $w.f1.vscroll -command "$w.f1.canvas yview" | ||||
pack $w.f1.vscroll -side right -fill y | ||||
canvas $w.f1.canvas -relief flat -borderwidth 0 \ | ||||
-yscrollcommand "$w.f1.vscroll set" | ||||
frame $w.f1.f | ||||
pack $w.f1.canvas -side right -fill y -expand on | ||||
if { $found == 0 } then { | ||||
if { $filefound == 0 } then { | ||||
message $w.f1.f.m -width 750 -aspect 300 -relief flat -text \ | ||||
"No help available - unable to open file config.help." | ||||
} else { | ||||
message $w.f1.f.m -width 400 -aspect 300 -relief flat -text \ | ||||
"No help available for $var" | ||||
} | ||||
label $w.f1.bm -bitmap error | ||||
wm title $w "RTFM" | ||||
} else { | ||||
text $w.f1.f.m -width 73 -relief flat -wrap word | ||||
$w.f1.f.m insert 0.0 $message | ||||
$w.f1.f.m conf -state disabled -height [$w.f1.f.m index end] | ||||
label $w.f1.bm -bitmap info | ||||
wm title $w "Configuration help" | ||||
} | ||||
pack $w.f1.f.m -side left | ||||
pack $w.f1.bm $w.f1.f -side left -padx 10 | ||||
focus $w | ||||
set winx [expr [winfo x $parent]+20] | ||||
set winy [expr [winfo y $parent]+20] | ||||
wm geometry $w +$winx+$winy | ||||
set sizok [expr [winfo reqheight $w.f2.ok] + 12] | ||||
set maxy [expr [winfo screenheight .] * 3 / 4] | ||||
set canvtotal [winfo reqheight $w.f1.f.m] | ||||
if [expr $sizok + $canvtotal < $maxy] { | ||||
set sizy $canvtotal | ||||
} else { | ||||
set sizy [expr $maxy - $sizok] | ||||
} | ||||
$w.f1.canvas configure -height $sizy -width [winfo reqwidth $w.f1.f.m] \ | ||||
-scrollregion "0 0 [winfo reqwidth $w.f1.f.m] \ | ||||
[winfo reqheight $w.f1.f.m]" | ||||
$w.f1.canvas create window 0 0 -anchor nw -window $w.f1.f | ||||
update idletasks | ||||
set maxy [winfo screenheight .] | ||||
if [expr $sizok + $canvtotal < $maxy] { | ||||
set sizy [expr $sizok + $canvtotal] | ||||
} else { | ||||
set sizy $maxy | ||||
} | ||||
wm maxsize $w [winfo width $w] $sizy | ||||
} | ||||
bind all <Alt-s> { catch {exec cp -f .config .config.old}; \ | ||||
writeconfig .config config.h; wrapup .wrap } | ||||
proc wrapup {w } { | ||||
catch {destroy $w} | ||||
toplevel $w -class Dialog | ||||
global CONFIG_MODVERSIONS; vfix CONFIG_MODVERSIONS | ||||
message $w.m -width 460 -aspect 300 -relief raised -text \ | ||||
"End of design configuration. " | ||||
label $w.bm -bitmap info | ||||
pack $w.bm $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "LEON build instructions" | ||||
set oldFocus [focus] | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 10 -command "exit 2" | ||||
pack $w.f.back -side bottom -pady 10 -anchor s | ||||
pack $w.f -pady 10 -side top -padx 10 -anchor s | ||||
focus $w | ||||
bind $w <Return> "exit 2" | ||||
global winx; global winy | ||||
set winx [expr [winfo x .]+30]; set winy [expr [winfo y .]+30] | ||||
wm geometry $w +$winx+$winy | ||||
} | ||||
proc unregister_active {num} { | ||||
global active_menus | ||||
set index [lsearch -exact $active_menus $num] | ||||
if {$index != -1} then {set active_menus [lreplace $active_menus $index $index]} | ||||
} | ||||
proc update_active {} { | ||||
global active_menus total_menus | ||||
set max 0 | ||||
if {[llength $active_menus] > 0} then { | ||||
set max [lindex $active_menus end] | ||||
update_define [toplevel_menu [lindex $active_menus 0]] $max 0 | ||||
} | ||||
foreach i $active_menus { | ||||
if {[winfo exists .menu$i] == 0} then { | ||||
unregister_active $i | ||||
} else { | ||||
update_menu$i | ||||
} | ||||
} | ||||
update_define [expr $max + 1] $total_menus 1 | ||||
update_mainmenu | ||||
} | ||||
proc configure_entry {w option items} { | ||||
foreach i $items { | ||||
$w.$i configure -state $option | ||||
} | ||||
} | ||||
proc validate_int {name val default} { | ||||
if {([exec echo $val | sed s/^-//g | tr -d \[:digit:\] ] != "")} then { | ||||
global $name; set $name $default | ||||
} | ||||
} | ||||
proc validate_hex {name val default} { | ||||
if {([exec echo $val | tr -d \[:xdigit:\] ] != "")} then { | ||||
global $name; set $name $default | ||||
} | ||||
} | ||||
proc update_define {first last allow_update} { | ||||
for {set i $first} {$i <= $last} {incr i} { | ||||
update_define_menu$i | ||||
if {$allow_update == 1} then update | ||||
} | ||||
} | ||||
# | ||||
# Next set up the particulars for the top level menu, and define a few | ||||
# buttons which we will stick down at the bottom. | ||||
# | ||||
frame .f0 | ||||
frame .f0.left | ||||
frame .f0.middle | ||||
frame .f0.right | ||||
set active_menus [list] | ||||
set processed_top_level 0 | ||||
set ARCH sparc | ||||
set menus_per_column 4 | ||||
set total_menus 24 | ||||
proc toplevel_menu {num} { | ||||
if {$num == 4} then {return 3} | ||||
if {$num == 5} then {return 3} | ||||
if {$num == 6} then {return 3} | ||||
if {$num == 7} then {return 3} | ||||
if {$num == 8} then {return 3} | ||||
if {$num == 9} then {return 3} | ||||
if {$num == 10} then {return 3} | ||||
if {$num == 14} then {return 13} | ||||
if {$num == 15} then {return 14} | ||||
if {$num == 16} then {return 14} | ||||
if {$num == 17} then {return 13} | ||||
if {$num == 18} then {return 13} | ||||
if {$num == 19} then {return 13} | ||||
if {$num == 20} then {return 13} | ||||
if {$num == 21} then {return 13} | ||||
if {$num == 22} then {return 21} | ||||
if {$num == 23} then {return 21} | ||||
return $num | ||||
} | ||||
mainmenu_name "LEON3MP Design Configuration" | ||||
menu_option menu1 1 "Synthesis " | ||||
proc menu1 {w title} { | ||||
set oldFocus [focus] | ||||
catch {destroy $w; unregister_active 1} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 1]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Synthesis " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Synthesis " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 1; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 1; menu2 .menu2 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "Main Menu" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 1" | ||||
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 1; menu0 .menu0 \"$title\"" | ||||
$w.f.prev configure -state disabled | ||||
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 | ||||
global tmpvar_0 | ||||
minimenu $w.config.f 1 0 "Target technology " tmpvar_0 CONFIG_SYN_INFERRED | ||||
menu $w.config.f.x0.x.menu -tearoffcommand "menutitle \"Target technology \"" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Inferred" -variable tmpvar_0 -value "Inferred" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Altera-Stratix" -variable tmpvar_0 -value "Altera-Stratix" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Altera-StratixII" -variable tmpvar_0 -value "Altera-StratixII" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Altera-StratixIII" -variable tmpvar_0 -value "Altera-StratixIII" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Altera-CycloneIII" -variable tmpvar_0 -value "Altera-CycloneIII" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Altera-Others" -variable tmpvar_0 -value "Altera-Others" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-Axcelerator" -variable tmpvar_0 -value "Actel-Axcelerator" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-Axcelerator-DSP" -variable tmpvar_0 -value "Actel-Axcelerator-DSP" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-Proasic" -variable tmpvar_0 -value "Actel-Proasic" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-ProasicPlus" -variable tmpvar_0 -value "Actel-ProasicPlus" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-Proasic3" -variable tmpvar_0 -value "Actel-Proasic3" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-Proasic3E" -variable tmpvar_0 -value "Actel-Proasic3E" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-Proasic3L" -variable tmpvar_0 -value "Actel-Proasic3L" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-IGLOO/p/L" -variable tmpvar_0 -value "Actel-IGLOO/p/L" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-Fusion" -variable tmpvar_0 -value "Actel-Fusion" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Aeroflex-UT025CRH" -variable tmpvar_0 -value "Aeroflex-UT025CRH" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Aeroflex-UT130HBD" -variable tmpvar_0 -value "Aeroflex-UT130HBD" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Aeroflex-UT90NHBD" -variable tmpvar_0 -value "Aeroflex-UT90NHBD" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Atmel-ATC18" -variable tmpvar_0 -value "Atmel-ATC18" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Atmel-ATC18RHA" -variable tmpvar_0 -value "Atmel-ATC18RHA" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "IBM-CMOS9SF" -variable tmpvar_0 -value "IBM-CMOS9SF" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Custom1" -variable tmpvar_0 -value "Custom1" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "eASIC90" -variable tmpvar_0 -value "eASIC90" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "eASIC45" -variable tmpvar_0 -value "eASIC45" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "IHP25" -variable tmpvar_0 -value "IHP25" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "IHP25RH" -variable tmpvar_0 -value "IHP25RH" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Lattice-EC/ECP/XP" -variable tmpvar_0 -value "Lattice-EC/ECP/XP" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Quicklogic-Eclipse" -variable tmpvar_0 -value "Quicklogic-Eclipse" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Peregrine" -variable tmpvar_0 -value "Peregrine" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "RH-LIB18T" -variable tmpvar_0 -value "RH-LIB18T" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "RH-UMC" -variable tmpvar_0 -value "RH-UMC" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "SMIC130" -variable tmpvar_0 -value "SMIC130" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "TM65Gplus" -variable tmpvar_0 -value "TM65Gplus" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "TSMC90" -variable tmpvar_0 -value "TSMC90" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "UMC180" -variable tmpvar_0 -value "UMC180" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Spartan2" -variable tmpvar_0 -value "Xilinx-Spartan2" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Spartan3" -variable tmpvar_0 -value "Xilinx-Spartan3" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Spartan3E" -variable tmpvar_0 -value "Xilinx-Spartan3E" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Spartan6" -variable tmpvar_0 -value "Xilinx-Spartan6" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Virtex" -variable tmpvar_0 -value "Xilinx-Virtex" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-VirtexE" -variable tmpvar_0 -value "Xilinx-VirtexE" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Virtex2" -variable tmpvar_0 -value "Xilinx-Virtex2" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Virtex4" -variable tmpvar_0 -value "Xilinx-Virtex4" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Virtex5" -variable tmpvar_0 -value "Xilinx-Virtex5" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-Virtex6" -variable tmpvar_0 -value "Xilinx-Virtex6" -command "update_active" | ||||
menusplit $w $w.config.f.x0.x.menu 45 | ||||
global tmpvar_1 | ||||
minimenu $w.config.f 1 1 "Memory Library " tmpvar_1 CONFIG_MEM_INFERRED | ||||
menu $w.config.f.x1.x.menu -tearoffcommand "menutitle \"Memory Library \"" | ||||
$w.config.f.x1.x.menu add radiobutton -label "Inferred" -variable tmpvar_1 -value "Inferred" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "UMC18" -variable tmpvar_1 -value "UMC18" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "RH-UMC" -variable tmpvar_1 -value "RH-UMC" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "Artisan" -variable tmpvar_1 -value "Artisan" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "Custom1" -variable tmpvar_1 -value "Custom1" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "Virage" -variable tmpvar_1 -value "Virage" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "Virage-TSMC90" -variable tmpvar_1 -value "Virage-TSMC90" -command "update_active" | ||||
menusplit $w $w.config.f.x1.x.menu 7 | ||||
bool $w.config.f 1 2 "Infer RAM" CONFIG_SYN_INFER_RAM | ||||
bool $w.config.f 1 3 "Infer pads" CONFIG_SYN_INFER_PADS | ||||
bool $w.config.f 1 4 "Disable asynchronous reset" CONFIG_SYN_NO_ASYNC | ||||
bool $w.config.f 1 5 "Enable scan support " CONFIG_SYN_SCAN | ||||
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_menu1 {} { | ||||
global CONFIG_SYN_INFERRED | ||||
global CONFIG_SYN_CUSTOM1 | ||||
global CONFIG_SYN_ATC18 | ||||
global CONFIG_SYN_TSMC90 | ||||
global CONFIG_SYN_UMC | ||||
global CONFIG_SYN_RHUMC | ||||
global CONFIG_SYN_ARTISAN | ||||
if {($CONFIG_SYN_INFERRED == 1 || $CONFIG_SYN_CUSTOM1 == 1 || $CONFIG_SYN_ATC18 == 1 || $CONFIG_SYN_TSMC90 == 1 || $CONFIG_SYN_UMC == 1 || $CONFIG_SYN_RHUMC == 1 || $CONFIG_SYN_ARTISAN == 1)} then {configure_entry .menu1.config.f.x1 normal {x l}} else {configure_entry .menu1.config.f.x1 disabled {x l}} | ||||
global CONFIG_SYN_INFER_RAM | ||||
if {($CONFIG_SYN_INFERRED != 1)} then { | ||||
configure_entry .menu1.config.f.x2 normal {n l y}} else {configure_entry .menu1.config.f.x2 disabled {y n l}} | ||||
global CONFIG_SYN_INFER_PADS | ||||
if {($CONFIG_SYN_INFERRED != 1)} then { | ||||
configure_entry .menu1.config.f.x3 normal {n l y}} else {configure_entry .menu1.config.f.x3 disabled {y n l}} | ||||
} | ||||
proc update_define_menu1 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global tmpvar_0 | ||||
global CONFIG_SYN_INFERRED | ||||
if {$tmpvar_0 == "Inferred"} then {set CONFIG_SYN_INFERRED 1} else {set CONFIG_SYN_INFERRED 0} | ||||
global CONFIG_SYN_STRATIX | ||||
if {$tmpvar_0 == "Altera-Stratix"} then {set CONFIG_SYN_STRATIX 1} else {set CONFIG_SYN_STRATIX 0} | ||||
global CONFIG_SYN_STRATIXII | ||||
if {$tmpvar_0 == "Altera-StratixII"} then {set CONFIG_SYN_STRATIXII 1} else {set CONFIG_SYN_STRATIXII 0} | ||||
global CONFIG_SYN_STRATIXIII | ||||
if {$tmpvar_0 == "Altera-StratixIII"} then {set CONFIG_SYN_STRATIXIII 1} else {set CONFIG_SYN_STRATIXIII 0} | ||||
global CONFIG_SYN_CYCLONEIII | ||||
if {$tmpvar_0 == "Altera-CycloneIII"} then {set CONFIG_SYN_CYCLONEIII 1} else {set CONFIG_SYN_CYCLONEIII 0} | ||||
global CONFIG_SYN_ALTERA | ||||
if {$tmpvar_0 == "Altera-Others"} then {set CONFIG_SYN_ALTERA 1} else {set CONFIG_SYN_ALTERA 0} | ||||
global CONFIG_SYN_AXCEL | ||||
if {$tmpvar_0 == "Actel-Axcelerator"} then {set CONFIG_SYN_AXCEL 1} else {set CONFIG_SYN_AXCEL 0} | ||||
global CONFIG_SYN_AXDSP | ||||
if {$tmpvar_0 == "Actel-Axcelerator-DSP"} then {set CONFIG_SYN_AXDSP 1} else {set CONFIG_SYN_AXDSP 0} | ||||
global CONFIG_SYN_PROASIC | ||||
if {$tmpvar_0 == "Actel-Proasic"} then {set CONFIG_SYN_PROASIC 1} else {set CONFIG_SYN_PROASIC 0} | ||||
global CONFIG_SYN_PROASICPLUS | ||||
if {$tmpvar_0 == "Actel-ProasicPlus"} then {set CONFIG_SYN_PROASICPLUS 1} else {set CONFIG_SYN_PROASICPLUS 0} | ||||
global CONFIG_SYN_PROASIC3 | ||||
if {$tmpvar_0 == "Actel-Proasic3"} then {set CONFIG_SYN_PROASIC3 1} else {set CONFIG_SYN_PROASIC3 0} | ||||
global CONFIG_SYN_PROASIC3E | ||||
if {$tmpvar_0 == "Actel-Proasic3E"} then {set CONFIG_SYN_PROASIC3E 1} else {set CONFIG_SYN_PROASIC3E 0} | ||||
global CONFIG_SYN_PROASIC3L | ||||
if {$tmpvar_0 == "Actel-Proasic3L"} then {set CONFIG_SYN_PROASIC3L 1} else {set CONFIG_SYN_PROASIC3L 0} | ||||
global CONFIG_SYN_IGLOO | ||||
if {$tmpvar_0 == "Actel-IGLOO/p/L"} then {set CONFIG_SYN_IGLOO 1} else {set CONFIG_SYN_IGLOO 0} | ||||
global CONFIG_SYN_FUSION | ||||
if {$tmpvar_0 == "Actel-Fusion"} then {set CONFIG_SYN_FUSION 1} else {set CONFIG_SYN_FUSION 0} | ||||
global CONFIG_SYN_UT025CRH | ||||
if {$tmpvar_0 == "Aeroflex-UT025CRH"} then {set CONFIG_SYN_UT025CRH 1} else {set CONFIG_SYN_UT025CRH 0} | ||||
global CONFIG_SYN_UT130HBD | ||||
if {$tmpvar_0 == "Aeroflex-UT130HBD"} then {set CONFIG_SYN_UT130HBD 1} else {set CONFIG_SYN_UT130HBD 0} | ||||
global CONFIG_SYN_UT90NHBD | ||||
if {$tmpvar_0 == "Aeroflex-UT90NHBD"} then {set CONFIG_SYN_UT90NHBD 1} else {set CONFIG_SYN_UT90NHBD 0} | ||||
global CONFIG_SYN_ATC18 | ||||
if {$tmpvar_0 == "Atmel-ATC18"} then {set CONFIG_SYN_ATC18 1} else {set CONFIG_SYN_ATC18 0} | ||||
global CONFIG_SYN_ATC18RHA | ||||
if {$tmpvar_0 == "Atmel-ATC18RHA"} then {set CONFIG_SYN_ATC18RHA 1} else {set CONFIG_SYN_ATC18RHA 0} | ||||
global CONFIG_SYN_CMOS9SF | ||||
if {$tmpvar_0 == "IBM-CMOS9SF"} then {set CONFIG_SYN_CMOS9SF 1} else {set CONFIG_SYN_CMOS9SF 0} | ||||
global CONFIG_SYN_CUSTOM1 | ||||
if {$tmpvar_0 == "Custom1"} then {set CONFIG_SYN_CUSTOM1 1} else {set CONFIG_SYN_CUSTOM1 0} | ||||
global CONFIG_SYN_EASIC90 | ||||
if {$tmpvar_0 == "eASIC90"} then {set CONFIG_SYN_EASIC90 1} else {set CONFIG_SYN_EASIC90 0} | ||||
global CONFIG_SYN_EASIC45 | ||||
if {$tmpvar_0 == "eASIC45"} then {set CONFIG_SYN_EASIC45 1} else {set CONFIG_SYN_EASIC45 0} | ||||
global CONFIG_SYN_IHP25 | ||||
if {$tmpvar_0 == "IHP25"} then {set CONFIG_SYN_IHP25 1} else {set CONFIG_SYN_IHP25 0} | ||||
global CONFIG_SYN_IHP25RH | ||||
if {$tmpvar_0 == "IHP25RH"} then {set CONFIG_SYN_IHP25RH 1} else {set CONFIG_SYN_IHP25RH 0} | ||||
global CONFIG_SYN_LATTICE | ||||
if {$tmpvar_0 == "Lattice-EC/ECP/XP"} then {set CONFIG_SYN_LATTICE 1} else {set CONFIG_SYN_LATTICE 0} | ||||
global CONFIG_SYN_ECLIPSE | ||||
if {$tmpvar_0 == "Quicklogic-Eclipse"} then {set CONFIG_SYN_ECLIPSE 1} else {set CONFIG_SYN_ECLIPSE 0} | ||||
global CONFIG_SYN_PEREGRINE | ||||
if {$tmpvar_0 == "Peregrine"} then {set CONFIG_SYN_PEREGRINE 1} else {set CONFIG_SYN_PEREGRINE 0} | ||||
global CONFIG_SYN_RH_LIB18T | ||||
if {$tmpvar_0 == "RH-LIB18T"} then {set CONFIG_SYN_RH_LIB18T 1} else {set CONFIG_SYN_RH_LIB18T 0} | ||||
global CONFIG_SYN_RHUMC | ||||
if {$tmpvar_0 == "RH-UMC"} then {set CONFIG_SYN_RHUMC 1} else {set CONFIG_SYN_RHUMC 0} | ||||
global CONFIG_SYN_SMIC13 | ||||
if {$tmpvar_0 == "SMIC130"} then {set CONFIG_SYN_SMIC13 1} else {set CONFIG_SYN_SMIC13 0} | ||||
global CONFIG_SYN_TM65GPLUS | ||||
if {$tmpvar_0 == "TM65Gplus"} then {set CONFIG_SYN_TM65GPLUS 1} else {set CONFIG_SYN_TM65GPLUS 0} | ||||
global CONFIG_SYN_TSMC90 | ||||
if {$tmpvar_0 == "TSMC90"} then {set CONFIG_SYN_TSMC90 1} else {set CONFIG_SYN_TSMC90 0} | ||||
global CONFIG_SYN_UMC | ||||
if {$tmpvar_0 == "UMC180"} then {set CONFIG_SYN_UMC 1} else {set CONFIG_SYN_UMC 0} | ||||
global CONFIG_SYN_SPARTAN2 | ||||
if {$tmpvar_0 == "Xilinx-Spartan2"} then {set CONFIG_SYN_SPARTAN2 1} else {set CONFIG_SYN_SPARTAN2 0} | ||||
global CONFIG_SYN_SPARTAN3 | ||||
if {$tmpvar_0 == "Xilinx-Spartan3"} then {set CONFIG_SYN_SPARTAN3 1} else {set CONFIG_SYN_SPARTAN3 0} | ||||
global CONFIG_SYN_SPARTAN3E | ||||
if {$tmpvar_0 == "Xilinx-Spartan3E"} then {set CONFIG_SYN_SPARTAN3E 1} else {set CONFIG_SYN_SPARTAN3E 0} | ||||
global CONFIG_SYN_SPARTAN6 | ||||
if {$tmpvar_0 == "Xilinx-Spartan6"} then {set CONFIG_SYN_SPARTAN6 1} else {set CONFIG_SYN_SPARTAN6 0} | ||||
global CONFIG_SYN_VIRTEX | ||||
if {$tmpvar_0 == "Xilinx-Virtex"} then {set CONFIG_SYN_VIRTEX 1} else {set CONFIG_SYN_VIRTEX 0} | ||||
global CONFIG_SYN_VIRTEXE | ||||
if {$tmpvar_0 == "Xilinx-VirtexE"} then {set CONFIG_SYN_VIRTEXE 1} else {set CONFIG_SYN_VIRTEXE 0} | ||||
global CONFIG_SYN_VIRTEX2 | ||||
if {$tmpvar_0 == "Xilinx-Virtex2"} then {set CONFIG_SYN_VIRTEX2 1} else {set CONFIG_SYN_VIRTEX2 0} | ||||
global CONFIG_SYN_VIRTEX4 | ||||
if {$tmpvar_0 == "Xilinx-Virtex4"} then {set CONFIG_SYN_VIRTEX4 1} else {set CONFIG_SYN_VIRTEX4 0} | ||||
global CONFIG_SYN_VIRTEX5 | ||||
if {$tmpvar_0 == "Xilinx-Virtex5"} then {set CONFIG_SYN_VIRTEX5 1} else {set CONFIG_SYN_VIRTEX5 0} | ||||
global CONFIG_SYN_VIRTEX6 | ||||
if {$tmpvar_0 == "Xilinx-Virtex6"} then {set CONFIG_SYN_VIRTEX6 1} else {set CONFIG_SYN_VIRTEX6 0} | ||||
global tmpvar_1 | ||||
global CONFIG_MEM_INFERRED | ||||
if {$tmpvar_1 == "Inferred"} then {set CONFIG_MEM_INFERRED 1} else {set CONFIG_MEM_INFERRED 0} | ||||
global CONFIG_MEM_UMC | ||||
if {$tmpvar_1 == "UMC18"} then {set CONFIG_MEM_UMC 1} else {set CONFIG_MEM_UMC 0} | ||||
global CONFIG_MEM_RHUMC | ||||
if {$tmpvar_1 == "RH-UMC"} then {set CONFIG_MEM_RHUMC 1} else {set CONFIG_MEM_RHUMC 0} | ||||
global CONFIG_MEM_ARTISAN | ||||
if {$tmpvar_1 == "Artisan"} then {set CONFIG_MEM_ARTISAN 1} else {set CONFIG_MEM_ARTISAN 0} | ||||
global CONFIG_MEM_CUSTOM1 | ||||
if {$tmpvar_1 == "Custom1"} then {set CONFIG_MEM_CUSTOM1 1} else {set CONFIG_MEM_CUSTOM1 0} | ||||
global CONFIG_MEM_VIRAGE | ||||
if {$tmpvar_1 == "Virage"} then {set CONFIG_MEM_VIRAGE 1} else {set CONFIG_MEM_VIRAGE 0} | ||||
global CONFIG_MEM_VIRAGE90 | ||||
if {$tmpvar_1 == "Virage-TSMC90"} then {set CONFIG_MEM_VIRAGE90 1} else {set CONFIG_MEM_VIRAGE90 0} | ||||
global CONFIG_SYN_INFER_RAM | ||||
if {($CONFIG_SYN_INFERRED != 1)} then { | ||||
set CONFIG_SYN_INFER_RAM [expr $CONFIG_SYN_INFER_RAM&15]} else {set CONFIG_SYN_INFER_RAM [expr $CONFIG_SYN_INFER_RAM|16]} | ||||
global CONFIG_SYN_INFER_PADS | ||||
if {($CONFIG_SYN_INFERRED != 1)} then { | ||||
set CONFIG_SYN_INFER_PADS [expr $CONFIG_SYN_INFER_PADS&15]} else {set CONFIG_SYN_INFER_PADS [expr $CONFIG_SYN_INFER_PADS|16]} | ||||
} | ||||
menu_option menu2 2 "Clock generation" | ||||
proc menu2 {w title} { | ||||
set oldFocus [focus] | ||||
catch {destroy $w; unregister_active 2} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 2]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Clock generation" -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Clock generation" | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 2; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 2; menu3 .menu3 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "Main Menu" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 2" | ||||
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 2; menu1 .menu1 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 2; menu1 .menu1 \"$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 | ||||
global tmpvar_2 | ||||
minimenu $w.config.f 2 0 "Clock generator " tmpvar_2 CONFIG_CLK_INFERRED | ||||
menu $w.config.f.x0.x.menu -tearoffcommand "menutitle \"Clock generator \"" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Inferred" -variable tmpvar_2 -value "Inferred" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Actel-HCLKBUF" -variable tmpvar_2 -value "Actel-HCLKBUF" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Aeroflex-UT130HBD" -variable tmpvar_2 -value "Aeroflex-UT130HBD" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Altera-ALTPLL" -variable tmpvar_2 -value "Altera-ALTPLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Lattice-EXPLL" -variable tmpvar_2 -value "Lattice-EXPLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Proasic3-PLL" -variable tmpvar_2 -value "Proasic3-PLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Proasic3E-PLL" -variable tmpvar_2 -value "Proasic3E-PLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Proasic3L-PLL" -variable tmpvar_2 -value "Proasic3L-PLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Fusion-PLL" -variable tmpvar_2 -value "Fusion-PLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "RH-LIB18T-PLL" -variable tmpvar_2 -value "RH-LIB18T-PLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "DARE-PLL" -variable tmpvar_2 -value "DARE-PLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-CLKDLL" -variable tmpvar_2 -value "Xilinx-CLKDLL" -command "update_active" | ||||
$w.config.f.x0.x.menu add radiobutton -label "Xilinx-DCM" -variable tmpvar_2 -value "Xilinx-DCM" -command "update_active" | ||||
menusplit $w $w.config.f.x0.x.menu 13 | ||||
int $w.config.f 2 1 "Clock multiplication factor (allowed values are tech dependent)" CONFIG_CLK_MUL | ||||
int $w.config.f 2 2 "Clock division factor (allowed values are tech dependent)" CONFIG_CLK_DIV | ||||
int $w.config.f 2 3 "Outout division factor (1 - 32)" CONFIG_OCLK_DIV | ||||
int $w.config.f 2 4 "Outout division factor, 2nd clk (0 - 32, see help)" CONFIG_OCLKB_DIV | ||||
int $w.config.f 2 5 "Outout division factor, 3rd clk (0 - 32, see help)" CONFIG_OCLKC_DIV | ||||
bool $w.config.f 2 6 "Enable Xilinx CLKDLL for PCI clock" CONFIG_PCI_CLKDLL | ||||
bool $w.config.f 2 7 "Disable external feedback for SDRAM clock" CONFIG_CLK_NOFB | ||||
bool $w.config.f 2 8 "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_PRO3PLL | ||||
global CONFIG_CLK_PRO3EPLL | ||||
global CONFIG_CLK_PRO3LPLL | ||||
global CONFIG_CLK_CLKDLL | ||||
global CONFIG_CLK_LIB18T | ||||
global CONFIG_CLK_FUSPLL | ||||
global CONFIG_CLK_MUL | ||||
if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1 || $CONFIG_CLK_FUSPLL == 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_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1 || $CONFIG_CLK_FUSPLL == 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_OCLK_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {.menu2.config.f.x3.x configure -state normal -foreground [ cget .ref -foreground ]; .menu2.config.f.x3.l configure -state normal; } else {.menu2.config.f.x3.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu2.config.f.x3.l configure -state disabled} | ||||
global CONFIG_OCLKB_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {.menu2.config.f.x4.x configure -state normal -foreground [ cget .ref -foreground ]; .menu2.config.f.x4.l configure -state normal; } else {.menu2.config.f.x4.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu2.config.f.x4.l configure -state disabled} | ||||
global CONFIG_OCLKC_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {.menu2.config.f.x5.x configure -state normal -foreground [ cget .ref -foreground ]; .menu2.config.f.x5.l configure -state normal; } else {.menu2.config.f.x5.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu2.config.f.x5.l configure -state disabled} | ||||
global CONFIG_PCI_CLKDLL | ||||
if {($CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_DCM == 1)} then { | ||||
configure_entry .menu2.config.f.x6 normal {n l y}} else {configure_entry .menu2.config.f.x6 disabled {y n l}} | ||||
global CONFIG_CLK_NOFB | ||||
if {($CONFIG_CLK_DCM == 1)} then { | ||||
configure_entry .menu2.config.f.x7 normal {n l y}} else {configure_entry .menu2.config.f.x7 disabled {y n l}} | ||||
global CONFIG_PCI_ENABLE | ||||
global CONFIG_PCI_SYSCLK | ||||
if {($CONFIG_PCI_ENABLE != 1)} then { | ||||
configure_entry .menu2.config.f.x8 normal {n l y}} else {configure_entry .menu2.config.f.x8 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_UT130HBD | ||||
if {$tmpvar_2 == "Aeroflex-UT130HBD"} then {set CONFIG_CLK_UT130HBD 1} else {set CONFIG_CLK_UT130HBD 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_PRO3PLL | ||||
if {$tmpvar_2 == "Proasic3-PLL"} then {set CONFIG_CLK_PRO3PLL 1} else {set CONFIG_CLK_PRO3PLL 0} | ||||
global CONFIG_CLK_PRO3EPLL | ||||
if {$tmpvar_2 == "Proasic3E-PLL"} then {set CONFIG_CLK_PRO3EPLL 1} else {set CONFIG_CLK_PRO3EPLL 0} | ||||
global CONFIG_CLK_PRO3LPLL | ||||
if {$tmpvar_2 == "Proasic3L-PLL"} then {set CONFIG_CLK_PRO3LPLL 1} else {set CONFIG_CLK_PRO3LPLL 0} | ||||
global CONFIG_CLK_FUSPLL | ||||
if {$tmpvar_2 == "Fusion-PLL"} then {set CONFIG_CLK_FUSPLL 1} else {set CONFIG_CLK_FUSPLL 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_RHUMC | ||||
if {$tmpvar_2 == "DARE-PLL"} then {set CONFIG_CLK_RHUMC 1} else {set CONFIG_CLK_RHUMC 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_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1 || $CONFIG_CLK_FUSPLL == 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_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1 || $CONFIG_CLK_FUSPLL == 1)} then {validate_int CONFIG_CLK_DIV "$CONFIG_CLK_DIV" 2} | ||||
global CONFIG_OCLK_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {validate_int CONFIG_OCLK_DIV "$CONFIG_OCLK_DIV" 1} | ||||
global CONFIG_OCLKB_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {validate_int CONFIG_OCLKB_DIV "$CONFIG_OCLKB_DIV" 0} | ||||
global CONFIG_OCLKC_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {validate_int CONFIG_OCLKC_DIV "$CONFIG_OCLKC_DIV" 0} | ||||
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 "Fault-tolerance " 9 | ||||
submenu $w.config.f 3 8 "VHDL debug settings " 10 | ||||
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}} | ||||
if {($CONFIG_LEON3 == 1)} then {configure_entry .menu3.config.f.x8 normal {m}} else {configure_entry .menu3.config.f.x8 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_2 | ||||
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"Hardware multiplier latency\"" | ||||
$w.config.f.x2.x.menu add radiobutton -label "2-cycles" -variable tmpvar_3 -value "2-cycles" -command "update_active" | ||||
$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 3 | ||||
bool $w.config.f 4 3 "SPARC V8e SMAC/UMAC instructions " CONFIG_IU_MUL_MAC | ||||
global tmpvar_4 | ||||
minimenu $w.config.f 4 4 "Multipler structure " tmpvar_4 CONFIG_IU_MUL_INFERRED | ||||
menu $w.config.f.x4.x.menu -tearoffcommand "menutitle \"Multipler structure \"" | ||||
$w.config.f.x4.x.menu add radiobutton -label "Inferred" -variable tmpvar_4 -value "Inferred" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "NTNU_Modgen" -variable tmpvar_4 -value "NTNU_Modgen" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "TechSpec" -variable tmpvar_4 -value "TechSpec" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "Designware" -variable tmpvar_4 -value "Designware" -command "update_active" | ||||
menusplit $w $w.config.f.x4.x.menu 4 | ||||
bool $w.config.f 4 5 "Branch prediction " CONFIG_IU_BP | ||||
bool $w.config.f 4 6 "Single-vector trapping" CONFIG_IU_SVT | ||||
bool $w.config.f 4 7 "Disable tagged ADD/SUB and CASA" CONFIG_NOTAG | ||||
int $w.config.f 4 8 "Load delay" CONFIG_IU_LDELAY | ||||
int $w.config.f 4 9 "Hardware watchpoints" CONFIG_IU_WATCHPOINTS | ||||
bool $w.config.f 4 10 "Enable power-down mode " CONFIG_PWD | ||||
hex $w.config.f 4 11 " 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 | ||||
} | ||||
} | ||||
proc update_menu4 {} { | ||||
global CONFIG_LEON3 | ||||
global CONFIG_IU_NWINDOWS | ||||
if {($CONFIG_LEON3 == 1)} then {.menu4.config.f.x0.x configure -state normal -foreground [ cget .ref -foreground ]; .menu4.config.f.x0.l configure -state normal; } else {.menu4.config.f.x0.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu4.config.f.x0.l configure -state disabled} | ||||
global CONFIG_IU_V8MULDIV | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu4.config.f.x1 normal {n l y}} else {configure_entry .menu4.config.f.x1 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_V8MULDIV == 1)} then {configure_entry .menu4.config.f.x2 normal {x l}} else {configure_entry .menu4.config.f.x2 disabled {x l}} | ||||
global CONFIG_IU_MUL_LATENCY_4 | ||||
global CONFIG_IU_MUL_LATENCY_5 | ||||
global CONFIG_IU_MUL_MAC | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_V8MULDIV == 1) && ($CONFIG_IU_MUL_LATENCY_4 == 1 || $CONFIG_IU_MUL_LATENCY_5 == 1)} then { | ||||
configure_entry .menu4.config.f.x3 normal {n l y}} else {configure_entry .menu4.config.f.x3 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_V8MULDIV == 1)} then {configure_entry .menu4.config.f.x4 normal {x l}} else {configure_entry .menu4.config.f.x4 disabled {x l}} | ||||
global CONFIG_IU_BP | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu4.config.f.x5 normal {n l y}} else {configure_entry .menu4.config.f.x5 disabled {y n l}} | ||||
global CONFIG_IU_SVT | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu4.config.f.x6 normal {n l y}} else {configure_entry .menu4.config.f.x6 disabled {y n l}} | ||||
global CONFIG_NOTAG | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu4.config.f.x7 normal {n l y}} else {configure_entry .menu4.config.f.x7 disabled {y n l}} | ||||
global CONFIG_IU_LDELAY | ||||
if {($CONFIG_LEON3 == 1)} then {.menu4.config.f.x8.x configure -state normal -foreground [ cget .ref -foreground ]; .menu4.config.f.x8.l configure -state normal; } else {.menu4.config.f.x8.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu4.config.f.x8.l configure -state disabled} | ||||
global CONFIG_IU_WATCHPOINTS | ||||
if {($CONFIG_LEON3 == 1)} then {.menu4.config.f.x9.x configure -state normal -foreground [ cget .ref -foreground ]; .menu4.config.f.x9.l configure -state normal; } else {.menu4.config.f.x9.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu4.config.f.x9.l configure -state disabled} | ||||
global CONFIG_PWD | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu4.config.f.x10 normal {n l y}} else {configure_entry .menu4.config.f.x10 disabled {y n l}} | ||||
global CONFIG_IU_RSTADDR | ||||
if {($CONFIG_LEON3 == 1)} then {.menu4.config.f.x11.x configure -state normal -foreground [ cget .ref -foreground ]; .menu4.config.f.x11.l configure -state normal; } else {.menu4.config.f.x11.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu4.config.f.x11.l configure -state disabled} | ||||
} | ||||
proc update_define_menu4 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_LEON3 | ||||
global CONFIG_IU_NWINDOWS | ||||
if {($CONFIG_LEON3 == 1)} then {validate_int CONFIG_IU_NWINDOWS "$CONFIG_IU_NWINDOWS" 8} | ||||
global CONFIG_IU_V8MULDIV | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_IU_V8MULDIV [expr $CONFIG_IU_V8MULDIV&15]} else {set CONFIG_IU_V8MULDIV [expr $CONFIG_IU_V8MULDIV|16]} | ||||
global tmpvar_3 | ||||
global CONFIG_IU_MUL_LATENCY_2 | ||||
if {$tmpvar_3 == "2-cycles"} then {set CONFIG_IU_MUL_LATENCY_2 1} else {set CONFIG_IU_MUL_LATENCY_2 0} | ||||
global CONFIG_IU_MUL_LATENCY_4 | ||||
if {$tmpvar_3 == "4-cycles"} then {set CONFIG_IU_MUL_LATENCY_4 1} else {set CONFIG_IU_MUL_LATENCY_4 0} | ||||
global CONFIG_IU_MUL_LATENCY_5 | ||||
if {$tmpvar_3 == "5-cycles"} then {set CONFIG_IU_MUL_LATENCY_5 1} else {set CONFIG_IU_MUL_LATENCY_5 0} | ||||
global CONFIG_IU_MUL_MAC | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_V8MULDIV == 1) && ($CONFIG_IU_MUL_LATENCY_4 == 1 || $CONFIG_IU_MUL_LATENCY_5 == 1)} then { | ||||
set CONFIG_IU_MUL_MAC [expr $CONFIG_IU_MUL_MAC&15]} else {set CONFIG_IU_MUL_MAC [expr $CONFIG_IU_MUL_MAC|16]} | ||||
global tmpvar_4 | ||||
global CONFIG_IU_MUL_INFERRED | ||||
if {$tmpvar_4 == "Inferred"} then {set CONFIG_IU_MUL_INFERRED 1} else {set CONFIG_IU_MUL_INFERRED 0} | ||||
global CONFIG_IU_MUL_MODGEN | ||||
if {$tmpvar_4 == "NTNU_Modgen"} then {set CONFIG_IU_MUL_MODGEN 1} else {set CONFIG_IU_MUL_MODGEN 0} | ||||
global CONFIG_IU_MUL_TECHSPEC | ||||
if {$tmpvar_4 == "TechSpec"} then {set CONFIG_IU_MUL_TECHSPEC 1} else {set CONFIG_IU_MUL_TECHSPEC 0} | ||||
global CONFIG_IU_MUL_DW | ||||
if {$tmpvar_4 == "Designware"} then {set CONFIG_IU_MUL_DW 1} else {set CONFIG_IU_MUL_DW 0} | ||||
global CONFIG_IU_BP | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_IU_BP [expr $CONFIG_IU_BP&15]} else {set CONFIG_IU_BP [expr $CONFIG_IU_BP|16]} | ||||
global CONFIG_IU_SVT | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_IU_SVT [expr $CONFIG_IU_SVT&15]} else {set CONFIG_IU_SVT [expr $CONFIG_IU_SVT|16]} | ||||
global CONFIG_NOTAG | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_NOTAG [expr $CONFIG_NOTAG&15]} else {set CONFIG_NOTAG [expr $CONFIG_NOTAG|16]} | ||||
global CONFIG_IU_LDELAY | ||||
if {($CONFIG_LEON3 == 1)} then {validate_int CONFIG_IU_LDELAY "$CONFIG_IU_LDELAY" 1} | ||||
global CONFIG_IU_WATCHPOINTS | ||||
if {($CONFIG_LEON3 == 1)} then {validate_int CONFIG_IU_WATCHPOINTS "$CONFIG_IU_WATCHPOINTS" 0} | ||||
global CONFIG_PWD | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_PWD [expr $CONFIG_PWD&15]} else {set CONFIG_PWD [expr $CONFIG_PWD|16]} | ||||
global CONFIG_IU_RSTADDR | ||||
if {($CONFIG_LEON3 == 1)} then {validate_hex CONFIG_IU_RSTADDR "$CONFIG_IU_RSTADDR" 00000} | ||||
} | ||||
proc menu5 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu3} | ||||
catch {destroy $w; unregister_active 5} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 5]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Floating-point unit" -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Floating-point unit" | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 5; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 5; menu6 .menu6 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 5" | ||||
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 5; menu4 .menu4 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 5; menu4 .menu4 \"$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 5 0 "Enable FPU " CONFIG_FPU_ENABLE | ||||
global tmpvar_5 | ||||
minimenu $w.config.f 5 1 "FPU core" tmpvar_5 CONFIG_FPU_GRFPU | ||||
menu $w.config.f.x1.x.menu -tearoffcommand "menutitle \"FPU core\"" | ||||
$w.config.f.x1.x.menu add radiobutton -label "GRFPU" -variable tmpvar_5 -value "GRFPU" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "GRFPU-LITE" -variable tmpvar_5 -value "GRFPU-LITE" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "Meiko" -variable tmpvar_5 -value "Meiko" -command "update_active" | ||||
menusplit $w $w.config.f.x1.x.menu 3 | ||||
global tmpvar_6 | ||||
minimenu $w.config.f 5 2 "GRFPU multiplier" tmpvar_6 CONFIG_FPU_GRFPU_INFMUL | ||||
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"GRFPU multiplier\"" | ||||
$w.config.f.x2.x.menu add radiobutton -label "Inferred" -variable tmpvar_6 -value "Inferred" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "DW" -variable tmpvar_6 -value "DW" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "ModGen" -variable tmpvar_6 -value "ModGen" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "TechSpec" -variable tmpvar_6 -value "TechSpec" -command "update_active" | ||||
menusplit $w $w.config.f.x2.x.menu 4 | ||||
bool $w.config.f 5 3 "Shared GRFPU " CONFIG_FPU_GRFPU_SH | ||||
global tmpvar_7 | ||||
minimenu $w.config.f 5 4 "GRFPU-LITE controller" tmpvar_7 CONFIG_FPU_GRFPC0 | ||||
menu $w.config.f.x4.x.menu -tearoffcommand "menutitle \"GRFPU-LITE controller\"" | ||||
$w.config.f.x4.x.menu add radiobutton -label "Simple" -variable tmpvar_7 -value "Simple" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "Data-forwarding" -variable tmpvar_7 -value "Data-forwarding" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "Non-blocking" -variable tmpvar_7 -value "Non-blocking" -command "update_active" | ||||
menusplit $w $w.config.f.x4.x.menu 3 | ||||
bool $w.config.f 5 5 "Use VHDL netlist " CONFIG_FPU_NETLIST | ||||
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 | ||||
} | ||||
} | ||||
proc update_menu5 {} { | ||||
global CONFIG_LEON3 | ||||
global CONFIG_FPU_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu5.config.f.x0 normal {n l y}} else {configure_entry .menu5.config.f.x0 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1)} then {configure_entry .menu5.config.f.x1 normal {x l}} else {configure_entry .menu5.config.f.x1 disabled {x l}} | ||||
global CONFIG_FPU_GRFPU | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_FPU_GRFPU == 1)} then {configure_entry .menu5.config.f.x2 normal {x l}} else {configure_entry .menu5.config.f.x2 disabled {x l}} | ||||
global CONFIG_HAS_SHARED_GRFPU | ||||
global CONFIG_FPU_GRFPU_SH | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_HAS_SHARED_GRFPU == 1 && $CONFIG_FPU_GRFPU == 1)} then { | ||||
configure_entry .menu5.config.f.x3 normal {n l y}} else {configure_entry .menu5.config.f.x3 disabled {y n l}} | ||||
global CONFIG_FPU_GRFPULITE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_FPU_GRFPULITE == 1)} then {configure_entry .menu5.config.f.x4 normal {x l}} else {configure_entry .menu5.config.f.x4 disabled {x l}} | ||||
global CONFIG_FPU_NETLIST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1)} then { | ||||
configure_entry .menu5.config.f.x5 normal {n l y}} else {configure_entry .menu5.config.f.x5 disabled {y n l}} | ||||
} | ||||
proc update_define_menu5 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_LEON3 | ||||
global CONFIG_FPU_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_FPU_ENABLE [expr $CONFIG_FPU_ENABLE&15]} else {set CONFIG_FPU_ENABLE [expr $CONFIG_FPU_ENABLE|16]} | ||||
global tmpvar_5 | ||||
global CONFIG_FPU_GRFPU | ||||
if {$tmpvar_5 == "GRFPU"} then {set CONFIG_FPU_GRFPU 1} else {set CONFIG_FPU_GRFPU 0} | ||||
global CONFIG_FPU_GRFPULITE | ||||
if {$tmpvar_5 == "GRFPU-LITE"} then {set CONFIG_FPU_GRFPULITE 1} else {set CONFIG_FPU_GRFPULITE 0} | ||||
global CONFIG_FPU_MEIKO | ||||
if {$tmpvar_5 == "Meiko"} then {set CONFIG_FPU_MEIKO 1} else {set CONFIG_FPU_MEIKO 0} | ||||
global tmpvar_6 | ||||
global CONFIG_FPU_GRFPU_INFMUL | ||||
if {$tmpvar_6 == "Inferred"} then {set CONFIG_FPU_GRFPU_INFMUL 1} else {set CONFIG_FPU_GRFPU_INFMUL 0} | ||||
global CONFIG_FPU_GRFPU_DWMUL | ||||
if {$tmpvar_6 == "DW"} then {set CONFIG_FPU_GRFPU_DWMUL 1} else {set CONFIG_FPU_GRFPU_DWMUL 0} | ||||
global CONFIG_FPU_GRFPU_MODGEN | ||||
if {$tmpvar_6 == "ModGen"} then {set CONFIG_FPU_GRFPU_MODGEN 1} else {set CONFIG_FPU_GRFPU_MODGEN 0} | ||||
global CONFIG_FPU_GRFPU_TECHSPEC | ||||
if {$tmpvar_6 == "TechSpec"} then {set CONFIG_FPU_GRFPU_TECHSPEC 1} else {set CONFIG_FPU_GRFPU_TECHSPEC 0} | ||||
global CONFIG_HAS_SHARED_GRFPU | ||||
global CONFIG_FPU_GRFPU_SH | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_HAS_SHARED_GRFPU == 1 && $CONFIG_FPU_GRFPU == 1)} then { | ||||
set CONFIG_FPU_GRFPU_SH [expr $CONFIG_FPU_GRFPU_SH&15]} else {set CONFIG_FPU_GRFPU_SH [expr $CONFIG_FPU_GRFPU_SH|16]} | ||||
global tmpvar_7 | ||||
global CONFIG_FPU_GRFPC0 | ||||
if {$tmpvar_7 == "Simple"} then {set CONFIG_FPU_GRFPC0 1} else {set CONFIG_FPU_GRFPC0 0} | ||||
global CONFIG_FPU_GRFPC1 | ||||
if {$tmpvar_7 == "Data-forwarding"} then {set CONFIG_FPU_GRFPC1 1} else {set CONFIG_FPU_GRFPC1 0} | ||||
global CONFIG_FPU_GRFPC2 | ||||
if {$tmpvar_7 == "Non-blocking"} then {set CONFIG_FPU_GRFPC2 1} else {set CONFIG_FPU_GRFPC2 0} | ||||
global CONFIG_FPU_NETLIST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1)} then { | ||||
set CONFIG_FPU_NETLIST [expr $CONFIG_FPU_NETLIST&15]} else {set CONFIG_FPU_NETLIST [expr $CONFIG_FPU_NETLIST|16]} | ||||
} | ||||
proc menu6 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu3} | ||||
catch {destroy $w; unregister_active 6} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 6]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Cache system" -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Cache system" | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 6; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 6; menu7 .menu7 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 6" | ||||
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 6; menu5 .menu5 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 6; menu5 .menu5 \"$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 6 0 "Enable instruction cache " CONFIG_ICACHE_ENABLE | ||||
global tmpvar_8 | ||||
minimenu $w.config.f 6 1 "Associativity (sets) " tmpvar_8 CONFIG_ICACHE_ASSO1 | ||||
menu $w.config.f.x1.x.menu -tearoffcommand "menutitle \"Associativity (sets) \"" | ||||
$w.config.f.x1.x.menu add radiobutton -label "1" -variable tmpvar_8 -value "1" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "2" -variable tmpvar_8 -value "2" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "3" -variable tmpvar_8 -value "3" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "4" -variable tmpvar_8 -value "4" -command "update_active" | ||||
menusplit $w $w.config.f.x1.x.menu 4 | ||||
global tmpvar_9 | ||||
minimenu $w.config.f 6 2 "Way size (kbytes/way)" tmpvar_9 CONFIG_ICACHE_SZ1 | ||||
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"Way size (kbytes/way)\"" | ||||
$w.config.f.x2.x.menu add radiobutton -label "1" -variable tmpvar_9 -value "1" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "2" -variable tmpvar_9 -value "2" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "4" -variable tmpvar_9 -value "4" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "8" -variable tmpvar_9 -value "8" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "16" -variable tmpvar_9 -value "16" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "32" -variable tmpvar_9 -value "32" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "64" -variable tmpvar_9 -value "64" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "128" -variable tmpvar_9 -value "128" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "256" -variable tmpvar_9 -value "256" -command "update_active" | ||||
menusplit $w $w.config.f.x2.x.menu 9 | ||||
global tmpvar_10 | ||||
minimenu $w.config.f 6 3 "Line size (bytes/line)" tmpvar_10 CONFIG_ICACHE_LZ16 | ||||
menu $w.config.f.x3.x.menu -tearoffcommand "menutitle \"Line size (bytes/line)\"" | ||||
$w.config.f.x3.x.menu add radiobutton -label "16" -variable tmpvar_10 -value "16" -command "update_active" | ||||
$w.config.f.x3.x.menu add radiobutton -label "32" -variable tmpvar_10 -value "32" -command "update_active" | ||||
menusplit $w $w.config.f.x3.x.menu 2 | ||||
global tmpvar_11 | ||||
minimenu $w.config.f 6 4 "Replacement alorithm" tmpvar_11 CONFIG_ICACHE_ALGORND | ||||
menu $w.config.f.x4.x.menu -tearoffcommand "menutitle \"Replacement alorithm\"" | ||||
$w.config.f.x4.x.menu add radiobutton -label "Random" -variable tmpvar_11 -value "Random" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "Direct" -variable tmpvar_11 -value "Direct" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "LRR" -variable tmpvar_11 -value "LRR" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "LRU" -variable tmpvar_11 -value "LRU" -command "update_active" | ||||
menusplit $w $w.config.f.x4.x.menu 4 | ||||
bool $w.config.f 6 5 "Cache locking " CONFIG_ICACHE_LOCK | ||||
bool $w.config.f 6 6 "Enable local instruction RAM " CONFIG_ICACHE_LRAM | ||||
global tmpvar_12 | ||||
minimenu $w.config.f 6 7 "Local data RAM size (kbytes)" tmpvar_12 CONFIG_ICACHE_LRAM_SZ1 | ||||
menu $w.config.f.x7.x.menu -tearoffcommand "menutitle \"Local data RAM size (kbytes)\"" | ||||
$w.config.f.x7.x.menu add radiobutton -label "1" -variable tmpvar_12 -value "1" -command "update_active" | ||||
$w.config.f.x7.x.menu add radiobutton -label "2" -variable tmpvar_12 -value "2" -command "update_active" | ||||
$w.config.f.x7.x.menu add radiobutton -label "4" -variable tmpvar_12 -value "4" -command "update_active" | ||||
$w.config.f.x7.x.menu add radiobutton -label "8" -variable tmpvar_12 -value "8" -command "update_active" | ||||
$w.config.f.x7.x.menu add radiobutton -label "16" -variable tmpvar_12 -value "16" -command "update_active" | ||||
$w.config.f.x7.x.menu add radiobutton -label "32" -variable tmpvar_12 -value "32" -command "update_active" | ||||
$w.config.f.x7.x.menu add radiobutton -label "64" -variable tmpvar_12 -value "64" -command "update_active" | ||||
$w.config.f.x7.x.menu add radiobutton -label "128" -variable tmpvar_12 -value "128" -command "update_active" | ||||
$w.config.f.x7.x.menu add radiobutton -label "256" -variable tmpvar_12 -value "256" -command "update_active" | ||||
menusplit $w $w.config.f.x7.x.menu 9 | ||||
hex $w.config.f 6 8 " Local instruction RAM start address (8 MSB) " CONFIG_ICACHE_LRSTART | ||||
bool $w.config.f 6 9 "Enable data cache " CONFIG_DCACHE_ENABLE | ||||
global tmpvar_13 | ||||
minimenu $w.config.f 6 10 "Associativity (sets)" tmpvar_13 CONFIG_DCACHE_ASSO1 | ||||
menu $w.config.f.x10.x.menu -tearoffcommand "menutitle \"Associativity (sets)\"" | ||||
$w.config.f.x10.x.menu add radiobutton -label "1" -variable tmpvar_13 -value "1" -command "update_active" | ||||
$w.config.f.x10.x.menu add radiobutton -label "2" -variable tmpvar_13 -value "2" -command "update_active" | ||||
$w.config.f.x10.x.menu add radiobutton -label "3" -variable tmpvar_13 -value "3" -command "update_active" | ||||
$w.config.f.x10.x.menu add radiobutton -label "4" -variable tmpvar_13 -value "4" -command "update_active" | ||||
menusplit $w $w.config.f.x10.x.menu 4 | ||||
global tmpvar_14 | ||||
minimenu $w.config.f 6 11 "Set size (kbytes/set)" tmpvar_14 CONFIG_DCACHE_SZ1 | ||||
menu $w.config.f.x11.x.menu -tearoffcommand "menutitle \"Set size (kbytes/set)\"" | ||||
$w.config.f.x11.x.menu add radiobutton -label "1" -variable tmpvar_14 -value "1" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "2" -variable tmpvar_14 -value "2" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "4" -variable tmpvar_14 -value "4" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "8" -variable tmpvar_14 -value "8" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "16" -variable tmpvar_14 -value "16" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "32" -variable tmpvar_14 -value "32" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "64" -variable tmpvar_14 -value "64" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "128" -variable tmpvar_14 -value "128" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "256" -variable tmpvar_14 -value "256" -command "update_active" | ||||
menusplit $w $w.config.f.x11.x.menu 9 | ||||
global tmpvar_15 | ||||
minimenu $w.config.f 6 12 "Line size (bytes/line)" tmpvar_15 CONFIG_DCACHE_LZ16 | ||||
menu $w.config.f.x12.x.menu -tearoffcommand "menutitle \"Line size (bytes/line)\"" | ||||
$w.config.f.x12.x.menu add radiobutton -label "16" -variable tmpvar_15 -value "16" -command "update_active" | ||||
$w.config.f.x12.x.menu add radiobutton -label "32" -variable tmpvar_15 -value "32" -command "update_active" | ||||
menusplit $w $w.config.f.x12.x.menu 2 | ||||
global tmpvar_16 | ||||
minimenu $w.config.f 6 13 "Replacement alorithm" tmpvar_16 CONFIG_DCACHE_ALGORND | ||||
menu $w.config.f.x13.x.menu -tearoffcommand "menutitle \"Replacement alorithm\"" | ||||
$w.config.f.x13.x.menu add radiobutton -label "Random" -variable tmpvar_16 -value "Random" -command "update_active" | ||||
$w.config.f.x13.x.menu add radiobutton -label "Direct" -variable tmpvar_16 -value "Direct" -command "update_active" | ||||
$w.config.f.x13.x.menu add radiobutton -label "LRR" -variable tmpvar_16 -value "LRR" -command "update_active" | ||||
$w.config.f.x13.x.menu add radiobutton -label "LRU" -variable tmpvar_16 -value "LRU" -command "update_active" | ||||
menusplit $w $w.config.f.x13.x.menu 4 | ||||
bool $w.config.f 6 14 "Cache locking " CONFIG_DCACHE_LOCK | ||||
bool $w.config.f 6 15 "AHB snooping " CONFIG_DCACHE_SNOOP | ||||
bool $w.config.f 6 16 "Fast snooping " CONFIG_DCACHE_SNOOP_FAST | ||||
bool $w.config.f 6 17 "Separate snoop tags " CONFIG_DCACHE_SNOOP_SEPTAG | ||||
hex $w.config.f 6 18 "Fixed cacheability map " CONFIG_CACHE_FIXED | ||||
bool $w.config.f 6 19 "Enable local data RAM " CONFIG_DCACHE_LRAM | ||||
global tmpvar_17 | ||||
minimenu $w.config.f 6 20 "Local data RAM size (kbytes)" tmpvar_17 CONFIG_DCACHE_LRAM_SZ1 | ||||
menu $w.config.f.x20.x.menu -tearoffcommand "menutitle \"Local data RAM size (kbytes)\"" | ||||
$w.config.f.x20.x.menu add radiobutton -label "1" -variable tmpvar_17 -value "1" -command "update_active" | ||||
$w.config.f.x20.x.menu add radiobutton -label "2" -variable tmpvar_17 -value "2" -command "update_active" | ||||
$w.config.f.x20.x.menu add radiobutton -label "4" -variable tmpvar_17 -value "4" -command "update_active" | ||||
$w.config.f.x20.x.menu add radiobutton -label "8" -variable tmpvar_17 -value "8" -command "update_active" | ||||
$w.config.f.x20.x.menu add radiobutton -label "16" -variable tmpvar_17 -value "16" -command "update_active" | ||||
$w.config.f.x20.x.menu add radiobutton -label "32" -variable tmpvar_17 -value "32" -command "update_active" | ||||
$w.config.f.x20.x.menu add radiobutton -label "64" -variable tmpvar_17 -value "64" -command "update_active" | ||||
$w.config.f.x20.x.menu add radiobutton -label "128" -variable tmpvar_17 -value "128" -command "update_active" | ||||
$w.config.f.x20.x.menu add radiobutton -label "256" -variable tmpvar_17 -value "256" -command "update_active" | ||||
menusplit $w $w.config.f.x20.x.menu 9 | ||||
hex $w.config.f 6 21 " Local data RAM start address (8 MSB) " CONFIG_DCACHE_LRSTART | ||||
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 | ||||
} | ||||
} | ||||
proc update_menu6 {} { | ||||
global CONFIG_LEON3 | ||||
global CONFIG_ICACHE_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu6.config.f.x0 normal {n l y}} else {configure_entry .menu6.config.f.x0 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then {configure_entry .menu6.config.f.x1 normal {x l}} else {configure_entry .menu6.config.f.x1 disabled {x l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then {configure_entry .menu6.config.f.x2 normal {x l}} else {configure_entry .menu6.config.f.x2 disabled {x l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then {configure_entry .menu6.config.f.x3 normal {x l}} else {configure_entry .menu6.config.f.x3 disabled {x l}} | ||||
global CONFIG_ICACHE_ASSO1 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1) && ($CONFIG_ICACHE_ASSO1 != 1)} then {configure_entry .menu6.config.f.x4 normal {x l}} else {configure_entry .menu6.config.f.x4 disabled {x l}} | ||||
global CONFIG_ICACHE_LOCK | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1) && ($CONFIG_ICACHE_ASSO1 != 1)} then { | ||||
configure_entry .menu6.config.f.x5 normal {n l y}} else {configure_entry .menu6.config.f.x5 disabled {y n l}} | ||||
global CONFIG_MMU_ENABLE | ||||
global CONFIG_ICACHE_LRAM | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE != 1)} then { | ||||
configure_entry .menu6.config.f.x6 normal {n l y}} else {configure_entry .menu6.config.f.x6 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_LRAM == 1)} then {configure_entry .menu6.config.f.x7 normal {x l}} else {configure_entry .menu6.config.f.x7 disabled {x l}} | ||||
global CONFIG_ICACHE_LRSTART | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_LRAM == 1)} then {.menu6.config.f.x8.x configure -state normal -foreground [ cget .ref -foreground ]; .menu6.config.f.x8.l configure -state normal; } else {.menu6.config.f.x8.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu6.config.f.x8.l configure -state disabled} | ||||
global CONFIG_DCACHE_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu6.config.f.x9 normal {n l y}} else {configure_entry .menu6.config.f.x9 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then {configure_entry .menu6.config.f.x10 normal {x l}} else {configure_entry .menu6.config.f.x10 disabled {x l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then {configure_entry .menu6.config.f.x11 normal {x l}} else {configure_entry .menu6.config.f.x11 disabled {x l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then {configure_entry .menu6.config.f.x12 normal {x l}} else {configure_entry .menu6.config.f.x12 disabled {x l}} | ||||
global CONFIG_DCACHE_ASSO1 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_ASSO1 != 1)} then {configure_entry .menu6.config.f.x13 normal {x l}} else {configure_entry .menu6.config.f.x13 disabled {x l}} | ||||
global CONFIG_DCACHE_LOCK | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_ASSO1 != 1)} then { | ||||
configure_entry .menu6.config.f.x14 normal {n l y}} else {configure_entry .menu6.config.f.x14 disabled {y n l}} | ||||
global CONFIG_DCACHE_SNOOP | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then { | ||||
configure_entry .menu6.config.f.x15 normal {n l y}} else {configure_entry .menu6.config.f.x15 disabled {y n l}} | ||||
global CONFIG_DCACHE_SNOOP_FAST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_SNOOP == 1)} then { | ||||
configure_entry .menu6.config.f.x16 normal {n l y}} else {configure_entry .menu6.config.f.x16 disabled {y n l}} | ||||
global CONFIG_DCACHE_SNOOP_SEPTAG | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_SNOOP == 1)} then { | ||||
configure_entry .menu6.config.f.x17 normal {n l y}} else {configure_entry .menu6.config.f.x17 disabled {y n l}} | ||||
global CONFIG_CACHE_FIXED | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1 || $CONFIG_DCACHE_ENABLE == 1)} then {.menu6.config.f.x18.x configure -state normal -foreground [ cget .ref -foreground ]; .menu6.config.f.x18.l configure -state normal; } else {.menu6.config.f.x18.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu6.config.f.x18.l configure -state disabled} | ||||
global CONFIG_DCACHE_LRAM | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE != 1)} then { | ||||
configure_entry .menu6.config.f.x19 normal {n l y}} else {configure_entry .menu6.config.f.x19 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_LRAM == 1)} then {configure_entry .menu6.config.f.x20 normal {x l}} else {configure_entry .menu6.config.f.x20 disabled {x l}} | ||||
global CONFIG_DCACHE_LRSTART | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_LRAM == 1)} then {.menu6.config.f.x21.x configure -state normal -foreground [ cget .ref -foreground ]; .menu6.config.f.x21.l configure -state normal; } else {.menu6.config.f.x21.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu6.config.f.x21.l configure -state disabled} | ||||
} | ||||
proc update_define_menu6 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_LEON3 | ||||
global CONFIG_ICACHE_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_ICACHE_ENABLE [expr $CONFIG_ICACHE_ENABLE&15]} else {set CONFIG_ICACHE_ENABLE [expr $CONFIG_ICACHE_ENABLE|16]} | ||||
global tmpvar_8 | ||||
global CONFIG_ICACHE_ASSO1 | ||||
if {$tmpvar_8 == "1"} then {set CONFIG_ICACHE_ASSO1 1} else {set CONFIG_ICACHE_ASSO1 0} | ||||
global CONFIG_ICACHE_ASSO2 | ||||
if {$tmpvar_8 == "2"} then {set CONFIG_ICACHE_ASSO2 1} else {set CONFIG_ICACHE_ASSO2 0} | ||||
global CONFIG_ICACHE_ASSO3 | ||||
if {$tmpvar_8 == "3"} then {set CONFIG_ICACHE_ASSO3 1} else {set CONFIG_ICACHE_ASSO3 0} | ||||
global CONFIG_ICACHE_ASSO4 | ||||
if {$tmpvar_8 == "4"} then {set CONFIG_ICACHE_ASSO4 1} else {set CONFIG_ICACHE_ASSO4 0} | ||||
global tmpvar_9 | ||||
global CONFIG_ICACHE_SZ1 | ||||
if {$tmpvar_9 == "1"} then {set CONFIG_ICACHE_SZ1 1} else {set CONFIG_ICACHE_SZ1 0} | ||||
global CONFIG_ICACHE_SZ2 | ||||
if {$tmpvar_9 == "2"} then {set CONFIG_ICACHE_SZ2 1} else {set CONFIG_ICACHE_SZ2 0} | ||||
global CONFIG_ICACHE_SZ4 | ||||
if {$tmpvar_9 == "4"} then {set CONFIG_ICACHE_SZ4 1} else {set CONFIG_ICACHE_SZ4 0} | ||||
global CONFIG_ICACHE_SZ8 | ||||
if {$tmpvar_9 == "8"} then {set CONFIG_ICACHE_SZ8 1} else {set CONFIG_ICACHE_SZ8 0} | ||||
global CONFIG_ICACHE_SZ16 | ||||
if {$tmpvar_9 == "16"} then {set CONFIG_ICACHE_SZ16 1} else {set CONFIG_ICACHE_SZ16 0} | ||||
global CONFIG_ICACHE_SZ32 | ||||
if {$tmpvar_9 == "32"} then {set CONFIG_ICACHE_SZ32 1} else {set CONFIG_ICACHE_SZ32 0} | ||||
global CONFIG_ICACHE_SZ64 | ||||
if {$tmpvar_9 == "64"} then {set CONFIG_ICACHE_SZ64 1} else {set CONFIG_ICACHE_SZ64 0} | ||||
global CONFIG_ICACHE_SZ128 | ||||
if {$tmpvar_9 == "128"} then {set CONFIG_ICACHE_SZ128 1} else {set CONFIG_ICACHE_SZ128 0} | ||||
global CONFIG_ICACHE_SZ256 | ||||
if {$tmpvar_9 == "256"} then {set CONFIG_ICACHE_SZ256 1} else {set CONFIG_ICACHE_SZ256 0} | ||||
global tmpvar_10 | ||||
global CONFIG_ICACHE_LZ16 | ||||
if {$tmpvar_10 == "16"} then {set CONFIG_ICACHE_LZ16 1} else {set CONFIG_ICACHE_LZ16 0} | ||||
global CONFIG_ICACHE_LZ32 | ||||
if {$tmpvar_10 == "32"} then {set CONFIG_ICACHE_LZ32 1} else {set CONFIG_ICACHE_LZ32 0} | ||||
global tmpvar_11 | ||||
global CONFIG_ICACHE_ALGORND | ||||
if {$tmpvar_11 == "Random"} then {set CONFIG_ICACHE_ALGORND 1} else {set CONFIG_ICACHE_ALGORND 0} | ||||
global CONFIG_ICACHE_ALGODIR | ||||
if {$tmpvar_11 == "Direct"} then {set CONFIG_ICACHE_ALGODIR 1} else {set CONFIG_ICACHE_ALGODIR 0} | ||||
global CONFIG_ICACHE_ALGOLRR | ||||
if {$tmpvar_11 == "LRR"} then {set CONFIG_ICACHE_ALGOLRR 1} else {set CONFIG_ICACHE_ALGOLRR 0} | ||||
global CONFIG_ICACHE_ALGOLRU | ||||
if {$tmpvar_11 == "LRU"} then {set CONFIG_ICACHE_ALGOLRU 1} else {set CONFIG_ICACHE_ALGOLRU 0} | ||||
global CONFIG_ICACHE_LOCK | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1) && ($CONFIG_ICACHE_ASSO1 != 1)} then { | ||||
set CONFIG_ICACHE_LOCK [expr $CONFIG_ICACHE_LOCK&15]} else {set CONFIG_ICACHE_LOCK [expr $CONFIG_ICACHE_LOCK|16]} | ||||
global CONFIG_MMU_ENABLE | ||||
global CONFIG_ICACHE_LRAM | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE != 1)} then { | ||||
set CONFIG_ICACHE_LRAM [expr $CONFIG_ICACHE_LRAM&15]} else {set CONFIG_ICACHE_LRAM [expr $CONFIG_ICACHE_LRAM|16]} | ||||
global tmpvar_12 | ||||
global CONFIG_ICACHE_LRAM_SZ1 | ||||
if {$tmpvar_12 == "1"} then {set CONFIG_ICACHE_LRAM_SZ1 1} else {set CONFIG_ICACHE_LRAM_SZ1 0} | ||||
global CONFIG_ICACHE_LRAM_SZ2 | ||||
if {$tmpvar_12 == "2"} then {set CONFIG_ICACHE_LRAM_SZ2 1} else {set CONFIG_ICACHE_LRAM_SZ2 0} | ||||
global CONFIG_ICACHE_LRAM_SZ4 | ||||
if {$tmpvar_12 == "4"} then {set CONFIG_ICACHE_LRAM_SZ4 1} else {set CONFIG_ICACHE_LRAM_SZ4 0} | ||||
global CONFIG_ICACHE_LRAM_SZ8 | ||||
if {$tmpvar_12 == "8"} then {set CONFIG_ICACHE_LRAM_SZ8 1} else {set CONFIG_ICACHE_LRAM_SZ8 0} | ||||
global CONFIG_ICACHE_LRAM_SZ16 | ||||
if {$tmpvar_12 == "16"} then {set CONFIG_ICACHE_LRAM_SZ16 1} else {set CONFIG_ICACHE_LRAM_SZ16 0} | ||||
global CONFIG_ICACHE_LRAM_SZ32 | ||||
if {$tmpvar_12 == "32"} then {set CONFIG_ICACHE_LRAM_SZ32 1} else {set CONFIG_ICACHE_LRAM_SZ32 0} | ||||
global CONFIG_ICACHE_LRAM_SZ64 | ||||
if {$tmpvar_12 == "64"} then {set CONFIG_ICACHE_LRAM_SZ64 1} else {set CONFIG_ICACHE_LRAM_SZ64 0} | ||||
global CONFIG_ICACHE_LRAM_SZ128 | ||||
if {$tmpvar_12 == "128"} then {set CONFIG_ICACHE_LRAM_SZ128 1} else {set CONFIG_ICACHE_LRAM_SZ128 0} | ||||
global CONFIG_ICACHE_LRAM_SZ256 | ||||
if {$tmpvar_12 == "256"} then {set CONFIG_ICACHE_LRAM_SZ256 1} else {set CONFIG_ICACHE_LRAM_SZ256 0} | ||||
global CONFIG_ICACHE_LRSTART | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_LRAM == 1)} then {validate_hex CONFIG_ICACHE_LRSTART "$CONFIG_ICACHE_LRSTART" 8e} | ||||
global CONFIG_DCACHE_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_DCACHE_ENABLE [expr $CONFIG_DCACHE_ENABLE&15]} else {set CONFIG_DCACHE_ENABLE [expr $CONFIG_DCACHE_ENABLE|16]} | ||||
global tmpvar_13 | ||||
global CONFIG_DCACHE_ASSO1 | ||||
if {$tmpvar_13 == "1"} then {set CONFIG_DCACHE_ASSO1 1} else {set CONFIG_DCACHE_ASSO1 0} | ||||
global CONFIG_DCACHE_ASSO2 | ||||
if {$tmpvar_13 == "2"} then {set CONFIG_DCACHE_ASSO2 1} else {set CONFIG_DCACHE_ASSO2 0} | ||||
global CONFIG_DCACHE_ASSO3 | ||||
if {$tmpvar_13 == "3"} then {set CONFIG_DCACHE_ASSO3 1} else {set CONFIG_DCACHE_ASSO3 0} | ||||
global CONFIG_DCACHE_ASSO4 | ||||
if {$tmpvar_13 == "4"} then {set CONFIG_DCACHE_ASSO4 1} else {set CONFIG_DCACHE_ASSO4 0} | ||||
global tmpvar_14 | ||||
global CONFIG_DCACHE_SZ1 | ||||
if {$tmpvar_14 == "1"} then {set CONFIG_DCACHE_SZ1 1} else {set CONFIG_DCACHE_SZ1 0} | ||||
global CONFIG_DCACHE_SZ2 | ||||
if {$tmpvar_14 == "2"} then {set CONFIG_DCACHE_SZ2 1} else {set CONFIG_DCACHE_SZ2 0} | ||||
global CONFIG_DCACHE_SZ4 | ||||
if {$tmpvar_14 == "4"} then {set CONFIG_DCACHE_SZ4 1} else {set CONFIG_DCACHE_SZ4 0} | ||||
global CONFIG_DCACHE_SZ8 | ||||
if {$tmpvar_14 == "8"} then {set CONFIG_DCACHE_SZ8 1} else {set CONFIG_DCACHE_SZ8 0} | ||||
global CONFIG_DCACHE_SZ16 | ||||
if {$tmpvar_14 == "16"} then {set CONFIG_DCACHE_SZ16 1} else {set CONFIG_DCACHE_SZ16 0} | ||||
global CONFIG_DCACHE_SZ32 | ||||
if {$tmpvar_14 == "32"} then {set CONFIG_DCACHE_SZ32 1} else {set CONFIG_DCACHE_SZ32 0} | ||||
global CONFIG_DCACHE_SZ64 | ||||
if {$tmpvar_14 == "64"} then {set CONFIG_DCACHE_SZ64 1} else {set CONFIG_DCACHE_SZ64 0} | ||||
global CONFIG_DCACHE_SZ128 | ||||
if {$tmpvar_14 == "128"} then {set CONFIG_DCACHE_SZ128 1} else {set CONFIG_DCACHE_SZ128 0} | ||||
global CONFIG_DCACHE_SZ256 | ||||
if {$tmpvar_14 == "256"} then {set CONFIG_DCACHE_SZ256 1} else {set CONFIG_DCACHE_SZ256 0} | ||||
global tmpvar_15 | ||||
global CONFIG_DCACHE_LZ16 | ||||
if {$tmpvar_15 == "16"} then {set CONFIG_DCACHE_LZ16 1} else {set CONFIG_DCACHE_LZ16 0} | ||||
global CONFIG_DCACHE_LZ32 | ||||
if {$tmpvar_15 == "32"} then {set CONFIG_DCACHE_LZ32 1} else {set CONFIG_DCACHE_LZ32 0} | ||||
global tmpvar_16 | ||||
global CONFIG_DCACHE_ALGORND | ||||
if {$tmpvar_16 == "Random"} then {set CONFIG_DCACHE_ALGORND 1} else {set CONFIG_DCACHE_ALGORND 0} | ||||
global CONFIG_DCACHE_ALGODIR | ||||
if {$tmpvar_16 == "Direct"} then {set CONFIG_DCACHE_ALGODIR 1} else {set CONFIG_DCACHE_ALGODIR 0} | ||||
global CONFIG_DCACHE_ALGOLRR | ||||
if {$tmpvar_16 == "LRR"} then {set CONFIG_DCACHE_ALGOLRR 1} else {set CONFIG_DCACHE_ALGOLRR 0} | ||||
global CONFIG_DCACHE_ALGOLRU | ||||
if {$tmpvar_16 == "LRU"} then {set CONFIG_DCACHE_ALGOLRU 1} else {set CONFIG_DCACHE_ALGOLRU 0} | ||||
global CONFIG_DCACHE_LOCK | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_ASSO1 != 1)} then { | ||||
set CONFIG_DCACHE_LOCK [expr $CONFIG_DCACHE_LOCK&15]} else {set CONFIG_DCACHE_LOCK [expr $CONFIG_DCACHE_LOCK|16]} | ||||
global CONFIG_DCACHE_SNOOP | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then { | ||||
set CONFIG_DCACHE_SNOOP [expr $CONFIG_DCACHE_SNOOP&15]} else {set CONFIG_DCACHE_SNOOP [expr $CONFIG_DCACHE_SNOOP|16]} | ||||
global CONFIG_DCACHE_SNOOP_FAST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_SNOOP == 1)} then { | ||||
set CONFIG_DCACHE_SNOOP_FAST [expr $CONFIG_DCACHE_SNOOP_FAST&15]} else {set CONFIG_DCACHE_SNOOP_FAST [expr $CONFIG_DCACHE_SNOOP_FAST|16]} | ||||
global CONFIG_DCACHE_SNOOP_SEPTAG | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_SNOOP == 1)} then { | ||||
set CONFIG_DCACHE_SNOOP_SEPTAG [expr $CONFIG_DCACHE_SNOOP_SEPTAG&15]} else {set CONFIG_DCACHE_SNOOP_SEPTAG [expr $CONFIG_DCACHE_SNOOP_SEPTAG|16]} | ||||
global CONFIG_CACHE_FIXED | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1 || $CONFIG_DCACHE_ENABLE == 1)} then {validate_hex CONFIG_CACHE_FIXED "$CONFIG_CACHE_FIXED" 0} | ||||
global CONFIG_DCACHE_LRAM | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE != 1)} then { | ||||
set CONFIG_DCACHE_LRAM [expr $CONFIG_DCACHE_LRAM&15]} else {set CONFIG_DCACHE_LRAM [expr $CONFIG_DCACHE_LRAM|16]} | ||||
global tmpvar_17 | ||||
global CONFIG_DCACHE_LRAM_SZ1 | ||||
if {$tmpvar_17 == "1"} then {set CONFIG_DCACHE_LRAM_SZ1 1} else {set CONFIG_DCACHE_LRAM_SZ1 0} | ||||
global CONFIG_DCACHE_LRAM_SZ2 | ||||
if {$tmpvar_17 == "2"} then {set CONFIG_DCACHE_LRAM_SZ2 1} else {set CONFIG_DCACHE_LRAM_SZ2 0} | ||||
global CONFIG_DCACHE_LRAM_SZ4 | ||||
if {$tmpvar_17 == "4"} then {set CONFIG_DCACHE_LRAM_SZ4 1} else {set CONFIG_DCACHE_LRAM_SZ4 0} | ||||
global CONFIG_DCACHE_LRAM_SZ8 | ||||
if {$tmpvar_17 == "8"} then {set CONFIG_DCACHE_LRAM_SZ8 1} else {set CONFIG_DCACHE_LRAM_SZ8 0} | ||||
global CONFIG_DCACHE_LRAM_SZ16 | ||||
if {$tmpvar_17 == "16"} then {set CONFIG_DCACHE_LRAM_SZ16 1} else {set CONFIG_DCACHE_LRAM_SZ16 0} | ||||
global CONFIG_DCACHE_LRAM_SZ32 | ||||
if {$tmpvar_17 == "32"} then {set CONFIG_DCACHE_LRAM_SZ32 1} else {set CONFIG_DCACHE_LRAM_SZ32 0} | ||||
global CONFIG_DCACHE_LRAM_SZ64 | ||||
if {$tmpvar_17 == "64"} then {set CONFIG_DCACHE_LRAM_SZ64 1} else {set CONFIG_DCACHE_LRAM_SZ64 0} | ||||
global CONFIG_DCACHE_LRAM_SZ128 | ||||
if {$tmpvar_17 == "128"} then {set CONFIG_DCACHE_LRAM_SZ128 1} else {set CONFIG_DCACHE_LRAM_SZ128 0} | ||||
global CONFIG_DCACHE_LRAM_SZ256 | ||||
if {$tmpvar_17 == "256"} then {set CONFIG_DCACHE_LRAM_SZ256 1} else {set CONFIG_DCACHE_LRAM_SZ256 0} | ||||
global CONFIG_DCACHE_LRSTART | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_LRAM == 1)} then {validate_hex CONFIG_DCACHE_LRSTART "$CONFIG_DCACHE_LRSTART" 8f} | ||||
} | ||||
proc menu7 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu3} | ||||
catch {destroy $w; unregister_active 7} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 7]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"MMU" -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "MMU" | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 7; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 7; menu8 .menu8 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 7" | ||||
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 7; menu6 .menu6 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 7; menu6 .menu6 \"$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 7 0 "Enable MMU " CONFIG_MMU_ENABLE | ||||
global tmpvar_18 | ||||
minimenu $w.config.f 7 1 "MMU type " tmpvar_18 CONFIG_MMU_COMBINED | ||||
menu $w.config.f.x1.x.menu -tearoffcommand "menutitle \"MMU type \"" | ||||
$w.config.f.x1.x.menu add radiobutton -label "combined" -variable tmpvar_18 -value "combined" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "split" -variable tmpvar_18 -value "split" -command "update_active" | ||||
menusplit $w $w.config.f.x1.x.menu 2 | ||||
global tmpvar_19 | ||||
minimenu $w.config.f 7 2 "TLB replacement sheme " tmpvar_19 CONFIG_MMU_REPARRAY | ||||
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"TLB replacement sheme \"" | ||||
$w.config.f.x2.x.menu add radiobutton -label "LRU" -variable tmpvar_19 -value "LRU" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "Increment" -variable tmpvar_19 -value "Increment" -command "update_active" | ||||
menusplit $w $w.config.f.x2.x.menu 2 | ||||
global tmpvar_20 | ||||
minimenu $w.config.f 7 3 "Instruction (or combined) TLB entries" tmpvar_20 CONFIG_MMU_I2 | ||||
menu $w.config.f.x3.x.menu -tearoffcommand "menutitle \"Instruction (or combined) TLB entries\"" | ||||
$w.config.f.x3.x.menu add radiobutton -label "2" -variable tmpvar_20 -value "2" -command "update_active" | ||||
$w.config.f.x3.x.menu add radiobutton -label "4" -variable tmpvar_20 -value "4" -command "update_active" | ||||
$w.config.f.x3.x.menu add radiobutton -label "8" -variable tmpvar_20 -value "8" -command "update_active" | ||||
$w.config.f.x3.x.menu add radiobutton -label "16" -variable tmpvar_20 -value "16" -command "update_active" | ||||
$w.config.f.x3.x.menu add radiobutton -label "32" -variable tmpvar_20 -value "32" -command "update_active" | ||||
menusplit $w $w.config.f.x3.x.menu 5 | ||||
global tmpvar_21 | ||||
minimenu $w.config.f 7 4 "Data TLB entries" tmpvar_21 CONFIG_MMU_D2 | ||||
menu $w.config.f.x4.x.menu -tearoffcommand "menutitle \"Data TLB entries\"" | ||||
$w.config.f.x4.x.menu add radiobutton -label "2" -variable tmpvar_21 -value "2" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "4" -variable tmpvar_21 -value "4" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "8" -variable tmpvar_21 -value "8" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "16" -variable tmpvar_21 -value "16" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "32" -variable tmpvar_21 -value "32" -command "update_active" | ||||
menusplit $w $w.config.f.x4.x.menu 5 | ||||
bool $w.config.f 7 5 "Fast writebuffer " CONFIG_MMU_FASTWB | ||||
global tmpvar_22 | ||||
minimenu $w.config.f 7 6 "MMU page size" tmpvar_22 CONFIG_MMU_PAGE_4K | ||||
menu $w.config.f.x6.x.menu -tearoffcommand "menutitle \"MMU page size\"" | ||||
$w.config.f.x6.x.menu add radiobutton -label "4K" -variable tmpvar_22 -value "4K" -command "update_active" | ||||
$w.config.f.x6.x.menu add radiobutton -label "8K" -variable tmpvar_22 -value "8K" -command "update_active" | ||||
$w.config.f.x6.x.menu add radiobutton -label "16K" -variable tmpvar_22 -value "16K" -command "update_active" | ||||
$w.config.f.x6.x.menu add radiobutton -label "32K" -variable tmpvar_22 -value "32K" -command "update_active" | ||||
$w.config.f.x6.x.menu add radiobutton -label "Programmable" -variable tmpvar_22 -value "Programmable" -command "update_active" | ||||
menusplit $w $w.config.f.x6.x.menu 5 | ||||
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 | ||||
} | ||||
} | ||||
proc update_menu7 {} { | ||||
global CONFIG_LEON3 | ||||
global CONFIG_MMU_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu7.config.f.x0 normal {n l y}} else {configure_entry .menu7.config.f.x0 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then {configure_entry .menu7.config.f.x1 normal {x l}} else {configure_entry .menu7.config.f.x1 disabled {x l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then {configure_entry .menu7.config.f.x2 normal {x l}} else {configure_entry .menu7.config.f.x2 disabled {x l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then {configure_entry .menu7.config.f.x3 normal {x l}} else {configure_entry .menu7.config.f.x3 disabled {x l}} | ||||
global CONFIG_MMU_SPLIT | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1) && ($CONFIG_MMU_SPLIT == 1)} then {configure_entry .menu7.config.f.x4 normal {x l}} else {configure_entry .menu7.config.f.x4 disabled {x l}} | ||||
global CONFIG_MMU_FASTWB | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1) && ($CONFIG_MMU_SPLIT == 1)} then { | ||||
configure_entry .menu7.config.f.x5 normal {n l y}} else {configure_entry .menu7.config.f.x5 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then {configure_entry .menu7.config.f.x6 normal {x l}} else {configure_entry .menu7.config.f.x6 disabled {x l}} | ||||
} | ||||
proc update_define_menu7 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_LEON3 | ||||
global CONFIG_MMU_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_MMU_ENABLE [expr $CONFIG_MMU_ENABLE&15]} else {set CONFIG_MMU_ENABLE [expr $CONFIG_MMU_ENABLE|16]} | ||||
global tmpvar_18 | ||||
global CONFIG_MMU_COMBINED | ||||
if {$tmpvar_18 == "combined"} then {set CONFIG_MMU_COMBINED 1} else {set CONFIG_MMU_COMBINED 0} | ||||
global CONFIG_MMU_SPLIT | ||||
if {$tmpvar_18 == "split"} then {set CONFIG_MMU_SPLIT 1} else {set CONFIG_MMU_SPLIT 0} | ||||
global tmpvar_19 | ||||
global CONFIG_MMU_REPARRAY | ||||
if {$tmpvar_19 == "LRU"} then {set CONFIG_MMU_REPARRAY 1} else {set CONFIG_MMU_REPARRAY 0} | ||||
global CONFIG_MMU_REPINCREMENT | ||||
if {$tmpvar_19 == "Increment"} then {set CONFIG_MMU_REPINCREMENT 1} else {set CONFIG_MMU_REPINCREMENT 0} | ||||
global tmpvar_20 | ||||
global CONFIG_MMU_I2 | ||||
if {$tmpvar_20 == "2"} then {set CONFIG_MMU_I2 1} else {set CONFIG_MMU_I2 0} | ||||
global CONFIG_MMU_I4 | ||||
if {$tmpvar_20 == "4"} then {set CONFIG_MMU_I4 1} else {set CONFIG_MMU_I4 0} | ||||
global CONFIG_MMU_I8 | ||||
if {$tmpvar_20 == "8"} then {set CONFIG_MMU_I8 1} else {set CONFIG_MMU_I8 0} | ||||
global CONFIG_MMU_I16 | ||||
if {$tmpvar_20 == "16"} then {set CONFIG_MMU_I16 1} else {set CONFIG_MMU_I16 0} | ||||
global CONFIG_MMU_I32 | ||||
if {$tmpvar_20 == "32"} then {set CONFIG_MMU_I32 1} else {set CONFIG_MMU_I32 0} | ||||
global tmpvar_21 | ||||
global CONFIG_MMU_D2 | ||||
if {$tmpvar_21 == "2"} then {set CONFIG_MMU_D2 1} else {set CONFIG_MMU_D2 0} | ||||
global CONFIG_MMU_D4 | ||||
if {$tmpvar_21 == "4"} then {set CONFIG_MMU_D4 1} else {set CONFIG_MMU_D4 0} | ||||
global CONFIG_MMU_D8 | ||||
if {$tmpvar_21 == "8"} then {set CONFIG_MMU_D8 1} else {set CONFIG_MMU_D8 0} | ||||
global CONFIG_MMU_D16 | ||||
if {$tmpvar_21 == "16"} then {set CONFIG_MMU_D16 1} else {set CONFIG_MMU_D16 0} | ||||
global CONFIG_MMU_D32 | ||||
if {$tmpvar_21 == "32"} then {set CONFIG_MMU_D32 1} else {set CONFIG_MMU_D32 0} | ||||
global CONFIG_MMU_FASTWB | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1) && ($CONFIG_MMU_SPLIT == 1)} then { | ||||
set CONFIG_MMU_FASTWB [expr $CONFIG_MMU_FASTWB&15]} else {set CONFIG_MMU_FASTWB [expr $CONFIG_MMU_FASTWB|16]} | ||||
global tmpvar_22 | ||||
global CONFIG_MMU_PAGE_4K | ||||
if {$tmpvar_22 == "4K"} then {set CONFIG_MMU_PAGE_4K 1} else {set CONFIG_MMU_PAGE_4K 0} | ||||
global CONFIG_MMU_PAGE_8K | ||||
if {$tmpvar_22 == "8K"} then {set CONFIG_MMU_PAGE_8K 1} else {set CONFIG_MMU_PAGE_8K 0} | ||||
global CONFIG_MMU_PAGE_16K | ||||
if {$tmpvar_22 == "16K"} then {set CONFIG_MMU_PAGE_16K 1} else {set CONFIG_MMU_PAGE_16K 0} | ||||
global CONFIG_MMU_PAGE_32K | ||||
if {$tmpvar_22 == "32K"} then {set CONFIG_MMU_PAGE_32K 1} else {set CONFIG_MMU_PAGE_32K 0} | ||||
global CONFIG_MMU_PAGE_PROG | ||||
if {$tmpvar_22 == "Programmable"} then {set CONFIG_MMU_PAGE_PROG 1} else {set CONFIG_MMU_PAGE_PROG 0} | ||||
} | ||||
proc menu8 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu3} | ||||
catch {destroy $w; unregister_active 8} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 8]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Debug Support Unit " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Debug Support Unit " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 8; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 8; menu9 .menu9 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 8" | ||||
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 8; menu7 .menu7 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 8; menu7 .menu7 \"$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 8 0 "Enable LEON3 Debug support unit " CONFIG_DSU_ENABLE | ||||
bool $w.config.f 8 1 "Instruction trace buffer" CONFIG_DSU_ITRACE | ||||
global tmpvar_23 | ||||
minimenu $w.config.f 8 2 "Instruction trace buffer size (kbytes)" tmpvar_23 CONFIG_DSU_ITRACESZ1 | ||||
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"Instruction trace buffer size (kbytes)\"" | ||||
$w.config.f.x2.x.menu add radiobutton -label "1" -variable tmpvar_23 -value "1" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "2" -variable tmpvar_23 -value "2" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "4" -variable tmpvar_23 -value "4" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "8" -variable tmpvar_23 -value "8" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "16" -variable tmpvar_23 -value "16" -command "update_active" | ||||
menusplit $w $w.config.f.x2.x.menu 5 | ||||
bool $w.config.f 8 3 "AHB trace buffer" CONFIG_DSU_ATRACE | ||||
global tmpvar_24 | ||||
minimenu $w.config.f 8 4 "AHB trace buffer size (kbytes)" tmpvar_24 CONFIG_DSU_ATRACESZ1 | ||||
menu $w.config.f.x4.x.menu -tearoffcommand "menutitle \"AHB trace buffer size (kbytes)\"" | ||||
$w.config.f.x4.x.menu add radiobutton -label "1" -variable tmpvar_24 -value "1" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "2" -variable tmpvar_24 -value "2" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "4" -variable tmpvar_24 -value "4" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "8" -variable tmpvar_24 -value "8" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "16" -variable tmpvar_24 -value "16" -command "update_active" | ||||
menusplit $w $w.config.f.x4.x.menu 5 | ||||
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 | ||||
} | ||||
} | ||||
proc update_menu8 {} { | ||||
global CONFIG_LEON3 | ||||
global CONFIG_DSU_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu8.config.f.x0 normal {n l y}} else {configure_entry .menu8.config.f.x0 disabled {y n l}} | ||||
global CONFIG_DSU_ITRACE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1)} then { | ||||
configure_entry .menu8.config.f.x1 normal {n l y}} else {configure_entry .menu8.config.f.x1 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1) && ($CONFIG_DSU_ITRACE == 1)} then {configure_entry .menu8.config.f.x2 normal {x l}} else {configure_entry .menu8.config.f.x2 disabled {x l}} | ||||
global CONFIG_DSU_ATRACE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1)} then { | ||||
configure_entry .menu8.config.f.x3 normal {n l y}} else {configure_entry .menu8.config.f.x3 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1) && ($CONFIG_DSU_ATRACE == 1)} then {configure_entry .menu8.config.f.x4 normal {x l}} else {configure_entry .menu8.config.f.x4 disabled {x l}} | ||||
} | ||||
proc update_define_menu8 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_LEON3 | ||||
global CONFIG_DSU_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_DSU_ENABLE [expr $CONFIG_DSU_ENABLE&15]} else {set CONFIG_DSU_ENABLE [expr $CONFIG_DSU_ENABLE|16]} | ||||
global CONFIG_DSU_ITRACE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1)} then { | ||||
set CONFIG_DSU_ITRACE [expr $CONFIG_DSU_ITRACE&15]} else {set CONFIG_DSU_ITRACE [expr $CONFIG_DSU_ITRACE|16]} | ||||
global tmpvar_23 | ||||
global CONFIG_DSU_ITRACESZ1 | ||||
if {$tmpvar_23 == "1"} then {set CONFIG_DSU_ITRACESZ1 1} else {set CONFIG_DSU_ITRACESZ1 0} | ||||
global CONFIG_DSU_ITRACESZ2 | ||||
if {$tmpvar_23 == "2"} then {set CONFIG_DSU_ITRACESZ2 1} else {set CONFIG_DSU_ITRACESZ2 0} | ||||
global CONFIG_DSU_ITRACESZ4 | ||||
if {$tmpvar_23 == "4"} then {set CONFIG_DSU_ITRACESZ4 1} else {set CONFIG_DSU_ITRACESZ4 0} | ||||
global CONFIG_DSU_ITRACESZ8 | ||||
if {$tmpvar_23 == "8"} then {set CONFIG_DSU_ITRACESZ8 1} else {set CONFIG_DSU_ITRACESZ8 0} | ||||
global CONFIG_DSU_ITRACESZ16 | ||||
if {$tmpvar_23 == "16"} then {set CONFIG_DSU_ITRACESZ16 1} else {set CONFIG_DSU_ITRACESZ16 0} | ||||
global CONFIG_DSU_ATRACE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1)} then { | ||||
set CONFIG_DSU_ATRACE [expr $CONFIG_DSU_ATRACE&15]} else {set CONFIG_DSU_ATRACE [expr $CONFIG_DSU_ATRACE|16]} | ||||
global tmpvar_24 | ||||
global CONFIG_DSU_ATRACESZ1 | ||||
if {$tmpvar_24 == "1"} then {set CONFIG_DSU_ATRACESZ1 1} else {set CONFIG_DSU_ATRACESZ1 0} | ||||
global CONFIG_DSU_ATRACESZ2 | ||||
if {$tmpvar_24 == "2"} then {set CONFIG_DSU_ATRACESZ2 1} else {set CONFIG_DSU_ATRACESZ2 0} | ||||
global CONFIG_DSU_ATRACESZ4 | ||||
if {$tmpvar_24 == "4"} then {set CONFIG_DSU_ATRACESZ4 1} else {set CONFIG_DSU_ATRACESZ4 0} | ||||
global CONFIG_DSU_ATRACESZ8 | ||||
if {$tmpvar_24 == "8"} then {set CONFIG_DSU_ATRACESZ8 1} else {set CONFIG_DSU_ATRACESZ8 0} | ||||
global CONFIG_DSU_ATRACESZ16 | ||||
if {$tmpvar_24 == "16"} then {set CONFIG_DSU_ATRACESZ16 1} else {set CONFIG_DSU_ATRACESZ16 0} | ||||
} | ||||
proc menu9 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu3} | ||||
catch {destroy $w; unregister_active 9} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 9]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Fault-tolerance " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Fault-tolerance " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 9; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 9; menu10 .menu10 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 9" | ||||
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 9; menu8 .menu8 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 9; menu8 .menu8 \"$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 9 0 "Use LEON3-FT processor core " CONFIG_LEON3FT_EN | ||||
global tmpvar_25 | ||||
minimenu $w.config.f 9 1 "IU Register file protection " tmpvar_25 CONFIG_IUFT_NONE | ||||
menu $w.config.f.x1.x.menu -tearoffcommand "menutitle \"IU Register file protection \"" | ||||
$w.config.f.x1.x.menu add radiobutton -label "None" -variable tmpvar_25 -value "None" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "Parity" -variable tmpvar_25 -value "Parity" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "PDMR" -variable tmpvar_25 -value "PDMR" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "BCH" -variable tmpvar_25 -value "BCH" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "TMR" -variable tmpvar_25 -value "TMR" -command "update_active" | ||||
menusplit $w $w.config.f.x1.x.menu 5 | ||||
bool $w.config.f 9 2 "FPU Register file protection " CONFIG_FPUFT_EN | ||||
bool $w.config.f 9 3 "Register file error injection" CONFIG_RF_ERRINJ | ||||
bool $w.config.f 9 4 "Cache memory protection " CONFIG_CACHE_FT_EN | ||||
int $w.config.f 9 5 "Cache memory error injection" CONFIG_CACHE_ERRINJ | ||||
bool $w.config.f 9 6 "Use LEON3FT netlist " CONFIG_LEON3_NETLIST | ||||
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 | ||||
} | ||||
} | ||||
proc update_menu9 {} { | ||||
global CONFIG_LEON3 | ||||
global CONFIG_LEON3FT_EN | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu9.config.f.x0 normal {n l y}} else {configure_entry .menu9.config.f.x0 disabled {y n l}} | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then {configure_entry .menu9.config.f.x1 normal {x l}} else {configure_entry .menu9.config.f.x1 disabled {x l}} | ||||
global CONFIG_FPU_ENABLE | ||||
global CONFIG_FPUFT_EN | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1) && ($CONFIG_FPU_ENABLE == 1)} then { | ||||
configure_entry .menu9.config.f.x2 normal {n l y}} else {configure_entry .menu9.config.f.x2 disabled {y n l}} | ||||
global CONFIG_RF_ERRINJ | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then { | ||||
configure_entry .menu9.config.f.x3 normal {n l y}} else {configure_entry .menu9.config.f.x3 disabled {y n l}} | ||||
global CONFIG_CACHE_FT_EN | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then { | ||||
configure_entry .menu9.config.f.x4 normal {n l y}} else {configure_entry .menu9.config.f.x4 disabled {y n l}} | ||||
global CONFIG_CACHE_ERRINJ | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then {.menu9.config.f.x5.x configure -state normal -foreground [ cget .ref -foreground ]; .menu9.config.f.x5.l configure -state normal; } else {.menu9.config.f.x5.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu9.config.f.x5.l configure -state disabled} | ||||
global CONFIG_LEON3_NETLIST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then { | ||||
configure_entry .menu9.config.f.x6 normal {n l y}} else {configure_entry .menu9.config.f.x6 disabled {y n l}} | ||||
} | ||||
proc update_define_menu9 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_LEON3 | ||||
global CONFIG_LEON3FT_EN | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_LEON3FT_EN [expr $CONFIG_LEON3FT_EN&15]} else {set CONFIG_LEON3FT_EN [expr $CONFIG_LEON3FT_EN|16]} | ||||
global tmpvar_25 | ||||
global CONFIG_IUFT_NONE | ||||
if {$tmpvar_25 == "None"} then {set CONFIG_IUFT_NONE 1} else {set CONFIG_IUFT_NONE 0} | ||||
global CONFIG_IUFT_PAR | ||||
if {$tmpvar_25 == "Parity"} then {set CONFIG_IUFT_PAR 1} else {set CONFIG_IUFT_PAR 0} | ||||
global CONFIG_IUFT_DMR | ||||
if {$tmpvar_25 == "PDMR"} then {set CONFIG_IUFT_DMR 1} else {set CONFIG_IUFT_DMR 0} | ||||
global CONFIG_IUFT_BCH | ||||
if {$tmpvar_25 == "BCH"} then {set CONFIG_IUFT_BCH 1} else {set CONFIG_IUFT_BCH 0} | ||||
global CONFIG_IUFT_TMR | ||||
if {$tmpvar_25 == "TMR"} then {set CONFIG_IUFT_TMR 1} else {set CONFIG_IUFT_TMR 0} | ||||
global CONFIG_FPU_ENABLE | ||||
global CONFIG_FPUFT_EN | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1) && ($CONFIG_FPU_ENABLE == 1)} then { | ||||
set CONFIG_FPUFT_EN [expr $CONFIG_FPUFT_EN&15]} else {set CONFIG_FPUFT_EN [expr $CONFIG_FPUFT_EN|16]} | ||||
global CONFIG_RF_ERRINJ | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then { | ||||
set CONFIG_RF_ERRINJ [expr $CONFIG_RF_ERRINJ&15]} else {set CONFIG_RF_ERRINJ [expr $CONFIG_RF_ERRINJ|16]} | ||||
global CONFIG_CACHE_FT_EN | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then { | ||||
set CONFIG_CACHE_FT_EN [expr $CONFIG_CACHE_FT_EN&15]} else {set CONFIG_CACHE_FT_EN [expr $CONFIG_CACHE_FT_EN|16]} | ||||
global CONFIG_CACHE_ERRINJ | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then {validate_int CONFIG_CACHE_ERRINJ "$CONFIG_CACHE_ERRINJ" 0} | ||||
global CONFIG_LEON3_NETLIST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then { | ||||
set CONFIG_LEON3_NETLIST [expr $CONFIG_LEON3_NETLIST&15]} else {set CONFIG_LEON3_NETLIST [expr $CONFIG_LEON3_NETLIST|16]} | ||||
} | ||||
proc menu10 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu3} | ||||
catch {destroy $w; unregister_active 10} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 10]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"VHDL debug settings " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "VHDL debug settings " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 10; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 10; catch {destroy .menu3}; unregister_active 3; menu11 .menu11 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 10" | ||||
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 10; menu9 .menu9 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 10; menu9 .menu9 \"$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 10 0 "Processor disassembly to console " CONFIG_IU_DISAS | ||||
bool $w.config.f 10 1 "Processor disassembly in netlist " CONFIG_IU_DISAS_NET | ||||
bool $w.config.f 10 2 "32-bit program counters " CONFIG_DEBUG_PC32 | ||||
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 | ||||
} | ||||
} | ||||
proc update_menu10 {} { | ||||
global CONFIG_LEON3 | ||||
global CONFIG_IU_DISAS | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu10.config.f.x0 normal {n l y}} else {configure_entry .menu10.config.f.x0 disabled {y n l}} | ||||
global CONFIG_IU_DISAS_NET | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_DISAS == 1)} then { | ||||
configure_entry .menu10.config.f.x1 normal {n l y}} else {configure_entry .menu10.config.f.x1 disabled {y n l}} | ||||
global CONFIG_DEBUG_PC32 | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
configure_entry .menu10.config.f.x2 normal {n l y}} else {configure_entry .menu10.config.f.x2 disabled {y n l}} | ||||
} | ||||
proc update_define_menu10 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_LEON3 | ||||
global CONFIG_IU_DISAS | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_IU_DISAS [expr $CONFIG_IU_DISAS&15]} else {set CONFIG_IU_DISAS [expr $CONFIG_IU_DISAS|16]} | ||||
global CONFIG_IU_DISAS_NET | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_DISAS == 1)} then { | ||||
set CONFIG_IU_DISAS_NET [expr $CONFIG_IU_DISAS_NET&15]} else {set CONFIG_IU_DISAS_NET [expr $CONFIG_IU_DISAS_NET|16]} | ||||
global CONFIG_DEBUG_PC32 | ||||
if {($CONFIG_LEON3 == 1)} then { | ||||
set CONFIG_DEBUG_PC32 [expr $CONFIG_DEBUG_PC32&15]} else {set CONFIG_DEBUG_PC32 [expr $CONFIG_DEBUG_PC32|16]} | ||||
} | ||||
menu_option menu11 11 "AMBA configuration" | ||||
proc menu11 {w title} { | ||||
set oldFocus [focus] | ||||
catch {destroy $w; unregister_active 11} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 11]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"AMBA configuration" -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "AMBA configuration" | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 11; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 11; menu12 .menu12 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "Main Menu" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 11" | ||||
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 11; menu10 .menu10 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 11; menu10 .menu10 \"$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 11 0 "Default AHB master" CONFIG_AHB_DEFMST | ||||
bool $w.config.f 11 1 "Round-robin arbiter " CONFIG_AHB_RROBIN | ||||
bool $w.config.f 11 2 "AHB split-transaction support " CONFIG_AHB_SPLIT | ||||
hex $w.config.f 11 3 "I/O area start address (haddr\[31:20\]) " CONFIG_AHB_IOADDR | ||||
hex $w.config.f 11 4 "AHB/APB bridge address (haddr\[31:20\]) " CONFIG_APB_HADDR | ||||
bool $w.config.f 11 5 "Enable AMBA AHB monitor " CONFIG_AHB_MON | ||||
bool $w.config.f 11 6 "Report AHB errors " CONFIG_AHB_MONERR | ||||
bool $w.config.f 11 7 "Report AHB warings " CONFIG_AHB_MONWAR | ||||
bool $w.config.f 11 8 "Write trace to simulation console " CONFIG_AHB_DTRACE | ||||
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_menu11 {} { | ||||
global CONFIG_AHB_MON | ||||
global CONFIG_AHB_MONERR | ||||
if {($CONFIG_AHB_MON == 1)} then { | ||||
configure_entry .menu11.config.f.x6 normal {n l y}} else {configure_entry .menu11.config.f.x6 disabled {y n l}} | ||||
global CONFIG_AHB_MONWAR | ||||
if {($CONFIG_AHB_MON == 1)} then { | ||||
configure_entry .menu11.config.f.x7 normal {n l y}} else {configure_entry .menu11.config.f.x7 disabled {y n l}} | ||||
} | ||||
proc update_define_menu11 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_AHB_MON | ||||
global CONFIG_AHB_MONERR | ||||
if {($CONFIG_AHB_MON == 1)} then { | ||||
set CONFIG_AHB_MONERR [expr $CONFIG_AHB_MONERR&15]} else {set CONFIG_AHB_MONERR [expr $CONFIG_AHB_MONERR|16]} | ||||
global CONFIG_AHB_MONWAR | ||||
if {($CONFIG_AHB_MON == 1)} then { | ||||
set CONFIG_AHB_MONWAR [expr $CONFIG_AHB_MONWAR&15]} else {set CONFIG_AHB_MONWAR [expr $CONFIG_AHB_MONWAR|16]} | ||||
} | ||||
menu_option menu12 12 "Debug Link " | ||||
proc menu12 {w title} { | ||||
set oldFocus [focus] | ||||
catch {destroy $w; unregister_active 12} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 12]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Debug Link " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Debug Link " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 12; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 12; menu13 .menu13 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "Main Menu" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 12" | ||||
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 12; menu11 .menu11 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 12; menu11 .menu11 \"$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 12 0 "JTAG Debug Link" CONFIG_DSU_JTAG | ||||
bool $w.config.f 12 1 "Ethernet Debug Communication Link (EDCL)" CONFIG_DSU_ETH | ||||
global tmpvar_26 | ||||
minimenu $w.config.f 12 2 "Ethernet/AHB bridge buffer size (kbytes)" tmpvar_26 CONFIG_DSU_ETHSZ1 | ||||
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"Ethernet/AHB bridge buffer size (kbytes)\"" | ||||
$w.config.f.x2.x.menu add radiobutton -label "1" -variable tmpvar_26 -value "1" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "2" -variable tmpvar_26 -value "2" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "4" -variable tmpvar_26 -value "4" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "8" -variable tmpvar_26 -value "8" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "16" -variable tmpvar_26 -value "16" -command "update_active" | ||||
menusplit $w $w.config.f.x2.x.menu 5 | ||||
hex $w.config.f 12 3 "MSB 16 bits of IP address (hex) " CONFIG_DSU_IPMSB | ||||
hex $w.config.f 12 4 "LSB 16 bits of IP address (hex) " CONFIG_DSU_IPLSB | ||||
hex $w.config.f 12 5 "MSB 24 bits of ethern number (hex) " CONFIG_DSU_ETHMSB | ||||
hex $w.config.f 12 6 "LSB 24 bits of ethern number (hex) " CONFIG_DSU_ETHLSB | ||||
bool $w.config.f 12 7 "Programmable 4-bit LSB of MAC/IP address" CONFIG_DSU_ETH_PROG | ||||
bool $w.config.f 12 8 "EDCL disable pin " CONFIG_DSU_ETH_DIS | ||||
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_menu12 {} { | ||||
global CONFIG_GRETH_ENABLE | ||||
global CONFIG_DSU_ETH | ||||
if {($CONFIG_GRETH_ENABLE == 1)} then { | ||||
configure_entry .menu12.config.f.x1 normal {n l y}} else {configure_entry .menu12.config.f.x1 disabled {y n l}} | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {configure_entry .menu12.config.f.x2 normal {x l}} else {configure_entry .menu12.config.f.x2 disabled {x l}} | ||||
global CONFIG_DSU_IPMSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {.menu12.config.f.x3.x configure -state normal -foreground [ cget .ref -foreground ]; .menu12.config.f.x3.l configure -state normal; } else {.menu12.config.f.x3.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu12.config.f.x3.l configure -state disabled} | ||||
global CONFIG_DSU_IPLSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {.menu12.config.f.x4.x configure -state normal -foreground [ cget .ref -foreground ]; .menu12.config.f.x4.l configure -state normal; } else {.menu12.config.f.x4.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu12.config.f.x4.l configure -state disabled} | ||||
global CONFIG_DSU_ETHMSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {.menu12.config.f.x5.x configure -state normal -foreground [ cget .ref -foreground ]; .menu12.config.f.x5.l configure -state normal; } else {.menu12.config.f.x5.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu12.config.f.x5.l configure -state disabled} | ||||
global CONFIG_DSU_ETHLSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {.menu12.config.f.x6.x configure -state normal -foreground [ cget .ref -foreground ]; .menu12.config.f.x6.l configure -state normal; } else {.menu12.config.f.x6.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu12.config.f.x6.l configure -state disabled} | ||||
global CONFIG_GRETH_GIGA | ||||
global CONFIG_DSU_ETH_PROG | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1) && ($CONFIG_GRETH_GIGA == 0)} then { | ||||
configure_entry .menu12.config.f.x7 normal {n l y}} else {configure_entry .menu12.config.f.x7 disabled {y n l}} | ||||
global CONFIG_DSU_ETH_DIS | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1) && ($CONFIG_GRETH_GIGA == 0)} then { | ||||
configure_entry .menu12.config.f.x8 normal {n l y}} else {configure_entry .menu12.config.f.x8 disabled {y n l}} | ||||
} | ||||
proc update_define_menu12 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_GRETH_ENABLE | ||||
global CONFIG_DSU_ETH | ||||
if {($CONFIG_GRETH_ENABLE == 1)} then { | ||||
set CONFIG_DSU_ETH [expr $CONFIG_DSU_ETH&15]} else {set CONFIG_DSU_ETH [expr $CONFIG_DSU_ETH|16]} | ||||
global tmpvar_26 | ||||
global CONFIG_DSU_ETHSZ1 | ||||
if {$tmpvar_26 == "1"} then {set CONFIG_DSU_ETHSZ1 1} else {set CONFIG_DSU_ETHSZ1 0} | ||||
global CONFIG_DSU_ETHSZ2 | ||||
if {$tmpvar_26 == "2"} then {set CONFIG_DSU_ETHSZ2 1} else {set CONFIG_DSU_ETHSZ2 0} | ||||
global CONFIG_DSU_ETHSZ4 | ||||
if {$tmpvar_26 == "4"} then {set CONFIG_DSU_ETHSZ4 1} else {set CONFIG_DSU_ETHSZ4 0} | ||||
global CONFIG_DSU_ETHSZ8 | ||||
if {$tmpvar_26 == "8"} then {set CONFIG_DSU_ETHSZ8 1} else {set CONFIG_DSU_ETHSZ8 0} | ||||
global CONFIG_DSU_ETHSZ16 | ||||
if {$tmpvar_26 == "16"} then {set CONFIG_DSU_ETHSZ16 1} else {set CONFIG_DSU_ETHSZ16 0} | ||||
global CONFIG_DSU_IPMSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {validate_hex CONFIG_DSU_IPMSB "$CONFIG_DSU_IPMSB" C0A8} | ||||
global CONFIG_DSU_IPLSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {validate_hex CONFIG_DSU_IPLSB "$CONFIG_DSU_IPLSB" 0033} | ||||
global CONFIG_DSU_ETHMSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {validate_hex CONFIG_DSU_ETHMSB "$CONFIG_DSU_ETHMSB" 020000} | ||||
global CONFIG_DSU_ETHLSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {validate_hex CONFIG_DSU_ETHLSB "$CONFIG_DSU_ETHLSB" 000000} | ||||
global CONFIG_GRETH_GIGA | ||||
global CONFIG_DSU_ETH_PROG | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1) && ($CONFIG_GRETH_GIGA == 0)} then { | ||||
set CONFIG_DSU_ETH_PROG [expr $CONFIG_DSU_ETH_PROG&15]} else {set CONFIG_DSU_ETH_PROG [expr $CONFIG_DSU_ETH_PROG|16]} | ||||
global CONFIG_DSU_ETH_DIS | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1) && ($CONFIG_GRETH_GIGA == 0)} then { | ||||
set CONFIG_DSU_ETH_DIS [expr $CONFIG_DSU_ETH_DIS&15]} else {set CONFIG_DSU_ETH_DIS [expr $CONFIG_DSU_ETH_DIS|16]} | ||||
} | ||||
menu_option menu13 13 "Peripherals " | ||||
proc menu13 {w title} { | ||||
set oldFocus [focus] | ||||
catch {destroy $w; unregister_active 13} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 13]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Peripherals " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Peripherals " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 13; break" | ||||
set nextscript "catch {focus $oldFocus}; menu14 .menu14 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "Main Menu" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 13" | ||||
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 13; menu12 .menu12 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 13; menu12 .menu12 \"$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 | ||||
submenu $w.config.f 13 0 "Memory controller " 14 | ||||
submenu $w.config.f 13 1 "On-chip RAM/ROM " 17 | ||||
submenu $w.config.f 13 2 "Ethernet " 18 | ||||
submenu $w.config.f 13 3 "UART, timer, I/O port and interrupt controller" 19 | ||||
submenu $w.config.f 13 4 "Keybord and VGA interface" 20 | ||||
submenu $w.config.f 13 5 "SPI" 21 | ||||
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_menu13 {} { | ||||
} | ||||
proc update_define_menu13 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
} | ||||
proc menu14 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu13} | ||||
catch {destroy $w; unregister_active 14} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 14]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Memory controller " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Memory controller " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 14; break" | ||||
set nextscript "catch {focus $oldFocus}; menu15 .menu15 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 14" | ||||
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 14; menu13 .menu13 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 14; menu13 .menu13 \"$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 | ||||
submenu $w.config.f 14 0 "Leon2 memory controller " 15 | ||||
submenu $w.config.f 14 1 "MIG memory controller " 16 | ||||
bool $w.config.f 14 2 "Enable AHB Status Register " CONFIG_AHBSTAT_ENABLE | ||||
int $w.config.f 14 3 "Number of correctable-error slaves " CONFIG_AHBSTAT_NFTSLV | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu13] == 0} then {menu13 .menu13 "Peripherals "} | ||||
set winx [expr [winfo x .menu13]+30]; set winy [expr [winfo y .menu13]+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_menu14 {} { | ||||
global CONFIG_AHBSTAT_ENABLE | ||||
global CONFIG_AHBSTAT_NFTSLV | ||||
if {($CONFIG_AHBSTAT_ENABLE == 1)} then {.menu14.config.f.x3.x configure -state normal -foreground [ cget .ref -foreground ]; .menu14.config.f.x3.l configure -state normal; } else {.menu14.config.f.x3.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu14.config.f.x3.l configure -state disabled} | ||||
} | ||||
proc update_define_menu14 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_AHBSTAT_ENABLE | ||||
global CONFIG_AHBSTAT_NFTSLV | ||||
if {($CONFIG_AHBSTAT_ENABLE == 1)} then {validate_int CONFIG_AHBSTAT_NFTSLV "$CONFIG_AHBSTAT_NFTSLV" 1} | ||||
} | ||||
proc menu15 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu14} | ||||
catch {destroy $w; unregister_active 15} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 15]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Leon2 memory controller " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Leon2 memory controller " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 15; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 15; menu16 .menu16 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 15" | ||||
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 15; menu14 .menu14 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 15; menu14 .menu14 \"$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 15 0 "Enable Leon2 memory controller " CONFIG_MCTRL_LEON2 | ||||
bool $w.config.f 15 1 "8-bit PROM/SRAM bus support " CONFIG_MCTRL_8BIT | ||||
bool $w.config.f 15 2 "16-bit PROM/SRAM bus support " CONFIG_MCTRL_16BIT | ||||
bool $w.config.f 15 3 "5th SRAM chip-select " CONFIG_MCTRL_5CS | ||||
bool $w.config.f 15 4 "SDRAM controller " CONFIG_MCTRL_SDRAM | ||||
bool $w.config.f 15 5 "Separate address and data buses" CONFIG_MCTRL_SDRAM_SEPBUS | ||||
bool $w.config.f 15 6 "64-bit SDRAM data bus" CONFIG_MCTRL_SDRAM_BUS64 | ||||
bool $w.config.f 15 7 "Unsynchronized sdclock" CONFIG_MCTRL_SDRAM_INVCLK | ||||
bool $w.config.f 15 8 "Enable page burst operation " CONFIG_MCTRL_PAGE | ||||
bool $w.config.f 15 9 "Enable programmable page burst " CONFIG_MCTRL_PROGPAGE | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu14] == 0} then {menu14 .menu14 "Memory controller "} | ||||
set winx [expr [winfo x .menu14]+30]; set winy [expr [winfo y .menu14]+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_menu15 {} { | ||||
global CONFIG_MCTRL_LEON2 | ||||
global CONFIG_MCTRL_8BIT | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then { | ||||
configure_entry .menu15.config.f.x1 normal {n l y}} else {configure_entry .menu15.config.f.x1 disabled {y n l}} | ||||
global CONFIG_MCTRL_16BIT | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then { | ||||
configure_entry .menu15.config.f.x2 normal {n l y}} else {configure_entry .menu15.config.f.x2 disabled {y n l}} | ||||
global CONFIG_MCTRL_5CS | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then { | ||||
configure_entry .menu15.config.f.x3 normal {n l y}} else {configure_entry .menu15.config.f.x3 disabled {y n l}} | ||||
global CONFIG_MCTRL_SDRAM | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then { | ||||
configure_entry .menu15.config.f.x4 normal {n l y}} else {configure_entry .menu15.config.f.x4 disabled {y n l}} | ||||
global CONFIG_MCTRL_SDRAM_SEPBUS | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1)} then { | ||||
configure_entry .menu15.config.f.x5 normal {n l y}} else {configure_entry .menu15.config.f.x5 disabled {y n l}} | ||||
global CONFIG_MCTRL_SDRAM_BUS64 | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_SDRAM_SEPBUS == 1)} then { | ||||
configure_entry .menu15.config.f.x6 normal {n l y}} else {configure_entry .menu15.config.f.x6 disabled {y n l}} | ||||
global CONFIG_MCTRL_SDRAM_INVCLK | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_SDRAM_SEPBUS == 1)} then { | ||||
configure_entry .menu15.config.f.x7 normal {n l y}} else {configure_entry .menu15.config.f.x7 disabled {y n l}} | ||||
global CONFIG_MCTRL_PAGE | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1)} then { | ||||
configure_entry .menu15.config.f.x8 normal {n l y}} else {configure_entry .menu15.config.f.x8 disabled {y n l}} | ||||
global CONFIG_MCTRL_PROGPAGE | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_PAGE == 1)} then { | ||||
configure_entry .menu15.config.f.x9 normal {n l y}} else {configure_entry .menu15.config.f.x9 disabled {y n l}} | ||||
} | ||||
proc update_define_menu15 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_MCTRL_LEON2 | ||||
global CONFIG_MCTRL_8BIT | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then { | ||||
set CONFIG_MCTRL_8BIT [expr $CONFIG_MCTRL_8BIT&15]} else {set CONFIG_MCTRL_8BIT [expr $CONFIG_MCTRL_8BIT|16]} | ||||
global CONFIG_MCTRL_16BIT | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then { | ||||
set CONFIG_MCTRL_16BIT [expr $CONFIG_MCTRL_16BIT&15]} else {set CONFIG_MCTRL_16BIT [expr $CONFIG_MCTRL_16BIT|16]} | ||||
global CONFIG_MCTRL_5CS | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then { | ||||
set CONFIG_MCTRL_5CS [expr $CONFIG_MCTRL_5CS&15]} else {set CONFIG_MCTRL_5CS [expr $CONFIG_MCTRL_5CS|16]} | ||||
global CONFIG_MCTRL_SDRAM | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then { | ||||
set CONFIG_MCTRL_SDRAM [expr $CONFIG_MCTRL_SDRAM&15]} else {set CONFIG_MCTRL_SDRAM [expr $CONFIG_MCTRL_SDRAM|16]} | ||||
global CONFIG_MCTRL_SDRAM_SEPBUS | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1)} then { | ||||
set CONFIG_MCTRL_SDRAM_SEPBUS [expr $CONFIG_MCTRL_SDRAM_SEPBUS&15]} else {set CONFIG_MCTRL_SDRAM_SEPBUS [expr $CONFIG_MCTRL_SDRAM_SEPBUS|16]} | ||||
global CONFIG_MCTRL_SDRAM_BUS64 | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_SDRAM_SEPBUS == 1)} then { | ||||
set CONFIG_MCTRL_SDRAM_BUS64 [expr $CONFIG_MCTRL_SDRAM_BUS64&15]} else {set CONFIG_MCTRL_SDRAM_BUS64 [expr $CONFIG_MCTRL_SDRAM_BUS64|16]} | ||||
global CONFIG_MCTRL_SDRAM_INVCLK | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_SDRAM_SEPBUS == 1)} then { | ||||
set CONFIG_MCTRL_SDRAM_INVCLK [expr $CONFIG_MCTRL_SDRAM_INVCLK&15]} else {set CONFIG_MCTRL_SDRAM_INVCLK [expr $CONFIG_MCTRL_SDRAM_INVCLK|16]} | ||||
global CONFIG_MCTRL_PAGE | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1)} then { | ||||
set CONFIG_MCTRL_PAGE [expr $CONFIG_MCTRL_PAGE&15]} else {set CONFIG_MCTRL_PAGE [expr $CONFIG_MCTRL_PAGE|16]} | ||||
global CONFIG_MCTRL_PROGPAGE | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_PAGE == 1)} then { | ||||
set CONFIG_MCTRL_PROGPAGE [expr $CONFIG_MCTRL_PROGPAGE&15]} else {set CONFIG_MCTRL_PROGPAGE [expr $CONFIG_MCTRL_PROGPAGE|16]} | ||||
} | ||||
proc menu16 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu14} | ||||
catch {destroy $w; unregister_active 16} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 16]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"MIG memory controller " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "MIG memory controller " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 16; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 16; catch {destroy .menu14}; unregister_active 14; menu17 .menu17 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 16" | ||||
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 16; menu15 .menu15 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 16; menu15 .menu15 \"$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 16 0 "Enable Xilinx MIG memory controller" CONFIG_MIG_DDR2 | ||||
int $w.config.f 16 1 "Chip selects (ranks) " CONFIG_MIG_RANKS | ||||
int $w.config.f 16 2 "Column bits " CONFIG_MIG_COLBITS | ||||
int $w.config.f 16 3 "Row bits " CONFIG_MIG_ROWBITS | ||||
int $w.config.f 16 4 "Bank bits " CONFIG_MIG_BANKBITS | ||||
hex $w.config.f 16 5 "AHB HMASK " CONFIG_MIG_HMASK | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu14] == 0} then {menu14 .menu14 "Memory controller "} | ||||
set winx [expr [winfo x .menu14]+30]; set winy [expr [winfo y .menu14]+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_menu16 {} { | ||||
global CONFIG_MIG_DDR2 | ||||
global CONFIG_MIG_RANKS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {.menu16.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu16.config.f.x1.l configure -state normal; } else {.menu16.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu16.config.f.x1.l configure -state disabled} | ||||
global CONFIG_MIG_COLBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {.menu16.config.f.x2.x configure -state normal -foreground [ cget .ref -foreground ]; .menu16.config.f.x2.l configure -state normal; } else {.menu16.config.f.x2.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu16.config.f.x2.l configure -state disabled} | ||||
global CONFIG_MIG_ROWBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {.menu16.config.f.x3.x configure -state normal -foreground [ cget .ref -foreground ]; .menu16.config.f.x3.l configure -state normal; } else {.menu16.config.f.x3.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu16.config.f.x3.l configure -state disabled} | ||||
global CONFIG_MIG_BANKBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {.menu16.config.f.x4.x configure -state normal -foreground [ cget .ref -foreground ]; .menu16.config.f.x4.l configure -state normal; } else {.menu16.config.f.x4.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu16.config.f.x4.l configure -state disabled} | ||||
global CONFIG_MIG_HMASK | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {.menu16.config.f.x5.x configure -state normal -foreground [ cget .ref -foreground ]; .menu16.config.f.x5.l configure -state normal; } else {.menu16.config.f.x5.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu16.config.f.x5.l configure -state disabled} | ||||
} | ||||
proc update_define_menu16 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_MIG_DDR2 | ||||
global CONFIG_MIG_RANKS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {validate_int CONFIG_MIG_RANKS "$CONFIG_MIG_RANKS" 1} | ||||
global CONFIG_MIG_COLBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {validate_int CONFIG_MIG_COLBITS "$CONFIG_MIG_COLBITS" 10} | ||||
global CONFIG_MIG_ROWBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {validate_int CONFIG_MIG_ROWBITS "$CONFIG_MIG_ROWBITS" 13} | ||||
global CONFIG_MIG_BANKBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {validate_int CONFIG_MIG_BANKBITS "$CONFIG_MIG_BANKBITS" 2} | ||||
global CONFIG_MIG_HMASK | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {validate_hex CONFIG_MIG_HMASK "$CONFIG_MIG_HMASK" F00} | ||||
} | ||||
proc menu17 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu13} | ||||
catch {destroy $w; unregister_active 17} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 17]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"On-chip RAM/ROM " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "On-chip RAM/ROM " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 17; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 17; menu18 .menu18 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 17" | ||||
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 17; menu16 .menu16 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 17; menu16 .menu16 \"$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 17 0 "On-chip AHB ROM " CONFIG_AHBROM_ENABLE | ||||
hex $w.config.f 17 1 "ROM start address (haddr\[31:20\]) " CONFIG_AHBROM_START | ||||
bool $w.config.f 17 2 "Pipelined ROM access " CONFIG_AHBROM_PIPE | ||||
bool $w.config.f 17 3 "On-chip AHB RAM " CONFIG_AHBRAM_ENABLE | ||||
global tmpvar_27 | ||||
minimenu $w.config.f 17 4 "AHB RAM size (Kbyte)" tmpvar_27 CONFIG_AHBRAM_SZ1 | ||||
menu $w.config.f.x4.x.menu -tearoffcommand "menutitle \"AHB RAM size (Kbyte)\"" | ||||
$w.config.f.x4.x.menu add radiobutton -label "1" -variable tmpvar_27 -value "1" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "2" -variable tmpvar_27 -value "2" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "4" -variable tmpvar_27 -value "4" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "8" -variable tmpvar_27 -value "8" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "16" -variable tmpvar_27 -value "16" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "32" -variable tmpvar_27 -value "32" -command "update_active" | ||||
$w.config.f.x4.x.menu add radiobutton -label "64" -variable tmpvar_27 -value "64" -command "update_active" | ||||
menusplit $w $w.config.f.x4.x.menu 7 | ||||
hex $w.config.f 17 5 "RAM start address (haddr\[31:20\]) " CONFIG_AHBRAM_START | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu13] == 0} then {menu13 .menu13 "Peripherals "} | ||||
set winx [expr [winfo x .menu13]+30]; set winy [expr [winfo y .menu13]+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_menu17 {} { | ||||
global CONFIG_AHBROM_ENABLE | ||||
global CONFIG_AHBROM_START | ||||
if {($CONFIG_AHBROM_ENABLE == 1)} then {.menu17.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu17.config.f.x1.l configure -state normal; } else {.menu17.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu17.config.f.x1.l configure -state disabled} | ||||
global CONFIG_AHBROM_PIPE | ||||
if {($CONFIG_AHBROM_ENABLE == 1)} then { | ||||
configure_entry .menu17.config.f.x2 normal {n l y}} else {configure_entry .menu17.config.f.x2 disabled {y n l}} | ||||
global CONFIG_AHBRAM_ENABLE | ||||
if {($CONFIG_AHBRAM_ENABLE == 1)} then {configure_entry .menu17.config.f.x4 normal {x l}} else {configure_entry .menu17.config.f.x4 disabled {x l}} | ||||
global CONFIG_AHBRAM_START | ||||
if {($CONFIG_AHBRAM_ENABLE == 1)} then {.menu17.config.f.x5.x configure -state normal -foreground [ cget .ref -foreground ]; .menu17.config.f.x5.l configure -state normal; } else {.menu17.config.f.x5.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu17.config.f.x5.l configure -state disabled} | ||||
} | ||||
proc update_define_menu17 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_AHBROM_ENABLE | ||||
global CONFIG_AHBROM_START | ||||
if {($CONFIG_AHBROM_ENABLE == 1)} then {validate_hex CONFIG_AHBROM_START "$CONFIG_AHBROM_START" 000} | ||||
global CONFIG_AHBROM_PIPE | ||||
if {($CONFIG_AHBROM_ENABLE == 1)} then { | ||||
set CONFIG_AHBROM_PIPE [expr $CONFIG_AHBROM_PIPE&15]} else {set CONFIG_AHBROM_PIPE [expr $CONFIG_AHBROM_PIPE|16]} | ||||
global tmpvar_27 | ||||
global CONFIG_AHBRAM_SZ1 | ||||
if {$tmpvar_27 == "1"} then {set CONFIG_AHBRAM_SZ1 1} else {set CONFIG_AHBRAM_SZ1 0} | ||||
global CONFIG_AHBRAM_SZ2 | ||||
if {$tmpvar_27 == "2"} then {set CONFIG_AHBRAM_SZ2 1} else {set CONFIG_AHBRAM_SZ2 0} | ||||
global CONFIG_AHBRAM_SZ4 | ||||
if {$tmpvar_27 == "4"} then {set CONFIG_AHBRAM_SZ4 1} else {set CONFIG_AHBRAM_SZ4 0} | ||||
global CONFIG_AHBRAM_SZ8 | ||||
if {$tmpvar_27 == "8"} then {set CONFIG_AHBRAM_SZ8 1} else {set CONFIG_AHBRAM_SZ8 0} | ||||
global CONFIG_AHBRAM_SZ16 | ||||
if {$tmpvar_27 == "16"} then {set CONFIG_AHBRAM_SZ16 1} else {set CONFIG_AHBRAM_SZ16 0} | ||||
global CONFIG_AHBRAM_SZ32 | ||||
if {$tmpvar_27 == "32"} then {set CONFIG_AHBRAM_SZ32 1} else {set CONFIG_AHBRAM_SZ32 0} | ||||
global CONFIG_AHBRAM_SZ64 | ||||
if {$tmpvar_27 == "64"} then {set CONFIG_AHBRAM_SZ64 1} else {set CONFIG_AHBRAM_SZ64 0} | ||||
global CONFIG_AHBRAM_ENABLE | ||||
global CONFIG_AHBRAM_START | ||||
if {($CONFIG_AHBRAM_ENABLE == 1)} then {validate_hex CONFIG_AHBRAM_START "$CONFIG_AHBRAM_START" A00} | ||||
} | ||||
proc menu18 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu13} | ||||
catch {destroy $w; unregister_active 18} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 18]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Ethernet " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Ethernet " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 18; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 18; menu19 .menu19 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 18" | ||||
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 18; menu17 .menu17 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 18; menu17 .menu17 \"$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 18 0 "Gaisler Research 10/100/1000 Mbit Ethernet MAC " CONFIG_GRETH_ENABLE | ||||
bool $w.config.f 18 1 "Enable 1000 Mbit support " CONFIG_GRETH_GIGA | ||||
global tmpvar_28 | ||||
minimenu $w.config.f 18 2 "AHB FIFO size (words) " tmpvar_28 CONFIG_GRETH_FIFO4 | ||||
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"AHB FIFO size (words) \"" | ||||
$w.config.f.x2.x.menu add radiobutton -label "4" -variable tmpvar_28 -value "4" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "8" -variable tmpvar_28 -value "8" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "16" -variable tmpvar_28 -value "16" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "32" -variable tmpvar_28 -value "32" -command "update_active" | ||||
$w.config.f.x2.x.menu add radiobutton -label "64" -variable tmpvar_28 -value "64" -command "update_active" | ||||
menusplit $w $w.config.f.x2.x.menu 5 | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu13] == 0} then {menu13 .menu13 "Peripherals "} | ||||
set winx [expr [winfo x .menu13]+30]; set winy [expr [winfo y .menu13]+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_menu18 {} { | ||||
global CONFIG_GRETH_ENABLE | ||||
global CONFIG_GRETH_GIGA | ||||
if {($CONFIG_GRETH_ENABLE == 1)} then { | ||||
configure_entry .menu18.config.f.x1 normal {n l y}} else {configure_entry .menu18.config.f.x1 disabled {y n l}} | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_GRETH_GIGA == 0)} then {configure_entry .menu18.config.f.x2 normal {x l}} else {configure_entry .menu18.config.f.x2 disabled {x l}} | ||||
} | ||||
proc update_define_menu18 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_GRETH_ENABLE | ||||
global CONFIG_GRETH_GIGA | ||||
if {($CONFIG_GRETH_ENABLE == 1)} then { | ||||
set CONFIG_GRETH_GIGA [expr $CONFIG_GRETH_GIGA&15]} else {set CONFIG_GRETH_GIGA [expr $CONFIG_GRETH_GIGA|16]} | ||||
global tmpvar_28 | ||||
global CONFIG_GRETH_FIFO4 | ||||
if {$tmpvar_28 == "4"} then {set CONFIG_GRETH_FIFO4 1} else {set CONFIG_GRETH_FIFO4 0} | ||||
global CONFIG_GRETH_FIFO8 | ||||
if {$tmpvar_28 == "8"} then {set CONFIG_GRETH_FIFO8 1} else {set CONFIG_GRETH_FIFO8 0} | ||||
global CONFIG_GRETH_FIFO16 | ||||
if {$tmpvar_28 == "16"} then {set CONFIG_GRETH_FIFO16 1} else {set CONFIG_GRETH_FIFO16 0} | ||||
global CONFIG_GRETH_FIFO32 | ||||
if {$tmpvar_28 == "32"} then {set CONFIG_GRETH_FIFO32 1} else {set CONFIG_GRETH_FIFO32 0} | ||||
global CONFIG_GRETH_FIFO64 | ||||
if {$tmpvar_28 == "64"} then {set CONFIG_GRETH_FIFO64 1} else {set CONFIG_GRETH_FIFO64 0} | ||||
} | ||||
proc menu19 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu13} | ||||
catch {destroy $w; unregister_active 19} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 19]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"UART, timer, I/O port and interrupt controller" -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "UART, timer, I/O port and interrupt controller" | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 19; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 19; menu20 .menu20 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 19" | ||||
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 19; menu18 .menu18 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 19; menu18 .menu18 \"$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 19 0 "Enable console UART " CONFIG_UART1_ENABLE | ||||
global tmpvar_29 | ||||
minimenu $w.config.f 19 1 "UART1 FIFO depth" tmpvar_29 CONFIG_UA1_FIFO1 | ||||
menu $w.config.f.x1.x.menu -tearoffcommand "menutitle \"UART1 FIFO depth\"" | ||||
$w.config.f.x1.x.menu add radiobutton -label "1" -variable tmpvar_29 -value "1" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "2" -variable tmpvar_29 -value "2" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "4" -variable tmpvar_29 -value "4" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "8" -variable tmpvar_29 -value "8" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "16" -variable tmpvar_29 -value "16" -command "update_active" | ||||
$w.config.f.x1.x.menu add radiobutton -label "32" -variable tmpvar_29 -value "32" -command "update_active" | ||||
menusplit $w $w.config.f.x1.x.menu 6 | ||||
bool $w.config.f 19 2 "Enable LEON3 interrupt controller " CONFIG_IRQ3_ENABLE | ||||
bool $w.config.f 19 3 "Enable secondary interrupts " CONFIG_IRQ3_SEC | ||||
int $w.config.f 19 4 "Secondary interrupt number (1 - 15) " CONFIG_IRQ3_NSEC | ||||
bool $w.config.f 19 5 "Enable Timer Unit " CONFIG_GPT_ENABLE | ||||
int $w.config.f 19 6 "Number of timers (1 - 7) " CONFIG_GPT_NTIM | ||||
int $w.config.f 19 7 "Scaler width (2 - 16) " CONFIG_GPT_SW | ||||
int $w.config.f 19 8 "Timer width (2 - 32) " CONFIG_GPT_TW | ||||
int $w.config.f 19 9 "Timer unit interrupt " CONFIG_GPT_IRQ | ||||
bool $w.config.f 19 10 "Separate interrupts " CONFIG_GPT_SEPIRQ | ||||
bool $w.config.f 19 11 "Watchdog enable " CONFIG_GPT_WDOGEN | ||||
hex $w.config.f 19 12 "Initial watchdog time-out value " CONFIG_GPT_WDOG | ||||
bool $w.config.f 19 13 "Enable generic GPIO port " CONFIG_GRGPIO_ENABLE | ||||
int $w.config.f 19 14 "GPIO width " CONFIG_GRGPIO_WIDTH | ||||
hex $w.config.f 19 15 "GPIO interrupt mask " CONFIG_GRGPIO_IMASK | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu13] == 0} then {menu13 .menu13 "Peripherals "} | ||||
set winx [expr [winfo x .menu13]+30]; set winy [expr [winfo y .menu13]+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_menu19 {} { | ||||
global CONFIG_UART1_ENABLE | ||||
if {($CONFIG_UART1_ENABLE == 1)} then {configure_entry .menu19.config.f.x1 normal {x l}} else {configure_entry .menu19.config.f.x1 disabled {x l}} | ||||
global CONFIG_IRQ3_ENABLE | ||||
global CONFIG_IRQ3_SEC | ||||
if {($CONFIG_IRQ3_ENABLE == 1)} then { | ||||
configure_entry .menu19.config.f.x3 normal {n l y}} else {configure_entry .menu19.config.f.x3 disabled {y n l}} | ||||
global CONFIG_IRQ3_NSEC | ||||
if {($CONFIG_IRQ3_ENABLE == 1) && ($CONFIG_IRQ3_SEC == 1)} then {.menu19.config.f.x4.x configure -state normal -foreground [ cget .ref -foreground ]; .menu19.config.f.x4.l configure -state normal; } else {.menu19.config.f.x4.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu19.config.f.x4.l configure -state disabled} | ||||
global CONFIG_GPT_ENABLE | ||||
global CONFIG_GPT_NTIM | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {.menu19.config.f.x6.x configure -state normal -foreground [ cget .ref -foreground ]; .menu19.config.f.x6.l configure -state normal; } else {.menu19.config.f.x6.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu19.config.f.x6.l configure -state disabled} | ||||
global CONFIG_GPT_SW | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {.menu19.config.f.x7.x configure -state normal -foreground [ cget .ref -foreground ]; .menu19.config.f.x7.l configure -state normal; } else {.menu19.config.f.x7.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu19.config.f.x7.l configure -state disabled} | ||||
global CONFIG_GPT_TW | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {.menu19.config.f.x8.x configure -state normal -foreground [ cget .ref -foreground ]; .menu19.config.f.x8.l configure -state normal; } else {.menu19.config.f.x8.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu19.config.f.x8.l configure -state disabled} | ||||
global CONFIG_GPT_IRQ | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {.menu19.config.f.x9.x configure -state normal -foreground [ cget .ref -foreground ]; .menu19.config.f.x9.l configure -state normal; } else {.menu19.config.f.x9.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu19.config.f.x9.l configure -state disabled} | ||||
global CONFIG_GPT_SEPIRQ | ||||
if {($CONFIG_GPT_ENABLE == 1)} then { | ||||
configure_entry .menu19.config.f.x10 normal {n l y}} else {configure_entry .menu19.config.f.x10 disabled {y n l}} | ||||
global CONFIG_GPT_WDOGEN | ||||
if {($CONFIG_GPT_ENABLE == 1)} then { | ||||
configure_entry .menu19.config.f.x11 normal {n l y}} else {configure_entry .menu19.config.f.x11 disabled {y n l}} | ||||
global CONFIG_GPT_WDOG | ||||
if {($CONFIG_GPT_ENABLE == 1) && ($CONFIG_GPT_WDOGEN == 1)} then {.menu19.config.f.x12.x configure -state normal -foreground [ cget .ref -foreground ]; .menu19.config.f.x12.l configure -state normal; } else {.menu19.config.f.x12.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu19.config.f.x12.l configure -state disabled} | ||||
global CONFIG_GRGPIO_ENABLE | ||||
global CONFIG_GRGPIO_WIDTH | ||||
if {($CONFIG_GRGPIO_ENABLE == 1)} then {.menu19.config.f.x14.x configure -state normal -foreground [ cget .ref -foreground ]; .menu19.config.f.x14.l configure -state normal; } else {.menu19.config.f.x14.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu19.config.f.x14.l configure -state disabled} | ||||
global CONFIG_GRGPIO_IMASK | ||||
if {($CONFIG_GRGPIO_ENABLE == 1)} then {.menu19.config.f.x15.x configure -state normal -foreground [ cget .ref -foreground ]; .menu19.config.f.x15.l configure -state normal; } else {.menu19.config.f.x15.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu19.config.f.x15.l configure -state disabled} | ||||
} | ||||
proc update_define_menu19 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global tmpvar_29 | ||||
global CONFIG_UA1_FIFO1 | ||||
if {$tmpvar_29 == "1"} then {set CONFIG_UA1_FIFO1 1} else {set CONFIG_UA1_FIFO1 0} | ||||
global CONFIG_UA1_FIFO2 | ||||
if {$tmpvar_29 == "2"} then {set CONFIG_UA1_FIFO2 1} else {set CONFIG_UA1_FIFO2 0} | ||||
global CONFIG_UA1_FIFO4 | ||||
if {$tmpvar_29 == "4"} then {set CONFIG_UA1_FIFO4 1} else {set CONFIG_UA1_FIFO4 0} | ||||
global CONFIG_UA1_FIFO8 | ||||
if {$tmpvar_29 == "8"} then {set CONFIG_UA1_FIFO8 1} else {set CONFIG_UA1_FIFO8 0} | ||||
global CONFIG_UA1_FIFO16 | ||||
if {$tmpvar_29 == "16"} then {set CONFIG_UA1_FIFO16 1} else {set CONFIG_UA1_FIFO16 0} | ||||
global CONFIG_UA1_FIFO32 | ||||
if {$tmpvar_29 == "32"} then {set CONFIG_UA1_FIFO32 1} else {set CONFIG_UA1_FIFO32 0} | ||||
global CONFIG_IRQ3_ENABLE | ||||
global CONFIG_IRQ3_SEC | ||||
if {($CONFIG_IRQ3_ENABLE == 1)} then { | ||||
set CONFIG_IRQ3_SEC [expr $CONFIG_IRQ3_SEC&15]} else {set CONFIG_IRQ3_SEC [expr $CONFIG_IRQ3_SEC|16]} | ||||
global CONFIG_IRQ3_NSEC | ||||
if {($CONFIG_IRQ3_ENABLE == 1) && ($CONFIG_IRQ3_SEC == 1)} then {validate_int CONFIG_IRQ3_NSEC "$CONFIG_IRQ3_NSEC" 12} | ||||
global CONFIG_GPT_ENABLE | ||||
global CONFIG_GPT_NTIM | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {validate_int CONFIG_GPT_NTIM "$CONFIG_GPT_NTIM" 2} | ||||
global CONFIG_GPT_SW | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {validate_int CONFIG_GPT_SW "$CONFIG_GPT_SW" 8} | ||||
global CONFIG_GPT_TW | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {validate_int CONFIG_GPT_TW "$CONFIG_GPT_TW" 32} | ||||
global CONFIG_GPT_IRQ | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {validate_int CONFIG_GPT_IRQ "$CONFIG_GPT_IRQ" 8} | ||||
global CONFIG_GPT_SEPIRQ | ||||
if {($CONFIG_GPT_ENABLE == 1)} then { | ||||
set CONFIG_GPT_SEPIRQ [expr $CONFIG_GPT_SEPIRQ&15]} else {set CONFIG_GPT_SEPIRQ [expr $CONFIG_GPT_SEPIRQ|16]} | ||||
global CONFIG_GPT_WDOGEN | ||||
if {($CONFIG_GPT_ENABLE == 1)} then { | ||||
set CONFIG_GPT_WDOGEN [expr $CONFIG_GPT_WDOGEN&15]} else {set CONFIG_GPT_WDOGEN [expr $CONFIG_GPT_WDOGEN|16]} | ||||
global CONFIG_GPT_WDOG | ||||
if {($CONFIG_GPT_ENABLE == 1) && ($CONFIG_GPT_WDOGEN == 1)} then {validate_hex CONFIG_GPT_WDOG "$CONFIG_GPT_WDOG" FFFF} | ||||
global CONFIG_GRGPIO_ENABLE | ||||
global CONFIG_GRGPIO_WIDTH | ||||
if {($CONFIG_GRGPIO_ENABLE == 1)} then {validate_int CONFIG_GRGPIO_WIDTH "$CONFIG_GRGPIO_WIDTH" 8} | ||||
global CONFIG_GRGPIO_IMASK | ||||
if {($CONFIG_GRGPIO_ENABLE == 1)} then {validate_hex CONFIG_GRGPIO_IMASK "$CONFIG_GRGPIO_IMASK" 0000} | ||||
} | ||||
proc menu20 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu13} | ||||
catch {destroy $w; unregister_active 20} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 20]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"Keybord and VGA interface" -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "Keybord and VGA interface" | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 20; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 20; menu21 .menu21 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 20" | ||||
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 20; menu19 .menu19 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 20; menu19 .menu19 \"$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 20 0 "Keyboard/mouse (PS2) interface " CONFIG_KBD_ENABLE | ||||
bool $w.config.f 20 1 "Text-based VGA interface " CONFIG_VGA_ENABLE | ||||
bool $w.config.f 20 2 "SVGA graphical frame buffer " CONFIG_SVGA_ENABLE | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu13] == 0} then {menu13 .menu13 "Peripherals "} | ||||
set winx [expr [winfo x .menu13]+30]; set winy [expr [winfo y .menu13]+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_menu20 {} { | ||||
global CONFIG_VGA_ENABLE | ||||
global CONFIG_SVGA_ENABLE | ||||
if {($CONFIG_VGA_ENABLE == 0)} then { | ||||
configure_entry .menu20.config.f.x2 normal {n l y}} else {configure_entry .menu20.config.f.x2 disabled {y n l}} | ||||
} | ||||
proc update_define_menu20 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_VGA_ENABLE | ||||
global CONFIG_SVGA_ENABLE | ||||
if {($CONFIG_VGA_ENABLE == 0)} then { | ||||
set CONFIG_SVGA_ENABLE [expr $CONFIG_SVGA_ENABLE&15]} else {set CONFIG_SVGA_ENABLE [expr $CONFIG_SVGA_ENABLE|16]} | ||||
} | ||||
proc menu21 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu13} | ||||
catch {destroy $w; unregister_active 21} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 21]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"SPI" -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "SPI" | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 21; break" | ||||
set nextscript "catch {focus $oldFocus}; menu22 .menu22 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 21" | ||||
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 21; menu20 .menu20 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 21; menu20 .menu20 \"$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 | ||||
submenu $w.config.f 21 0 "SPI memory controller " 22 | ||||
submenu $w.config.f 21 1 "SPI controller(s) " 23 | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu13] == 0} then {menu13 .menu13 "Peripherals "} | ||||
set winx [expr [winfo x .menu13]+30]; set winy [expr [winfo y .menu13]+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_menu21 {} { | ||||
} | ||||
proc update_define_menu21 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
} | ||||
proc menu22 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu21} | ||||
catch {destroy $w; unregister_active 22} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 22]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"SPI memory controller " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "SPI memory controller " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 22; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 22; menu23 .menu23 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 22" | ||||
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 22; menu21 .menu21 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 22; menu21 .menu21 \"$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 22 0 "Enable SPI memory controller " CONFIG_SPIMCTRL | ||||
bool $w.config.f 22 1 "Enable SD card support " CONFIG_SPIMCTRL_SDCARD | ||||
hex $w.config.f 22 2 "Read instruction " CONFIG_SPIMCTRL_READCMD | ||||
bool $w.config.f 22 3 "Read instruction requires dummy byte " CONFIG_SPIMCTRL_DUMMYBYTE | ||||
bool $w.config.f 22 4 "Enable dual output for reads " CONFIG_SPIMCTRL_DUALOUTPUT | ||||
int $w.config.f 22 5 "Clock divisor for device clock" CONFIG_SPIMCTRL_SCALER | ||||
int $w.config.f 22 6 "Clock divisor for alt. device clock" CONFIG_SPIMCTRL_ASCALER | ||||
int $w.config.f 22 7 "Number of clock cycles to idle after power up " CONFIG_SPIMCTRL_PWRUPCNT | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu21] == 0} then {menu21 .menu21 "SPI"} | ||||
set winx [expr [winfo x .menu21]+30]; set winy [expr [winfo y .menu21]+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_menu22 {} { | ||||
global CONFIG_SPIMCTRL | ||||
global CONFIG_SPIMCTRL_SDCARD | ||||
if {($CONFIG_SPIMCTRL == 1)} then { | ||||
configure_entry .menu22.config.f.x1 normal {n l y}} else {configure_entry .menu22.config.f.x1 disabled {y n l}} | ||||
global CONFIG_SPIMCTRL_READCMD | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then {.menu22.config.f.x2.x configure -state normal -foreground [ cget .ref -foreground ]; .menu22.config.f.x2.l configure -state normal; } else {.menu22.config.f.x2.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu22.config.f.x2.l configure -state disabled} | ||||
global CONFIG_SPIMCTRL_DUMMYBYTE | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then { | ||||
configure_entry .menu22.config.f.x3 normal {n l y}} else {configure_entry .menu22.config.f.x3 disabled {y n l}} | ||||
global CONFIG_SPIMCTRL_DUALOUTPUT | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then { | ||||
configure_entry .menu22.config.f.x4 normal {n l y}} else {configure_entry .menu22.config.f.x4 disabled {y n l}} | ||||
global CONFIG_SPIMCTRL_SCALER | ||||
if {($CONFIG_SPIMCTRL == 1)} then {.menu22.config.f.x5.x configure -state normal -foreground [ cget .ref -foreground ]; .menu22.config.f.x5.l configure -state normal; } else {.menu22.config.f.x5.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu22.config.f.x5.l configure -state disabled} | ||||
global CONFIG_SPIMCTRL_ASCALER | ||||
if {($CONFIG_SPIMCTRL == 1)} then {.menu22.config.f.x6.x configure -state normal -foreground [ cget .ref -foreground ]; .menu22.config.f.x6.l configure -state normal; } else {.menu22.config.f.x6.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu22.config.f.x6.l configure -state disabled} | ||||
global CONFIG_SPIMCTRL_PWRUPCNT | ||||
if {($CONFIG_SPIMCTRL == 1)} then {.menu22.config.f.x7.x configure -state normal -foreground [ cget .ref -foreground ]; .menu22.config.f.x7.l configure -state normal; } else {.menu22.config.f.x7.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu22.config.f.x7.l configure -state disabled} | ||||
} | ||||
proc update_define_menu22 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_SPIMCTRL | ||||
global CONFIG_SPIMCTRL_SDCARD | ||||
if {($CONFIG_SPIMCTRL == 1)} then { | ||||
set CONFIG_SPIMCTRL_SDCARD [expr $CONFIG_SPIMCTRL_SDCARD&15]} else {set CONFIG_SPIMCTRL_SDCARD [expr $CONFIG_SPIMCTRL_SDCARD|16]} | ||||
global CONFIG_SPIMCTRL_READCMD | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then {validate_hex CONFIG_SPIMCTRL_READCMD "$CONFIG_SPIMCTRL_READCMD" 0B} | ||||
global CONFIG_SPIMCTRL_DUMMYBYTE | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then { | ||||
set CONFIG_SPIMCTRL_DUMMYBYTE [expr $CONFIG_SPIMCTRL_DUMMYBYTE&15]} else {set CONFIG_SPIMCTRL_DUMMYBYTE [expr $CONFIG_SPIMCTRL_DUMMYBYTE|16]} | ||||
global CONFIG_SPIMCTRL_DUALOUTPUT | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then { | ||||
set CONFIG_SPIMCTRL_DUALOUTPUT [expr $CONFIG_SPIMCTRL_DUALOUTPUT&15]} else {set CONFIG_SPIMCTRL_DUALOUTPUT [expr $CONFIG_SPIMCTRL_DUALOUTPUT|16]} | ||||
global CONFIG_SPIMCTRL_SCALER | ||||
if {($CONFIG_SPIMCTRL == 1)} then {validate_int CONFIG_SPIMCTRL_SCALER "$CONFIG_SPIMCTRL_SCALER" 1} | ||||
global CONFIG_SPIMCTRL_ASCALER | ||||
if {($CONFIG_SPIMCTRL == 1)} then {validate_int CONFIG_SPIMCTRL_ASCALER "$CONFIG_SPIMCTRL_ASCALER" 8} | ||||
global CONFIG_SPIMCTRL_PWRUPCNT | ||||
if {($CONFIG_SPIMCTRL == 1)} then {validate_int CONFIG_SPIMCTRL_PWRUPCNT "$CONFIG_SPIMCTRL_PWRUPCNT" 0} | ||||
} | ||||
proc menu23 {w title} { | ||||
set oldFocus [focus] | ||||
catch {focus .menu21} | ||||
catch {destroy $w; unregister_active 23} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 23]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"SPI controller(s) " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "SPI controller(s) " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 23; break" | ||||
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 23; catch {destroy .menu21}; unregister_active 21; catch {destroy .menu13}; unregister_active 13; menu24 .menu24 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "OK" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 23" | ||||
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 23; menu22 .menu22 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 23; menu22 .menu22 \"$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 23 0 "Enable SPI controller(s) " CONFIG_SPICTRL_ENABLE | ||||
int $w.config.f 23 1 "Number of SPI controllers " CONFIG_SPICTRL_NUM | ||||
int $w.config.f 23 2 "Slave select lines " CONFIG_SPICTRL_SLVS | ||||
int $w.config.f 23 3 "FIFO depth (2^N) " CONFIG_SPICTRL_FIFO | ||||
bool $w.config.f 23 4 "Enable slave select registers" CONFIG_SPICTRL_SLVREG | ||||
bool $w.config.f 23 5 "Enable automatic slave select" CONFIG_SPICTRL_ASEL | ||||
bool $w.config.f 23 6 "Support automated transfers " CONFIG_SPICTRL_AM | ||||
bool $w.config.f 23 7 "Support open drain mode " CONFIG_SPICTRL_ODMODE | ||||
bool $w.config.f 23 8 "Support three-wire mode " CONFIG_SPICTRL_TWEN | ||||
int $w.config.f 23 9 "Maximum supported word length (see help!) " CONFIG_SPICTRL_MAXWLEN | ||||
bool $w.config.f 23 10 "Use SYNCRAM for rx and tx queues " CONFIG_SPICTRL_SYNCRAM | ||||
global tmpvar_30 | ||||
minimenu $w.config.f 23 11 "Fault-tolerance" tmpvar_30 CONFIG_SPICTRL_NOFT | ||||
menu $w.config.f.x11.x.menu -tearoffcommand "menutitle \"Fault-tolerance\"" | ||||
$w.config.f.x11.x.menu add radiobutton -label "None" -variable tmpvar_30 -value "None" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "Parity-DMR" -variable tmpvar_30 -value "Parity-DMR" -command "update_active" | ||||
$w.config.f.x11.x.menu add radiobutton -label "TMR" -variable tmpvar_30 -value "TMR" -command "update_active" | ||||
menusplit $w $w.config.f.x11.x.menu 3 | ||||
focus $w | ||||
update_active | ||||
global winx; global winy | ||||
if {[winfo exists .menu21] == 0} then {menu21 .menu21 "SPI"} | ||||
set winx [expr [winfo x .menu21]+30]; set winy [expr [winfo y .menu21]+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_menu23 {} { | ||||
global CONFIG_SPICTRL_ENABLE | ||||
global CONFIG_SPICTRL_NUM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {.menu23.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x1.l configure -state normal; } else {.menu23.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x1.l configure -state disabled} | ||||
global CONFIG_SPICTRL_SLVS | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {.menu23.config.f.x2.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x2.l configure -state normal; } else {.menu23.config.f.x2.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x2.l configure -state disabled} | ||||
global CONFIG_SPICTRL_FIFO | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {.menu23.config.f.x3.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x3.l configure -state normal; } else {.menu23.config.f.x3.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x3.l configure -state disabled} | ||||
global CONFIG_SPICTRL_SLVREG | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
configure_entry .menu23.config.f.x4 normal {n l y}} else {configure_entry .menu23.config.f.x4 disabled {y n l}} | ||||
global CONFIG_SPICTRL_ASEL | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
configure_entry .menu23.config.f.x5 normal {n l y}} else {configure_entry .menu23.config.f.x5 disabled {y n l}} | ||||
global CONFIG_SPICTRL_AM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
configure_entry .menu23.config.f.x6 normal {n l y}} else {configure_entry .menu23.config.f.x6 disabled {y n l}} | ||||
global CONFIG_SPICTRL_ODMODE | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
configure_entry .menu23.config.f.x7 normal {n l y}} else {configure_entry .menu23.config.f.x7 disabled {y n l}} | ||||
global CONFIG_SPICTRL_TWEN | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
configure_entry .menu23.config.f.x8 normal {n l y}} else {configure_entry .menu23.config.f.x8 disabled {y n l}} | ||||
global CONFIG_SPICTRL_MAXWLEN | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {.menu23.config.f.x9.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x9.l configure -state normal; } else {.menu23.config.f.x9.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x9.l configure -state disabled} | ||||
global CONFIG_SPICTRL_SYNCRAM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
configure_entry .menu23.config.f.x10 normal {n l y}} else {configure_entry .menu23.config.f.x10 disabled {y n l}} | ||||
if {($CONFIG_SPICTRL_ENABLE == 1) && ($CONFIG_SPICTRL_SYNCRAM == 1)} then {configure_entry .menu23.config.f.x11 normal {x l}} else {configure_entry .menu23.config.f.x11 disabled {x l}} | ||||
} | ||||
proc update_define_menu23 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
global CONFIG_SPICTRL_ENABLE | ||||
global CONFIG_SPICTRL_NUM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {validate_int CONFIG_SPICTRL_NUM "$CONFIG_SPICTRL_NUM" 1} | ||||
global CONFIG_SPICTRL_SLVS | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {validate_int CONFIG_SPICTRL_SLVS "$CONFIG_SPICTRL_SLVS" 1} | ||||
global CONFIG_SPICTRL_FIFO | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {validate_int CONFIG_SPICTRL_FIFO "$CONFIG_SPICTRL_FIFO" 1} | ||||
global CONFIG_SPICTRL_SLVREG | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
set CONFIG_SPICTRL_SLVREG [expr $CONFIG_SPICTRL_SLVREG&15]} else {set CONFIG_SPICTRL_SLVREG [expr $CONFIG_SPICTRL_SLVREG|16]} | ||||
global CONFIG_SPICTRL_ASEL | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
set CONFIG_SPICTRL_ASEL [expr $CONFIG_SPICTRL_ASEL&15]} else {set CONFIG_SPICTRL_ASEL [expr $CONFIG_SPICTRL_ASEL|16]} | ||||
global CONFIG_SPICTRL_AM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
set CONFIG_SPICTRL_AM [expr $CONFIG_SPICTRL_AM&15]} else {set CONFIG_SPICTRL_AM [expr $CONFIG_SPICTRL_AM|16]} | ||||
global CONFIG_SPICTRL_ODMODE | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
set CONFIG_SPICTRL_ODMODE [expr $CONFIG_SPICTRL_ODMODE&15]} else {set CONFIG_SPICTRL_ODMODE [expr $CONFIG_SPICTRL_ODMODE|16]} | ||||
global CONFIG_SPICTRL_TWEN | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
set CONFIG_SPICTRL_TWEN [expr $CONFIG_SPICTRL_TWEN&15]} else {set CONFIG_SPICTRL_TWEN [expr $CONFIG_SPICTRL_TWEN|16]} | ||||
global CONFIG_SPICTRL_MAXWLEN | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {validate_int CONFIG_SPICTRL_MAXWLEN "$CONFIG_SPICTRL_MAXWLEN" 0} | ||||
global CONFIG_SPICTRL_SYNCRAM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then { | ||||
set CONFIG_SPICTRL_SYNCRAM [expr $CONFIG_SPICTRL_SYNCRAM&15]} else {set CONFIG_SPICTRL_SYNCRAM [expr $CONFIG_SPICTRL_SYNCRAM|16]} | ||||
global tmpvar_30 | ||||
global CONFIG_SPICTRL_NOFT | ||||
if {$tmpvar_30 == "None"} then {set CONFIG_SPICTRL_NOFT 1} else {set CONFIG_SPICTRL_NOFT 0} | ||||
global CONFIG_SPICTRL_DMRFT | ||||
if {$tmpvar_30 == "Parity-DMR"} then {set CONFIG_SPICTRL_DMRFT 1} else {set CONFIG_SPICTRL_DMRFT 0} | ||||
global CONFIG_SPICTRL_TMRFT | ||||
if {$tmpvar_30 == "TMR"} then {set CONFIG_SPICTRL_TMRFT 1} else {set CONFIG_SPICTRL_TMRFT 0} | ||||
} | ||||
menu_option menu24 24 "VHDL Debugging " | ||||
proc menu24 {w title} { | ||||
set oldFocus [focus] | ||||
catch {destroy $w; unregister_active 24} | ||||
toplevel $w -class Dialog | ||||
wm withdraw $w | ||||
global active_menus | ||||
set active_menus [lsort -integer [linsert $active_menus end 24]] | ||||
message $w.m -width 400 -aspect 300 -text \ | ||||
"VHDL Debugging " -relief raised | ||||
pack $w.m -pady 10 -side top -padx 10 | ||||
wm title $w "VHDL Debugging " | ||||
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 24; break" | ||||
set nextscript "catch {focus $oldFocus}; menu25 .menu25 \"$title\"" | ||||
frame $w.f | ||||
button $w.f.back -text "Main Menu" \ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 24" | ||||
button $w.f.next -text "Next" -underline 0\ | ||||
-width 15 -command $nextscript | ||||
$w.f.next configure -state disabled | ||||
bind all <Alt-n> "puts \"no more menus\" " | ||||
button $w.f.prev -text "Prev" -underline 0\ | ||||
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 24; menu23 .menu23 \"$title\"" | ||||
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 24; menu23 .menu23 \"$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 24 0 "Accelerated UART tracing " CONFIG_DEBUG_UART | ||||
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_menu24 {} { | ||||
} | ||||
proc update_define_menu24 {} { | ||||
update_define_mainmenu | ||||
global CONFIG_MODULES | ||||
} | ||||
proc update_mainmenu {} { | ||||
} | ||||
set tmpvar_0 "(not set)" | ||||
set CONFIG_SYN_INFERRED 0 | ||||
set CONFIG_SYN_STRATIX 0 | ||||
set CONFIG_SYN_STRATIXII 0 | ||||
set CONFIG_SYN_STRATIXIII 0 | ||||
set CONFIG_SYN_CYCLONEIII 0 | ||||
set CONFIG_SYN_ALTERA 0 | ||||
set CONFIG_SYN_AXCEL 0 | ||||
set CONFIG_SYN_AXDSP 0 | ||||
set CONFIG_SYN_PROASIC 0 | ||||
set CONFIG_SYN_PROASICPLUS 0 | ||||
set CONFIG_SYN_PROASIC3 0 | ||||
set CONFIG_SYN_PROASIC3E 0 | ||||
set CONFIG_SYN_PROASIC3L 0 | ||||
set CONFIG_SYN_IGLOO 0 | ||||
set CONFIG_SYN_FUSION 0 | ||||
set CONFIG_SYN_UT025CRH 0 | ||||
set CONFIG_SYN_UT130HBD 0 | ||||
set CONFIG_SYN_UT90NHBD 0 | ||||
set CONFIG_SYN_ATC18 0 | ||||
set CONFIG_SYN_ATC18RHA 0 | ||||
set CONFIG_SYN_CMOS9SF 0 | ||||
set CONFIG_SYN_CUSTOM1 0 | ||||
set CONFIG_SYN_EASIC90 0 | ||||
set CONFIG_SYN_EASIC45 0 | ||||
set CONFIG_SYN_IHP25 0 | ||||
set CONFIG_SYN_IHP25RH 0 | ||||
set CONFIG_SYN_LATTICE 0 | ||||
set CONFIG_SYN_ECLIPSE 0 | ||||
set CONFIG_SYN_PEREGRINE 0 | ||||
set CONFIG_SYN_RH_LIB18T 0 | ||||
set CONFIG_SYN_RHUMC 0 | ||||
set CONFIG_SYN_SMIC13 0 | ||||
set CONFIG_SYN_TM65GPLUS 0 | ||||
set CONFIG_SYN_TSMC90 0 | ||||
set CONFIG_SYN_UMC 0 | ||||
set CONFIG_SYN_SPARTAN2 0 | ||||
set CONFIG_SYN_SPARTAN3 0 | ||||
set CONFIG_SYN_SPARTAN3E 0 | ||||
set CONFIG_SYN_SPARTAN6 0 | ||||
set CONFIG_SYN_VIRTEX 0 | ||||
set CONFIG_SYN_VIRTEXE 0 | ||||
set CONFIG_SYN_VIRTEX2 0 | ||||
set CONFIG_SYN_VIRTEX4 0 | ||||
set CONFIG_SYN_VIRTEX5 0 | ||||
set CONFIG_SYN_VIRTEX6 0 | ||||
set tmpvar_1 "(not set)" | ||||
set CONFIG_MEM_INFERRED 0 | ||||
set CONFIG_MEM_UMC 0 | ||||
set CONFIG_MEM_RHUMC 0 | ||||
set CONFIG_MEM_ARTISAN 0 | ||||
set CONFIG_MEM_CUSTOM1 0 | ||||
set CONFIG_MEM_VIRAGE 0 | ||||
set CONFIG_MEM_VIRAGE90 0 | ||||
set CONFIG_SYN_INFER_RAM 0 | ||||
set CONFIG_SYN_INFER_PADS 0 | ||||
set CONFIG_SYN_NO_ASYNC 0 | ||||
set CONFIG_SYN_SCAN 0 | ||||
set tmpvar_2 "(not set)" | ||||
set CONFIG_CLK_INFERRED 0 | ||||
set CONFIG_CLK_HCLKBUF 0 | ||||
set CONFIG_CLK_UT130HBD 0 | ||||
set CONFIG_CLK_ALTDLL 0 | ||||
set CONFIG_CLK_LATDLL 0 | ||||
set CONFIG_CLK_PRO3PLL 0 | ||||
set CONFIG_CLK_PRO3EPLL 0 | ||||
set CONFIG_CLK_PRO3LPLL 0 | ||||
set CONFIG_CLK_FUSPLL 0 | ||||
set CONFIG_CLK_LIB18T 0 | ||||
set CONFIG_CLK_RHUMC 0 | ||||
set CONFIG_CLK_CLKDLL 0 | ||||
set CONFIG_CLK_DCM 0 | ||||
set CONFIG_CLK_MUL 2 | ||||
set CONFIG_CLK_DIV 2 | ||||
set CONFIG_OCLK_DIV 1 | ||||
set CONFIG_OCLKB_DIV 0 | ||||
set CONFIG_OCLKC_DIV 0 | ||||
set CONFIG_PCI_CLKDLL 0 | ||||
set CONFIG_CLK_NOFB 0 | ||||
set CONFIG_PCI_SYSCLK 0 | ||||
set CONFIG_LEON3 0 | ||||
set CONFIG_PROC_NUM 1 | ||||
set CONFIG_IU_NWINDOWS 8 | ||||
set CONFIG_IU_V8MULDIV 0 | ||||
set tmpvar_3 "(not set)" | ||||
set CONFIG_IU_MUL_LATENCY_2 0 | ||||
set CONFIG_IU_MUL_LATENCY_4 0 | ||||
set CONFIG_IU_MUL_LATENCY_5 0 | ||||
set CONFIG_IU_MUL_MAC 0 | ||||
set tmpvar_4 "(not set)" | ||||
set CONFIG_IU_MUL_INFERRED 0 | ||||
set CONFIG_IU_MUL_MODGEN 0 | ||||
set CONFIG_IU_MUL_TECHSPEC 0 | ||||
set CONFIG_IU_MUL_DW 0 | ||||
set CONFIG_IU_BP 0 | ||||
set CONFIG_IU_SVT 0 | ||||
set CONFIG_NOTAG 0 | ||||
set CONFIG_IU_LDELAY 1 | ||||
set CONFIG_IU_WATCHPOINTS 0 | ||||
set CONFIG_PWD 0 | ||||
set CONFIG_IU_RSTADDR 00000 | ||||
set CONFIG_FPU_ENABLE 0 | ||||
set tmpvar_5 "(not set)" | ||||
set CONFIG_FPU_GRFPU 0 | ||||
set CONFIG_FPU_GRFPULITE 0 | ||||
set CONFIG_FPU_MEIKO 0 | ||||
set tmpvar_6 "(not set)" | ||||
set CONFIG_FPU_GRFPU_INFMUL 0 | ||||
set CONFIG_FPU_GRFPU_DWMUL 0 | ||||
set CONFIG_FPU_GRFPU_MODGEN 0 | ||||
set CONFIG_FPU_GRFPU_TECHSPEC 0 | ||||
set CONFIG_FPU_GRFPU_SH 0 | ||||
set tmpvar_7 "(not set)" | ||||
set CONFIG_FPU_GRFPC0 0 | ||||
set CONFIG_FPU_GRFPC1 0 | ||||
set CONFIG_FPU_GRFPC2 0 | ||||
set CONFIG_FPU_NETLIST 0 | ||||
set CONFIG_ICACHE_ENABLE 0 | ||||
set tmpvar_8 "(not set)" | ||||
set CONFIG_ICACHE_ASSO1 0 | ||||
set CONFIG_ICACHE_ASSO2 0 | ||||
set CONFIG_ICACHE_ASSO3 0 | ||||
set CONFIG_ICACHE_ASSO4 0 | ||||
set tmpvar_9 "(not set)" | ||||
set CONFIG_ICACHE_SZ1 0 | ||||
set CONFIG_ICACHE_SZ2 0 | ||||
set CONFIG_ICACHE_SZ4 0 | ||||
set CONFIG_ICACHE_SZ8 0 | ||||
set CONFIG_ICACHE_SZ16 0 | ||||
set CONFIG_ICACHE_SZ32 0 | ||||
set CONFIG_ICACHE_SZ64 0 | ||||
set CONFIG_ICACHE_SZ128 0 | ||||
set CONFIG_ICACHE_SZ256 0 | ||||
set tmpvar_10 "(not set)" | ||||
set CONFIG_ICACHE_LZ16 0 | ||||
set CONFIG_ICACHE_LZ32 0 | ||||
set tmpvar_11 "(not set)" | ||||
set CONFIG_ICACHE_ALGORND 0 | ||||
set CONFIG_ICACHE_ALGODIR 0 | ||||
set CONFIG_ICACHE_ALGOLRR 0 | ||||
set CONFIG_ICACHE_ALGOLRU 0 | ||||
set CONFIG_ICACHE_LOCK 0 | ||||
set CONFIG_ICACHE_LRAM 0 | ||||
set tmpvar_12 "(not set)" | ||||
set CONFIG_ICACHE_LRAM_SZ1 0 | ||||
set CONFIG_ICACHE_LRAM_SZ2 0 | ||||
set CONFIG_ICACHE_LRAM_SZ4 0 | ||||
set CONFIG_ICACHE_LRAM_SZ8 0 | ||||
set CONFIG_ICACHE_LRAM_SZ16 0 | ||||
set CONFIG_ICACHE_LRAM_SZ32 0 | ||||
set CONFIG_ICACHE_LRAM_SZ64 0 | ||||
set CONFIG_ICACHE_LRAM_SZ128 0 | ||||
set CONFIG_ICACHE_LRAM_SZ256 0 | ||||
set CONFIG_ICACHE_LRSTART 8e | ||||
set CONFIG_DCACHE_ENABLE 0 | ||||
set tmpvar_13 "(not set)" | ||||
set CONFIG_DCACHE_ASSO1 0 | ||||
set CONFIG_DCACHE_ASSO2 0 | ||||
set CONFIG_DCACHE_ASSO3 0 | ||||
set CONFIG_DCACHE_ASSO4 0 | ||||
set tmpvar_14 "(not set)" | ||||
set CONFIG_DCACHE_SZ1 0 | ||||
set CONFIG_DCACHE_SZ2 0 | ||||
set CONFIG_DCACHE_SZ4 0 | ||||
set CONFIG_DCACHE_SZ8 0 | ||||
set CONFIG_DCACHE_SZ16 0 | ||||
set CONFIG_DCACHE_SZ32 0 | ||||
set CONFIG_DCACHE_SZ64 0 | ||||
set CONFIG_DCACHE_SZ128 0 | ||||
set CONFIG_DCACHE_SZ256 0 | ||||
set tmpvar_15 "(not set)" | ||||
set CONFIG_DCACHE_LZ16 0 | ||||
set CONFIG_DCACHE_LZ32 0 | ||||
set tmpvar_16 "(not set)" | ||||
set CONFIG_DCACHE_ALGORND 0 | ||||
set CONFIG_DCACHE_ALGODIR 0 | ||||
set CONFIG_DCACHE_ALGOLRR 0 | ||||
set CONFIG_DCACHE_ALGOLRU 0 | ||||
set CONFIG_DCACHE_LOCK 0 | ||||
set CONFIG_DCACHE_SNOOP 0 | ||||
set CONFIG_DCACHE_SNOOP_FAST 0 | ||||
set CONFIG_DCACHE_SNOOP_SEPTAG 0 | ||||
set CONFIG_CACHE_FIXED 0 | ||||
set CONFIG_DCACHE_LRAM 0 | ||||
set tmpvar_17 "(not set)" | ||||
set CONFIG_DCACHE_LRAM_SZ1 0 | ||||
set CONFIG_DCACHE_LRAM_SZ2 0 | ||||
set CONFIG_DCACHE_LRAM_SZ4 0 | ||||
set CONFIG_DCACHE_LRAM_SZ8 0 | ||||
set CONFIG_DCACHE_LRAM_SZ16 0 | ||||
set CONFIG_DCACHE_LRAM_SZ32 0 | ||||
set CONFIG_DCACHE_LRAM_SZ64 0 | ||||
set CONFIG_DCACHE_LRAM_SZ128 0 | ||||
set CONFIG_DCACHE_LRAM_SZ256 0 | ||||
set CONFIG_DCACHE_LRSTART 8f | ||||
set CONFIG_MMU_ENABLE 0 | ||||
set tmpvar_18 "(not set)" | ||||
set CONFIG_MMU_COMBINED 0 | ||||
set CONFIG_MMU_SPLIT 0 | ||||
set tmpvar_19 "(not set)" | ||||
set CONFIG_MMU_REPARRAY 0 | ||||
set CONFIG_MMU_REPINCREMENT 0 | ||||
set tmpvar_20 "(not set)" | ||||
set CONFIG_MMU_I2 0 | ||||
set CONFIG_MMU_I4 0 | ||||
set CONFIG_MMU_I8 0 | ||||
set CONFIG_MMU_I16 0 | ||||
set CONFIG_MMU_I32 0 | ||||
set tmpvar_21 "(not set)" | ||||
set CONFIG_MMU_D2 0 | ||||
set CONFIG_MMU_D4 0 | ||||
set CONFIG_MMU_D8 0 | ||||
set CONFIG_MMU_D16 0 | ||||
set CONFIG_MMU_D32 0 | ||||
set CONFIG_MMU_FASTWB 0 | ||||
set tmpvar_22 "(not set)" | ||||
set CONFIG_MMU_PAGE_4K 0 | ||||
set CONFIG_MMU_PAGE_8K 0 | ||||
set CONFIG_MMU_PAGE_16K 0 | ||||
set CONFIG_MMU_PAGE_32K 0 | ||||
set CONFIG_MMU_PAGE_PROG 0 | ||||
set CONFIG_DSU_ENABLE 0 | ||||
set CONFIG_DSU_ITRACE 0 | ||||
set tmpvar_23 "(not set)" | ||||
set CONFIG_DSU_ITRACESZ1 0 | ||||
set CONFIG_DSU_ITRACESZ2 0 | ||||
set CONFIG_DSU_ITRACESZ4 0 | ||||
set CONFIG_DSU_ITRACESZ8 0 | ||||
set CONFIG_DSU_ITRACESZ16 0 | ||||
set CONFIG_DSU_ATRACE 0 | ||||
set tmpvar_24 "(not set)" | ||||
set CONFIG_DSU_ATRACESZ1 0 | ||||
set CONFIG_DSU_ATRACESZ2 0 | ||||
set CONFIG_DSU_ATRACESZ4 0 | ||||
set CONFIG_DSU_ATRACESZ8 0 | ||||
set CONFIG_DSU_ATRACESZ16 0 | ||||
set CONFIG_LEON3FT_EN 0 | ||||
set tmpvar_25 "(not set)" | ||||
set CONFIG_IUFT_NONE 0 | ||||
set CONFIG_IUFT_PAR 0 | ||||
set CONFIG_IUFT_DMR 0 | ||||
set CONFIG_IUFT_BCH 0 | ||||
set CONFIG_IUFT_TMR 0 | ||||
set CONFIG_FPUFT_EN 0 | ||||
set CONFIG_RF_ERRINJ 0 | ||||
set CONFIG_CACHE_FT_EN 0 | ||||
set CONFIG_CACHE_ERRINJ 0 | ||||
set CONFIG_LEON3_NETLIST 0 | ||||
set CONFIG_IU_DISAS 0 | ||||
set CONFIG_IU_DISAS_NET 0 | ||||
set CONFIG_DEBUG_PC32 0 | ||||
set CONFIG_AHB_DEFMST 0 | ||||
set CONFIG_AHB_RROBIN 0 | ||||
set CONFIG_AHB_SPLIT 0 | ||||
set CONFIG_AHB_IOADDR FFF | ||||
set CONFIG_APB_HADDR 800 | ||||
set CONFIG_AHB_MON 0 | ||||
set CONFIG_AHB_MONERR 0 | ||||
set CONFIG_AHB_MONWAR 0 | ||||
set CONFIG_AHB_DTRACE 0 | ||||
set CONFIG_DSU_JTAG 0 | ||||
set CONFIG_DSU_ETH 0 | ||||
set tmpvar_26 "(not set)" | ||||
set CONFIG_DSU_ETHSZ1 0 | ||||
set CONFIG_DSU_ETHSZ2 0 | ||||
set CONFIG_DSU_ETHSZ4 0 | ||||
set CONFIG_DSU_ETHSZ8 0 | ||||
set CONFIG_DSU_ETHSZ16 0 | ||||
set CONFIG_DSU_IPMSB C0A8 | ||||
set CONFIG_DSU_IPLSB 0033 | ||||
set CONFIG_DSU_ETHMSB 020000 | ||||
set CONFIG_DSU_ETHLSB 000000 | ||||
set CONFIG_DSU_ETH_PROG 0 | ||||
set CONFIG_DSU_ETH_DIS 0 | ||||
set CONFIG_MCTRL_LEON2 0 | ||||
set CONFIG_MCTRL_8BIT 0 | ||||
set CONFIG_MCTRL_16BIT 0 | ||||
set CONFIG_MCTRL_5CS 0 | ||||
set CONFIG_MCTRL_SDRAM 0 | ||||
set CONFIG_MCTRL_SDRAM_SEPBUS 0 | ||||
set CONFIG_MCTRL_SDRAM_BUS64 0 | ||||
set CONFIG_MCTRL_SDRAM_INVCLK 0 | ||||
set CONFIG_MCTRL_PAGE 0 | ||||
set CONFIG_MCTRL_PROGPAGE 0 | ||||
set CONFIG_MIG_DDR2 0 | ||||
set CONFIG_MIG_RANKS 1 | ||||
set CONFIG_MIG_COLBITS 10 | ||||
set CONFIG_MIG_ROWBITS 13 | ||||
set CONFIG_MIG_BANKBITS 2 | ||||
set CONFIG_MIG_HMASK F00 | ||||
set CONFIG_AHBSTAT_ENABLE 0 | ||||
set CONFIG_AHBSTAT_NFTSLV 1 | ||||
set CONFIG_AHBROM_ENABLE 0 | ||||
set CONFIG_AHBROM_START 000 | ||||
set CONFIG_AHBROM_PIPE 0 | ||||
set CONFIG_AHBRAM_ENABLE 0 | ||||
set tmpvar_27 "(not set)" | ||||
set CONFIG_AHBRAM_SZ1 0 | ||||
set CONFIG_AHBRAM_SZ2 0 | ||||
set CONFIG_AHBRAM_SZ4 0 | ||||
set CONFIG_AHBRAM_SZ8 0 | ||||
set CONFIG_AHBRAM_SZ16 0 | ||||
set CONFIG_AHBRAM_SZ32 0 | ||||
set CONFIG_AHBRAM_SZ64 0 | ||||
set CONFIG_AHBRAM_START A00 | ||||
set CONFIG_GRETH_ENABLE 0 | ||||
set CONFIG_GRETH_GIGA 0 | ||||
set tmpvar_28 "(not set)" | ||||
set CONFIG_GRETH_FIFO4 0 | ||||
set CONFIG_GRETH_FIFO8 0 | ||||
set CONFIG_GRETH_FIFO16 0 | ||||
set CONFIG_GRETH_FIFO32 0 | ||||
set CONFIG_GRETH_FIFO64 0 | ||||
set CONFIG_UART1_ENABLE 0 | ||||
set tmpvar_29 "(not set)" | ||||
set CONFIG_UA1_FIFO1 0 | ||||
set CONFIG_UA1_FIFO2 0 | ||||
set CONFIG_UA1_FIFO4 0 | ||||
set CONFIG_UA1_FIFO8 0 | ||||
set CONFIG_UA1_FIFO16 0 | ||||
set CONFIG_UA1_FIFO32 0 | ||||
set CONFIG_IRQ3_ENABLE 0 | ||||
set CONFIG_IRQ3_SEC 0 | ||||
set CONFIG_IRQ3_NSEC 12 | ||||
set CONFIG_GPT_ENABLE 0 | ||||
set CONFIG_GPT_NTIM 2 | ||||
set CONFIG_GPT_SW 8 | ||||
set CONFIG_GPT_TW 32 | ||||
set CONFIG_GPT_IRQ 8 | ||||
set CONFIG_GPT_SEPIRQ 0 | ||||
set CONFIG_GPT_WDOGEN 0 | ||||
set CONFIG_GPT_WDOG FFFF | ||||
set CONFIG_GRGPIO_ENABLE 0 | ||||
set CONFIG_GRGPIO_WIDTH 8 | ||||
set CONFIG_GRGPIO_IMASK 0000 | ||||
set CONFIG_KBD_ENABLE 0 | ||||
set CONFIG_VGA_ENABLE 0 | ||||
set CONFIG_SVGA_ENABLE 0 | ||||
set CONFIG_SPIMCTRL 0 | ||||
set CONFIG_SPIMCTRL_SDCARD 0 | ||||
set CONFIG_SPIMCTRL_READCMD 0B | ||||
set CONFIG_SPIMCTRL_DUMMYBYTE 0 | ||||
set CONFIG_SPIMCTRL_DUALOUTPUT 0 | ||||
set CONFIG_SPIMCTRL_SCALER 1 | ||||
set CONFIG_SPIMCTRL_ASCALER 8 | ||||
set CONFIG_SPIMCTRL_PWRUPCNT 0 | ||||
set CONFIG_SPICTRL_ENABLE 0 | ||||
set CONFIG_SPICTRL_NUM 1 | ||||
set CONFIG_SPICTRL_SLVS 1 | ||||
set CONFIG_SPICTRL_FIFO 1 | ||||
set CONFIG_SPICTRL_SLVREG 0 | ||||
set CONFIG_SPICTRL_ASEL 0 | ||||
set CONFIG_SPICTRL_AM 0 | ||||
set CONFIG_SPICTRL_ODMODE 0 | ||||
set CONFIG_SPICTRL_TWEN 0 | ||||
set CONFIG_SPICTRL_MAXWLEN 0 | ||||
set CONFIG_SPICTRL_SYNCRAM 0 | ||||
set tmpvar_30 "(not set)" | ||||
set CONFIG_SPICTRL_NOFT 0 | ||||
set CONFIG_SPICTRL_DMRFT 0 | ||||
set CONFIG_SPICTRL_TMRFT 0 | ||||
set CONFIG_DEBUG_UART 0 | ||||
set CONFIG_LEON3FT_PRESENT 4 | ||||
set CONFIG_HAS_SHARED_GRFPU 4 | ||||
set CONFIG_SYN_ARTISAN 4 | ||||
set CONFIG_PCI_ENABLE 4 | ||||
set CONFIG_MODULES 4 | ||||
proc writeconfig {file1 file2} { | ||||
set cfg [open $file1 w] | ||||
set autocfg [open $file2 w] | ||||
set notmod 1 | ||||
set notset 0 | ||||
puts $cfg "#" | ||||
puts $cfg "# Automatically generated make config: don't edit" | ||||
puts $cfg "#" | ||||
puts $autocfg "/*" | ||||
puts $autocfg " * Automatically generated C config: don't edit" | ||||
puts $autocfg " */" | ||||
puts $autocfg "#define AUTOCONF_INCLUDED" | ||||
global CONFIG_LEON3FT_PRESENT | ||||
global CONSTANT_Y | ||||
write_tristate $cfg $autocfg CONFIG_LEON3FT_PRESENT $CONFIG_LEON3FT_PRESENT [list $notmod] 2 | ||||
global CONFIG_HAS_SHARED_GRFPU | ||||
write_tristate $cfg $autocfg CONFIG_HAS_SHARED_GRFPU $CONFIG_HAS_SHARED_GRFPU [list $notmod] 2 | ||||
write_comment $cfg $autocfg "Synthesis " | ||||
global tmpvar_0 | ||||
if { $tmpvar_0 == "Inferred" } then { write_tristate $cfg $autocfg CONFIG_SYN_INFERRED 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_INFERRED 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Altera-Stratix" } then { write_tristate $cfg $autocfg CONFIG_SYN_STRATIX 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_STRATIX 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Altera-StratixII" } then { write_tristate $cfg $autocfg CONFIG_SYN_STRATIXII 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_STRATIXII 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Altera-StratixIII" } then { write_tristate $cfg $autocfg CONFIG_SYN_STRATIXIII 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_STRATIXIII 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Altera-CycloneIII" } then { write_tristate $cfg $autocfg CONFIG_SYN_CYCLONEIII 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_CYCLONEIII 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Altera-Others" } then { write_tristate $cfg $autocfg CONFIG_SYN_ALTERA 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_ALTERA 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-Axcelerator" } then { write_tristate $cfg $autocfg CONFIG_SYN_AXCEL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_AXCEL 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-Axcelerator-DSP" } then { write_tristate $cfg $autocfg CONFIG_SYN_AXDSP 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_AXDSP 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-Proasic" } then { write_tristate $cfg $autocfg CONFIG_SYN_PROASIC 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_PROASIC 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-ProasicPlus" } then { write_tristate $cfg $autocfg CONFIG_SYN_PROASICPLUS 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_PROASICPLUS 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-Proasic3" } then { write_tristate $cfg $autocfg CONFIG_SYN_PROASIC3 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_PROASIC3 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-Proasic3E" } then { write_tristate $cfg $autocfg CONFIG_SYN_PROASIC3E 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_PROASIC3E 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-Proasic3L" } then { write_tristate $cfg $autocfg CONFIG_SYN_PROASIC3L 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_PROASIC3L 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-IGLOO/p/L" } then { write_tristate $cfg $autocfg CONFIG_SYN_IGLOO 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_IGLOO 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Actel-Fusion" } then { write_tristate $cfg $autocfg CONFIG_SYN_FUSION 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_FUSION 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Aeroflex-UT025CRH" } then { write_tristate $cfg $autocfg CONFIG_SYN_UT025CRH 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_UT025CRH 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Aeroflex-UT130HBD" } then { write_tristate $cfg $autocfg CONFIG_SYN_UT130HBD 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_UT130HBD 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Aeroflex-UT90NHBD" } then { write_tristate $cfg $autocfg CONFIG_SYN_UT90NHBD 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_UT90NHBD 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Atmel-ATC18" } then { write_tristate $cfg $autocfg CONFIG_SYN_ATC18 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_ATC18 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Atmel-ATC18RHA" } then { write_tristate $cfg $autocfg CONFIG_SYN_ATC18RHA 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_ATC18RHA 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "IBM-CMOS9SF" } then { write_tristate $cfg $autocfg CONFIG_SYN_CMOS9SF 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_CMOS9SF 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Custom1" } then { write_tristate $cfg $autocfg CONFIG_SYN_CUSTOM1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_CUSTOM1 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "eASIC90" } then { write_tristate $cfg $autocfg CONFIG_SYN_EASIC90 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_EASIC90 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "eASIC45" } then { write_tristate $cfg $autocfg CONFIG_SYN_EASIC45 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_EASIC45 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "IHP25" } then { write_tristate $cfg $autocfg CONFIG_SYN_IHP25 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_IHP25 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "IHP25RH" } then { write_tristate $cfg $autocfg CONFIG_SYN_IHP25RH 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_IHP25RH 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Lattice-EC/ECP/XP" } then { write_tristate $cfg $autocfg CONFIG_SYN_LATTICE 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_LATTICE 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Quicklogic-Eclipse" } then { write_tristate $cfg $autocfg CONFIG_SYN_ECLIPSE 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_ECLIPSE 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Peregrine" } then { write_tristate $cfg $autocfg CONFIG_SYN_PEREGRINE 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_PEREGRINE 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "RH-LIB18T" } then { write_tristate $cfg $autocfg CONFIG_SYN_RH_LIB18T 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_RH_LIB18T 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "RH-UMC" } then { write_tristate $cfg $autocfg CONFIG_SYN_RHUMC 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_RHUMC 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "SMIC130" } then { write_tristate $cfg $autocfg CONFIG_SYN_SMIC13 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_SMIC13 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "TM65Gplus" } then { write_tristate $cfg $autocfg CONFIG_SYN_TM65GPLUS 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_TM65GPLUS 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "TSMC90" } then { write_tristate $cfg $autocfg CONFIG_SYN_TSMC90 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_TSMC90 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "UMC180" } then { write_tristate $cfg $autocfg CONFIG_SYN_UMC 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_UMC 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Spartan2" } then { write_tristate $cfg $autocfg CONFIG_SYN_SPARTAN2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_SPARTAN2 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Spartan3" } then { write_tristate $cfg $autocfg CONFIG_SYN_SPARTAN3 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_SPARTAN3 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Spartan3E" } then { write_tristate $cfg $autocfg CONFIG_SYN_SPARTAN3E 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_SPARTAN3E 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Spartan6" } then { write_tristate $cfg $autocfg CONFIG_SYN_SPARTAN6 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_SPARTAN6 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Virtex" } then { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-VirtexE" } then { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEXE 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEXE 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Virtex2" } then { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX2 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Virtex4" } then { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX4 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Virtex5" } then { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX5 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX5 0 [list $notmod] 2 } | ||||
if { $tmpvar_0 == "Xilinx-Virtex6" } then { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX6 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SYN_VIRTEX6 0 [list $notmod] 2 } | ||||
global tmpvar_1 | ||||
global CONFIG_SYN_INFERRED | ||||
global CONFIG_SYN_CUSTOM1 | ||||
global CONFIG_SYN_ATC18 | ||||
global CONFIG_SYN_TSMC90 | ||||
global CONFIG_SYN_UMC | ||||
global CONFIG_SYN_RHUMC | ||||
global CONFIG_SYN_ARTISAN | ||||
if {($CONFIG_SYN_INFERRED == 1 || $CONFIG_SYN_CUSTOM1 == 1 || $CONFIG_SYN_ATC18 == 1 || $CONFIG_SYN_TSMC90 == 1 || $CONFIG_SYN_UMC == 1 || $CONFIG_SYN_RHUMC == 1 || $CONFIG_SYN_ARTISAN == 1)} then { | ||||
if { $tmpvar_1 == "Inferred" } then { write_tristate $cfg $autocfg CONFIG_MEM_INFERRED 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MEM_INFERRED 0 [list $notmod] 2 } | ||||
if { $tmpvar_1 == "UMC18" } then { write_tristate $cfg $autocfg CONFIG_MEM_UMC 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MEM_UMC 0 [list $notmod] 2 } | ||||
if { $tmpvar_1 == "RH-UMC" } then { write_tristate $cfg $autocfg CONFIG_MEM_RHUMC 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MEM_RHUMC 0 [list $notmod] 2 } | ||||
if { $tmpvar_1 == "Artisan" } then { write_tristate $cfg $autocfg CONFIG_MEM_ARTISAN 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MEM_ARTISAN 0 [list $notmod] 2 } | ||||
if { $tmpvar_1 == "Custom1" } then { write_tristate $cfg $autocfg CONFIG_MEM_CUSTOM1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MEM_CUSTOM1 0 [list $notmod] 2 } | ||||
if { $tmpvar_1 == "Virage" } then { write_tristate $cfg $autocfg CONFIG_MEM_VIRAGE 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MEM_VIRAGE 0 [list $notmod] 2 } | ||||
if { $tmpvar_1 == "Virage-TSMC90" } then { write_tristate $cfg $autocfg CONFIG_MEM_VIRAGE90 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MEM_VIRAGE90 0 [list $notmod] 2 }} | ||||
global CONFIG_SYN_INFER_RAM | ||||
if {($CONFIG_SYN_INFERRED != 1)} then {write_tristate $cfg $autocfg CONFIG_SYN_INFER_RAM $CONFIG_SYN_INFER_RAM [list $notmod] 2 } | ||||
global CONFIG_SYN_INFER_PADS | ||||
if {($CONFIG_SYN_INFERRED != 1)} then {write_tristate $cfg $autocfg CONFIG_SYN_INFER_PADS $CONFIG_SYN_INFER_PADS [list $notmod] 2 } | ||||
global CONFIG_SYN_NO_ASYNC | ||||
write_tristate $cfg $autocfg CONFIG_SYN_NO_ASYNC $CONFIG_SYN_NO_ASYNC [list $notmod] 2 | ||||
global CONFIG_SYN_SCAN | ||||
write_tristate $cfg $autocfg CONFIG_SYN_SCAN $CONFIG_SYN_SCAN [list $notmod] 2 | ||||
write_comment $cfg $autocfg "Clock generation" | ||||
global tmpvar_2 | ||||
if { $tmpvar_2 == "Inferred" } then { write_tristate $cfg $autocfg CONFIG_CLK_INFERRED 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_INFERRED 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Actel-HCLKBUF" } then { write_tristate $cfg $autocfg CONFIG_CLK_HCLKBUF 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_HCLKBUF 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Aeroflex-UT130HBD" } then { write_tristate $cfg $autocfg CONFIG_CLK_UT130HBD 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_UT130HBD 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Altera-ALTPLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_ALTDLL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_ALTDLL 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Lattice-EXPLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_LATDLL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_LATDLL 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Proasic3-PLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_PRO3PLL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_PRO3PLL 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Proasic3E-PLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_PRO3EPLL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_PRO3EPLL 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Proasic3L-PLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_PRO3LPLL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_PRO3LPLL 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Fusion-PLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_FUSPLL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_FUSPLL 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "RH-LIB18T-PLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_LIB18T 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_LIB18T 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "DARE-PLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_RHUMC 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_RHUMC 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Xilinx-CLKDLL" } then { write_tristate $cfg $autocfg CONFIG_CLK_CLKDLL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_CLKDLL 0 [list $notmod] 2 } | ||||
if { $tmpvar_2 == "Xilinx-DCM" } then { write_tristate $cfg $autocfg CONFIG_CLK_DCM 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_CLK_DCM 0 [list $notmod] 2 } | ||||
global CONFIG_CLK_MUL | ||||
global CONFIG_CLK_DCM | ||||
global CONFIG_CLK_ALTDLL | ||||
global CONFIG_CLK_LATDLL | ||||
global CONFIG_CLK_PRO3PLL | ||||
global CONFIG_CLK_PRO3EPLL | ||||
global CONFIG_CLK_PRO3LPLL | ||||
global CONFIG_CLK_CLKDLL | ||||
global CONFIG_CLK_LIB18T | ||||
global CONFIG_CLK_FUSPLL | ||||
if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1 || $CONFIG_CLK_FUSPLL == 1)} then {write_int $cfg $autocfg CONFIG_CLK_MUL $CONFIG_CLK_MUL $notmod } | ||||
global CONFIG_CLK_DIV | ||||
if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1 || $CONFIG_CLK_FUSPLL == 1)} then {write_int $cfg $autocfg CONFIG_CLK_DIV $CONFIG_CLK_DIV $notmod } | ||||
global CONFIG_OCLK_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {write_int $cfg $autocfg CONFIG_OCLK_DIV $CONFIG_OCLK_DIV $notmod } | ||||
global CONFIG_OCLKB_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {write_int $cfg $autocfg CONFIG_OCLKB_DIV $CONFIG_OCLKB_DIV $notmod } | ||||
global CONFIG_OCLKC_DIV | ||||
if {($CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_PRO3EPLL == 1 || $CONFIG_CLK_PRO3LPLL == 1 || $CONFIG_CLK_FUSPLL == 1)} then {write_int $cfg $autocfg CONFIG_OCLKC_DIV $CONFIG_OCLKC_DIV $notmod } | ||||
global CONFIG_PCI_CLKDLL | ||||
if {($CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_DCM == 1)} then {write_tristate $cfg $autocfg CONFIG_PCI_CLKDLL $CONFIG_PCI_CLKDLL [list $notmod] 2 } | ||||
global CONFIG_CLK_NOFB | ||||
if {($CONFIG_CLK_DCM == 1)} then {write_tristate $cfg $autocfg CONFIG_CLK_NOFB $CONFIG_CLK_NOFB [list $notmod] 2 } | ||||
global CONFIG_PCI_SYSCLK | ||||
global CONFIG_PCI_ENABLE | ||||
if {($CONFIG_PCI_ENABLE != 1)} then {write_tristate $cfg $autocfg CONFIG_PCI_SYSCLK $CONFIG_PCI_SYSCLK [list $notmod] 2 } | ||||
global CONFIG_LEON3 | ||||
write_tristate $cfg $autocfg CONFIG_LEON3 $CONFIG_LEON3 [list $notmod] 2 | ||||
global CONFIG_PROC_NUM | ||||
if {($CONFIG_LEON3 == 1)} then {write_int $cfg $autocfg CONFIG_PROC_NUM $CONFIG_PROC_NUM $notmod } | ||||
if {($CONFIG_LEON3 == 1)} then {write_comment $cfg $autocfg "Processor "} | ||||
if {($CONFIG_LEON3 == 1)} then {write_comment $cfg $autocfg "Integer unit "} | ||||
global CONFIG_IU_NWINDOWS | ||||
if {($CONFIG_LEON3 == 1)} then {write_int $cfg $autocfg CONFIG_IU_NWINDOWS $CONFIG_IU_NWINDOWS $notmod } | ||||
global CONFIG_IU_V8MULDIV | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_IU_V8MULDIV $CONFIG_IU_V8MULDIV [list $notmod] 2 } | ||||
global tmpvar_3 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_V8MULDIV == 1)} then { | ||||
if { $tmpvar_3 == "2-cycles" } then { write_tristate $cfg $autocfg CONFIG_IU_MUL_LATENCY_2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IU_MUL_LATENCY_2 0 [list $notmod] 2 } | ||||
if { $tmpvar_3 == "4-cycles" } then { write_tristate $cfg $autocfg CONFIG_IU_MUL_LATENCY_4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IU_MUL_LATENCY_4 0 [list $notmod] 2 } | ||||
if { $tmpvar_3 == "5-cycles" } then { write_tristate $cfg $autocfg CONFIG_IU_MUL_LATENCY_5 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IU_MUL_LATENCY_5 0 [list $notmod] 2 }} | ||||
global CONFIG_IU_MUL_MAC | ||||
global CONFIG_IU_MUL_LATENCY_4 | ||||
global CONFIG_IU_MUL_LATENCY_5 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_V8MULDIV == 1) && ($CONFIG_IU_MUL_LATENCY_4 == 1 || $CONFIG_IU_MUL_LATENCY_5 == 1)} then {write_tristate $cfg $autocfg CONFIG_IU_MUL_MAC $CONFIG_IU_MUL_MAC [list $notmod] 2 } | ||||
global tmpvar_4 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_V8MULDIV == 1)} then { | ||||
if { $tmpvar_4 == "Inferred" } then { write_tristate $cfg $autocfg CONFIG_IU_MUL_INFERRED 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IU_MUL_INFERRED 0 [list $notmod] 2 } | ||||
if { $tmpvar_4 == "NTNU_Modgen" } then { write_tristate $cfg $autocfg CONFIG_IU_MUL_MODGEN 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IU_MUL_MODGEN 0 [list $notmod] 2 } | ||||
if { $tmpvar_4 == "TechSpec" } then { write_tristate $cfg $autocfg CONFIG_IU_MUL_TECHSPEC 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IU_MUL_TECHSPEC 0 [list $notmod] 2 } | ||||
if { $tmpvar_4 == "Designware" } then { write_tristate $cfg $autocfg CONFIG_IU_MUL_DW 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IU_MUL_DW 0 [list $notmod] 2 }} | ||||
global CONFIG_IU_BP | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_IU_BP $CONFIG_IU_BP [list $notmod] 2 } | ||||
global CONFIG_IU_SVT | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_IU_SVT $CONFIG_IU_SVT [list $notmod] 2 } | ||||
global CONFIG_NOTAG | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_NOTAG $CONFIG_NOTAG [list $notmod] 2 } | ||||
global CONFIG_IU_LDELAY | ||||
if {($CONFIG_LEON3 == 1)} then {write_int $cfg $autocfg CONFIG_IU_LDELAY $CONFIG_IU_LDELAY $notmod } | ||||
global CONFIG_IU_WATCHPOINTS | ||||
if {($CONFIG_LEON3 == 1)} then {write_int $cfg $autocfg CONFIG_IU_WATCHPOINTS $CONFIG_IU_WATCHPOINTS $notmod } | ||||
global CONFIG_PWD | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_PWD $CONFIG_PWD [list $notmod] 2 } | ||||
global CONFIG_IU_RSTADDR | ||||
if {($CONFIG_LEON3 == 1)} then {write_hex $cfg $autocfg CONFIG_IU_RSTADDR $CONFIG_IU_RSTADDR $notmod } | ||||
if {($CONFIG_LEON3 == 1)} then {write_comment $cfg $autocfg "Floating-point unit"} | ||||
global CONFIG_FPU_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_FPU_ENABLE $CONFIG_FPU_ENABLE [list $notmod] 2 } | ||||
global tmpvar_5 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1)} then { | ||||
if { $tmpvar_5 == "GRFPU" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU 0 [list $notmod] 2 } | ||||
if { $tmpvar_5 == "GRFPU-LITE" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPULITE 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPULITE 0 [list $notmod] 2 } | ||||
if { $tmpvar_5 == "Meiko" } then { write_tristate $cfg $autocfg CONFIG_FPU_MEIKO 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_MEIKO 0 [list $notmod] 2 }} | ||||
global tmpvar_6 | ||||
global CONFIG_FPU_GRFPU | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_FPU_GRFPU == 1)} then { | ||||
if { $tmpvar_6 == "Inferred" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_INFMUL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_INFMUL 0 [list $notmod] 2 } | ||||
if { $tmpvar_6 == "DW" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_DWMUL 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_DWMUL 0 [list $notmod] 2 } | ||||
if { $tmpvar_6 == "ModGen" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_MODGEN 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_MODGEN 0 [list $notmod] 2 } | ||||
if { $tmpvar_6 == "TechSpec" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_TECHSPEC 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_TECHSPEC 0 [list $notmod] 2 }} | ||||
global CONFIG_FPU_GRFPU_SH | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_HAS_SHARED_GRFPU == 1 && $CONFIG_FPU_GRFPU == 1)} then {write_tristate $cfg $autocfg CONFIG_FPU_GRFPU_SH $CONFIG_FPU_GRFPU_SH [list $notmod] 2 } | ||||
global tmpvar_7 | ||||
global CONFIG_FPU_GRFPULITE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_FPU_GRFPULITE == 1)} then { | ||||
if { $tmpvar_7 == "Simple" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPC0 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPC0 0 [list $notmod] 2 } | ||||
if { $tmpvar_7 == "Data-forwarding" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPC1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPC1 0 [list $notmod] 2 } | ||||
if { $tmpvar_7 == "Non-blocking" } then { write_tristate $cfg $autocfg CONFIG_FPU_GRFPC2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_FPU_GRFPC2 0 [list $notmod] 2 }} | ||||
global CONFIG_FPU_NETLIST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_FPU_NETLIST $CONFIG_FPU_NETLIST [list $notmod] 2 } | ||||
if {($CONFIG_LEON3 == 1)} then {write_comment $cfg $autocfg "Cache system"} | ||||
global CONFIG_ICACHE_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_ICACHE_ENABLE $CONFIG_ICACHE_ENABLE [list $notmod] 2 } | ||||
global tmpvar_8 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then { | ||||
if { $tmpvar_8 == "1" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_ASSO1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_ASSO1 0 [list $notmod] 2 } | ||||
if { $tmpvar_8 == "2" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_ASSO2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_ASSO2 0 [list $notmod] 2 } | ||||
if { $tmpvar_8 == "3" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_ASSO3 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_ASSO3 0 [list $notmod] 2 } | ||||
if { $tmpvar_8 == "4" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_ASSO4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_ASSO4 0 [list $notmod] 2 }} | ||||
global tmpvar_9 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then { | ||||
if { $tmpvar_9 == "1" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ1 0 [list $notmod] 2 } | ||||
if { $tmpvar_9 == "2" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ2 0 [list $notmod] 2 } | ||||
if { $tmpvar_9 == "4" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ4 0 [list $notmod] 2 } | ||||
if { $tmpvar_9 == "8" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ8 0 [list $notmod] 2 } | ||||
if { $tmpvar_9 == "16" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ16 0 [list $notmod] 2 } | ||||
if { $tmpvar_9 == "32" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ32 0 [list $notmod] 2 } | ||||
if { $tmpvar_9 == "64" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ64 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ64 0 [list $notmod] 2 } | ||||
if { $tmpvar_9 == "128" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ128 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ128 0 [list $notmod] 2 } | ||||
if { $tmpvar_9 == "256" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ256 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_SZ256 0 [list $notmod] 2 }} | ||||
global tmpvar_10 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then { | ||||
if { $tmpvar_10 == "16" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LZ16 0 [list $notmod] 2 } | ||||
if { $tmpvar_10 == "32" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LZ32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LZ32 0 [list $notmod] 2 }} | ||||
global tmpvar_11 | ||||
global CONFIG_ICACHE_ASSO1 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1) && ($CONFIG_ICACHE_ASSO1 != 1)} then { | ||||
if { $tmpvar_11 == "Random" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_ALGORND 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_ALGORND 0 [list $notmod] 2 } | ||||
if { $tmpvar_11 == "Direct" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_ALGODIR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_ALGODIR 0 [list $notmod] 2 } | ||||
if { $tmpvar_11 == "LRR" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_ALGOLRR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_ALGOLRR 0 [list $notmod] 2 } | ||||
if { $tmpvar_11 == "LRU" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_ALGOLRU 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_ALGOLRU 0 [list $notmod] 2 }} | ||||
global CONFIG_ICACHE_LOCK | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1) && ($CONFIG_ICACHE_ASSO1 != 1)} then {write_tristate $cfg $autocfg CONFIG_ICACHE_LOCK $CONFIG_ICACHE_LOCK [list $notmod] 2 } | ||||
global CONFIG_ICACHE_LRAM | ||||
global CONFIG_MMU_ENABLE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE != 1)} then {write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM $CONFIG_ICACHE_LRAM [list $notmod] 2 } | ||||
global tmpvar_12 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_LRAM == 1)} then { | ||||
if { $tmpvar_12 == "1" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ1 0 [list $notmod] 2 } | ||||
if { $tmpvar_12 == "2" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ2 0 [list $notmod] 2 } | ||||
if { $tmpvar_12 == "4" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ4 0 [list $notmod] 2 } | ||||
if { $tmpvar_12 == "8" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ8 0 [list $notmod] 2 } | ||||
if { $tmpvar_12 == "16" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ16 0 [list $notmod] 2 } | ||||
if { $tmpvar_12 == "32" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ32 0 [list $notmod] 2 } | ||||
if { $tmpvar_12 == "64" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ64 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ64 0 [list $notmod] 2 } | ||||
if { $tmpvar_12 == "128" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ128 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ128 0 [list $notmod] 2 } | ||||
if { $tmpvar_12 == "256" } then { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ256 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_ICACHE_LRAM_SZ256 0 [list $notmod] 2 }} | ||||
global CONFIG_ICACHE_LRSTART | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_LRAM == 1)} then {write_hex $cfg $autocfg CONFIG_ICACHE_LRSTART $CONFIG_ICACHE_LRSTART $notmod } | ||||
global CONFIG_DCACHE_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_DCACHE_ENABLE $CONFIG_DCACHE_ENABLE [list $notmod] 2 } | ||||
global tmpvar_13 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then { | ||||
if { $tmpvar_13 == "1" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_ASSO1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_ASSO1 0 [list $notmod] 2 } | ||||
if { $tmpvar_13 == "2" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_ASSO2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_ASSO2 0 [list $notmod] 2 } | ||||
if { $tmpvar_13 == "3" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_ASSO3 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_ASSO3 0 [list $notmod] 2 } | ||||
if { $tmpvar_13 == "4" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_ASSO4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_ASSO4 0 [list $notmod] 2 }} | ||||
global tmpvar_14 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then { | ||||
if { $tmpvar_14 == "1" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ1 0 [list $notmod] 2 } | ||||
if { $tmpvar_14 == "2" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ2 0 [list $notmod] 2 } | ||||
if { $tmpvar_14 == "4" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ4 0 [list $notmod] 2 } | ||||
if { $tmpvar_14 == "8" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ8 0 [list $notmod] 2 } | ||||
if { $tmpvar_14 == "16" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ16 0 [list $notmod] 2 } | ||||
if { $tmpvar_14 == "32" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ32 0 [list $notmod] 2 } | ||||
if { $tmpvar_14 == "64" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ64 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ64 0 [list $notmod] 2 } | ||||
if { $tmpvar_14 == "128" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ128 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ128 0 [list $notmod] 2 } | ||||
if { $tmpvar_14 == "256" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ256 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_SZ256 0 [list $notmod] 2 }} | ||||
global tmpvar_15 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then { | ||||
if { $tmpvar_15 == "16" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LZ16 0 [list $notmod] 2 } | ||||
if { $tmpvar_15 == "32" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LZ32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LZ32 0 [list $notmod] 2 }} | ||||
global tmpvar_16 | ||||
global CONFIG_DCACHE_ASSO1 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_ASSO1 != 1)} then { | ||||
if { $tmpvar_16 == "Random" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_ALGORND 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_ALGORND 0 [list $notmod] 2 } | ||||
if { $tmpvar_16 == "Direct" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_ALGODIR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_ALGODIR 0 [list $notmod] 2 } | ||||
if { $tmpvar_16 == "LRR" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_ALGOLRR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_ALGOLRR 0 [list $notmod] 2 } | ||||
if { $tmpvar_16 == "LRU" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_ALGOLRU 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_ALGOLRU 0 [list $notmod] 2 }} | ||||
global CONFIG_DCACHE_LOCK | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_ASSO1 != 1)} then {write_tristate $cfg $autocfg CONFIG_DCACHE_LOCK $CONFIG_DCACHE_LOCK [list $notmod] 2 } | ||||
global CONFIG_DCACHE_SNOOP | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_DCACHE_SNOOP $CONFIG_DCACHE_SNOOP [list $notmod] 2 } | ||||
global CONFIG_DCACHE_SNOOP_FAST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_SNOOP == 1)} then {write_tristate $cfg $autocfg CONFIG_DCACHE_SNOOP_FAST $CONFIG_DCACHE_SNOOP_FAST [list $notmod] 2 } | ||||
global CONFIG_DCACHE_SNOOP_SEPTAG | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_SNOOP == 1)} then {write_tristate $cfg $autocfg CONFIG_DCACHE_SNOOP_SEPTAG $CONFIG_DCACHE_SNOOP_SEPTAG [list $notmod] 2 } | ||||
global CONFIG_CACHE_FIXED | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1 || $CONFIG_DCACHE_ENABLE == 1)} then {write_hex $cfg $autocfg CONFIG_CACHE_FIXED $CONFIG_CACHE_FIXED $notmod } | ||||
global CONFIG_DCACHE_LRAM | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE != 1)} then {write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM $CONFIG_DCACHE_LRAM [list $notmod] 2 } | ||||
global tmpvar_17 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_LRAM == 1)} then { | ||||
if { $tmpvar_17 == "1" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ1 0 [list $notmod] 2 } | ||||
if { $tmpvar_17 == "2" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ2 0 [list $notmod] 2 } | ||||
if { $tmpvar_17 == "4" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ4 0 [list $notmod] 2 } | ||||
if { $tmpvar_17 == "8" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ8 0 [list $notmod] 2 } | ||||
if { $tmpvar_17 == "16" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ16 0 [list $notmod] 2 } | ||||
if { $tmpvar_17 == "32" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ32 0 [list $notmod] 2 } | ||||
if { $tmpvar_17 == "64" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ64 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ64 0 [list $notmod] 2 } | ||||
if { $tmpvar_17 == "128" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ128 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ128 0 [list $notmod] 2 } | ||||
if { $tmpvar_17 == "256" } then { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ256 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DCACHE_LRAM_SZ256 0 [list $notmod] 2 }} | ||||
global CONFIG_DCACHE_LRSTART | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_LRAM == 1)} then {write_hex $cfg $autocfg CONFIG_DCACHE_LRSTART $CONFIG_DCACHE_LRSTART $notmod } | ||||
if {($CONFIG_LEON3 == 1)} then {write_comment $cfg $autocfg "MMU"} | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_MMU_ENABLE $CONFIG_MMU_ENABLE [list $notmod] 2 } | ||||
global tmpvar_18 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then { | ||||
if { $tmpvar_18 == "combined" } then { write_tristate $cfg $autocfg CONFIG_MMU_COMBINED 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_COMBINED 0 [list $notmod] 2 } | ||||
if { $tmpvar_18 == "split" } then { write_tristate $cfg $autocfg CONFIG_MMU_SPLIT 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_SPLIT 0 [list $notmod] 2 }} | ||||
global tmpvar_19 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then { | ||||
if { $tmpvar_19 == "LRU" } then { write_tristate $cfg $autocfg CONFIG_MMU_REPARRAY 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_REPARRAY 0 [list $notmod] 2 } | ||||
if { $tmpvar_19 == "Increment" } then { write_tristate $cfg $autocfg CONFIG_MMU_REPINCREMENT 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_REPINCREMENT 0 [list $notmod] 2 }} | ||||
global tmpvar_20 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then { | ||||
if { $tmpvar_20 == "2" } then { write_tristate $cfg $autocfg CONFIG_MMU_I2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_I2 0 [list $notmod] 2 } | ||||
if { $tmpvar_20 == "4" } then { write_tristate $cfg $autocfg CONFIG_MMU_I4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_I4 0 [list $notmod] 2 } | ||||
if { $tmpvar_20 == "8" } then { write_tristate $cfg $autocfg CONFIG_MMU_I8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_I8 0 [list $notmod] 2 } | ||||
if { $tmpvar_20 == "16" } then { write_tristate $cfg $autocfg CONFIG_MMU_I16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_I16 0 [list $notmod] 2 } | ||||
if { $tmpvar_20 == "32" } then { write_tristate $cfg $autocfg CONFIG_MMU_I32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_I32 0 [list $notmod] 2 }} | ||||
global tmpvar_21 | ||||
global CONFIG_MMU_SPLIT | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1) && ($CONFIG_MMU_SPLIT == 1)} then { | ||||
if { $tmpvar_21 == "2" } then { write_tristate $cfg $autocfg CONFIG_MMU_D2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_D2 0 [list $notmod] 2 } | ||||
if { $tmpvar_21 == "4" } then { write_tristate $cfg $autocfg CONFIG_MMU_D4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_D4 0 [list $notmod] 2 } | ||||
if { $tmpvar_21 == "8" } then { write_tristate $cfg $autocfg CONFIG_MMU_D8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_D8 0 [list $notmod] 2 } | ||||
if { $tmpvar_21 == "16" } then { write_tristate $cfg $autocfg CONFIG_MMU_D16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_D16 0 [list $notmod] 2 } | ||||
if { $tmpvar_21 == "32" } then { write_tristate $cfg $autocfg CONFIG_MMU_D32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_D32 0 [list $notmod] 2 }} | ||||
global CONFIG_MMU_FASTWB | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1) && ($CONFIG_MMU_SPLIT == 1)} then {write_tristate $cfg $autocfg CONFIG_MMU_FASTWB $CONFIG_MMU_FASTWB [list $notmod] 2 } | ||||
global tmpvar_22 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then { | ||||
if { $tmpvar_22 == "4K" } then { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_4K 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_4K 0 [list $notmod] 2 } | ||||
if { $tmpvar_22 == "8K" } then { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_8K 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_8K 0 [list $notmod] 2 } | ||||
if { $tmpvar_22 == "16K" } then { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_16K 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_16K 0 [list $notmod] 2 } | ||||
if { $tmpvar_22 == "32K" } then { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_32K 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_32K 0 [list $notmod] 2 } | ||||
if { $tmpvar_22 == "Programmable" } then { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_PROG 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_MMU_PAGE_PROG 0 [list $notmod] 2 }} | ||||
if {($CONFIG_LEON3 == 1)} then {write_comment $cfg $autocfg "Debug Support Unit "} | ||||
global CONFIG_DSU_ENABLE | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_DSU_ENABLE $CONFIG_DSU_ENABLE [list $notmod] 2 } | ||||
global CONFIG_DSU_ITRACE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_DSU_ITRACE $CONFIG_DSU_ITRACE [list $notmod] 2 } | ||||
global tmpvar_23 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1) && ($CONFIG_DSU_ITRACE == 1)} then { | ||||
if { $tmpvar_23 == "1" } then { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ1 0 [list $notmod] 2 } | ||||
if { $tmpvar_23 == "2" } then { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ2 0 [list $notmod] 2 } | ||||
if { $tmpvar_23 == "4" } then { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ4 0 [list $notmod] 2 } | ||||
if { $tmpvar_23 == "8" } then { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ8 0 [list $notmod] 2 } | ||||
if { $tmpvar_23 == "16" } then { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ITRACESZ16 0 [list $notmod] 2 }} | ||||
global CONFIG_DSU_ATRACE | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_DSU_ATRACE $CONFIG_DSU_ATRACE [list $notmod] 2 } | ||||
global tmpvar_24 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1) && ($CONFIG_DSU_ATRACE == 1)} then { | ||||
if { $tmpvar_24 == "1" } then { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ1 0 [list $notmod] 2 } | ||||
if { $tmpvar_24 == "2" } then { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ2 0 [list $notmod] 2 } | ||||
if { $tmpvar_24 == "4" } then { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ4 0 [list $notmod] 2 } | ||||
if { $tmpvar_24 == "8" } then { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ8 0 [list $notmod] 2 } | ||||
if { $tmpvar_24 == "16" } then { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ATRACESZ16 0 [list $notmod] 2 }} | ||||
if {($CONFIG_LEON3 == 1)} then {write_comment $cfg $autocfg "Fault-tolerance "} | ||||
global CONFIG_LEON3FT_EN | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_LEON3FT_EN $CONFIG_LEON3FT_EN [list $notmod] 2 } | ||||
global tmpvar_25 | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then { | ||||
if { $tmpvar_25 == "None" } then { write_tristate $cfg $autocfg CONFIG_IUFT_NONE 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IUFT_NONE 0 [list $notmod] 2 } | ||||
if { $tmpvar_25 == "Parity" } then { write_tristate $cfg $autocfg CONFIG_IUFT_PAR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IUFT_PAR 0 [list $notmod] 2 } | ||||
if { $tmpvar_25 == "PDMR" } then { write_tristate $cfg $autocfg CONFIG_IUFT_DMR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IUFT_DMR 0 [list $notmod] 2 } | ||||
if { $tmpvar_25 == "BCH" } then { write_tristate $cfg $autocfg CONFIG_IUFT_BCH 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IUFT_BCH 0 [list $notmod] 2 } | ||||
if { $tmpvar_25 == "TMR" } then { write_tristate $cfg $autocfg CONFIG_IUFT_TMR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_IUFT_TMR 0 [list $notmod] 2 }} | ||||
global CONFIG_FPUFT_EN | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1) && ($CONFIG_FPU_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_FPUFT_EN $CONFIG_FPUFT_EN [list $notmod] 2 } | ||||
global CONFIG_RF_ERRINJ | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then {write_tristate $cfg $autocfg CONFIG_RF_ERRINJ $CONFIG_RF_ERRINJ [list $notmod] 2 } | ||||
global CONFIG_CACHE_FT_EN | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then {write_tristate $cfg $autocfg CONFIG_CACHE_FT_EN $CONFIG_CACHE_FT_EN [list $notmod] 2 } | ||||
global CONFIG_CACHE_ERRINJ | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then {write_int $cfg $autocfg CONFIG_CACHE_ERRINJ $CONFIG_CACHE_ERRINJ $notmod } | ||||
global CONFIG_LEON3_NETLIST | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_LEON3FT_EN == 1)} then {write_tristate $cfg $autocfg CONFIG_LEON3_NETLIST $CONFIG_LEON3_NETLIST [list $notmod] 2 } | ||||
if {($CONFIG_LEON3 == 1)} then {write_comment $cfg $autocfg "VHDL debug settings "} | ||||
global CONFIG_IU_DISAS | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_IU_DISAS $CONFIG_IU_DISAS [list $notmod] 2 } | ||||
global CONFIG_IU_DISAS_NET | ||||
if {($CONFIG_LEON3 == 1) && ($CONFIG_IU_DISAS == 1)} then {write_tristate $cfg $autocfg CONFIG_IU_DISAS_NET $CONFIG_IU_DISAS_NET [list $notmod] 2 } | ||||
global CONFIG_DEBUG_PC32 | ||||
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_DEBUG_PC32 $CONFIG_DEBUG_PC32 [list $notmod] 2 } | ||||
write_comment $cfg $autocfg "AMBA configuration" | ||||
global CONFIG_AHB_DEFMST | ||||
write_int $cfg $autocfg CONFIG_AHB_DEFMST $CONFIG_AHB_DEFMST $notmod | ||||
global CONFIG_AHB_RROBIN | ||||
write_tristate $cfg $autocfg CONFIG_AHB_RROBIN $CONFIG_AHB_RROBIN [list $notmod] 2 | ||||
global CONFIG_AHB_SPLIT | ||||
write_tristate $cfg $autocfg CONFIG_AHB_SPLIT $CONFIG_AHB_SPLIT [list $notmod] 2 | ||||
global CONFIG_AHB_IOADDR | ||||
write_hex $cfg $autocfg CONFIG_AHB_IOADDR $CONFIG_AHB_IOADDR $notmod | ||||
global CONFIG_APB_HADDR | ||||
write_hex $cfg $autocfg CONFIG_APB_HADDR $CONFIG_APB_HADDR $notmod | ||||
global CONFIG_AHB_MON | ||||
write_tristate $cfg $autocfg CONFIG_AHB_MON $CONFIG_AHB_MON [list $notmod] 2 | ||||
global CONFIG_AHB_MONERR | ||||
if {($CONFIG_AHB_MON == 1)} then {write_tristate $cfg $autocfg CONFIG_AHB_MONERR $CONFIG_AHB_MONERR [list $notmod] 2 } | ||||
global CONFIG_AHB_MONWAR | ||||
if {($CONFIG_AHB_MON == 1)} then {write_tristate $cfg $autocfg CONFIG_AHB_MONWAR $CONFIG_AHB_MONWAR [list $notmod] 2 } | ||||
global CONFIG_AHB_DTRACE | ||||
write_tristate $cfg $autocfg CONFIG_AHB_DTRACE $CONFIG_AHB_DTRACE [list $notmod] 2 | ||||
write_comment $cfg $autocfg "Debug Link " | ||||
global CONFIG_DSU_JTAG | ||||
write_tristate $cfg $autocfg CONFIG_DSU_JTAG $CONFIG_DSU_JTAG [list $notmod] 2 | ||||
global CONFIG_DSU_ETH | ||||
global CONFIG_GRETH_ENABLE | ||||
if {($CONFIG_GRETH_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_DSU_ETH $CONFIG_DSU_ETH [list $notmod] 2 } | ||||
global tmpvar_26 | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then { | ||||
if { $tmpvar_26 == "1" } then { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ1 0 [list $notmod] 2 } | ||||
if { $tmpvar_26 == "2" } then { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ2 0 [list $notmod] 2 } | ||||
if { $tmpvar_26 == "4" } then { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ4 0 [list $notmod] 2 } | ||||
if { $tmpvar_26 == "8" } then { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ8 0 [list $notmod] 2 } | ||||
if { $tmpvar_26 == "16" } then { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_DSU_ETHSZ16 0 [list $notmod] 2 }} | ||||
global CONFIG_DSU_IPMSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {write_hex $cfg $autocfg CONFIG_DSU_IPMSB $CONFIG_DSU_IPMSB $notmod } | ||||
global CONFIG_DSU_IPLSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {write_hex $cfg $autocfg CONFIG_DSU_IPLSB $CONFIG_DSU_IPLSB $notmod } | ||||
global CONFIG_DSU_ETHMSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {write_hex $cfg $autocfg CONFIG_DSU_ETHMSB $CONFIG_DSU_ETHMSB $notmod } | ||||
global CONFIG_DSU_ETHLSB | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {write_hex $cfg $autocfg CONFIG_DSU_ETHLSB $CONFIG_DSU_ETHLSB $notmod } | ||||
global CONFIG_DSU_ETH_PROG | ||||
global CONFIG_GRETH_GIGA | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1) && ($CONFIG_GRETH_GIGA == 0)} then {write_tristate $cfg $autocfg CONFIG_DSU_ETH_PROG $CONFIG_DSU_ETH_PROG [list $notmod] 2 } | ||||
global CONFIG_DSU_ETH_DIS | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1) && ($CONFIG_GRETH_GIGA == 0)} then {write_tristate $cfg $autocfg CONFIG_DSU_ETH_DIS $CONFIG_DSU_ETH_DIS [list $notmod] 2 } | ||||
write_comment $cfg $autocfg "Peripherals " | ||||
write_comment $cfg $autocfg "Memory controller " | ||||
write_comment $cfg $autocfg "Leon2 memory controller " | ||||
global CONFIG_MCTRL_LEON2 | ||||
write_tristate $cfg $autocfg CONFIG_MCTRL_LEON2 $CONFIG_MCTRL_LEON2 [list $notmod] 2 | ||||
global CONFIG_MCTRL_8BIT | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_8BIT $CONFIG_MCTRL_8BIT [list $notmod] 2 } | ||||
global CONFIG_MCTRL_16BIT | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_16BIT $CONFIG_MCTRL_16BIT [list $notmod] 2 } | ||||
global CONFIG_MCTRL_5CS | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_5CS $CONFIG_MCTRL_5CS [list $notmod] 2 } | ||||
global CONFIG_MCTRL_SDRAM | ||||
if {($CONFIG_MCTRL_LEON2 == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_SDRAM $CONFIG_MCTRL_SDRAM [list $notmod] 2 } | ||||
global CONFIG_MCTRL_SDRAM_SEPBUS | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_SDRAM_SEPBUS $CONFIG_MCTRL_SDRAM_SEPBUS [list $notmod] 2 } | ||||
global CONFIG_MCTRL_SDRAM_BUS64 | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_SDRAM_SEPBUS == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_SDRAM_BUS64 $CONFIG_MCTRL_SDRAM_BUS64 [list $notmod] 2 } | ||||
global CONFIG_MCTRL_SDRAM_INVCLK | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_SDRAM_SEPBUS == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_SDRAM_INVCLK $CONFIG_MCTRL_SDRAM_INVCLK [list $notmod] 2 } | ||||
global CONFIG_MCTRL_PAGE | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_PAGE $CONFIG_MCTRL_PAGE [list $notmod] 2 } | ||||
global CONFIG_MCTRL_PROGPAGE | ||||
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1) && ($CONFIG_MCTRL_PAGE == 1)} then {write_tristate $cfg $autocfg CONFIG_MCTRL_PROGPAGE $CONFIG_MCTRL_PROGPAGE [list $notmod] 2 } | ||||
write_comment $cfg $autocfg "MIG memory controller " | ||||
global CONFIG_MIG_DDR2 | ||||
write_tristate $cfg $autocfg CONFIG_MIG_DDR2 $CONFIG_MIG_DDR2 [list $notmod] 2 | ||||
global CONFIG_MIG_RANKS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {write_int $cfg $autocfg CONFIG_MIG_RANKS $CONFIG_MIG_RANKS $notmod } | ||||
global CONFIG_MIG_COLBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {write_int $cfg $autocfg CONFIG_MIG_COLBITS $CONFIG_MIG_COLBITS $notmod } | ||||
global CONFIG_MIG_ROWBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {write_int $cfg $autocfg CONFIG_MIG_ROWBITS $CONFIG_MIG_ROWBITS $notmod } | ||||
global CONFIG_MIG_BANKBITS | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {write_int $cfg $autocfg CONFIG_MIG_BANKBITS $CONFIG_MIG_BANKBITS $notmod } | ||||
global CONFIG_MIG_HMASK | ||||
if {($CONFIG_MIG_DDR2 == 1)} then {write_hex $cfg $autocfg CONFIG_MIG_HMASK $CONFIG_MIG_HMASK $notmod } | ||||
global CONFIG_AHBSTAT_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_AHBSTAT_ENABLE $CONFIG_AHBSTAT_ENABLE [list $notmod] 2 | ||||
global CONFIG_AHBSTAT_NFTSLV | ||||
if {($CONFIG_AHBSTAT_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_AHBSTAT_NFTSLV $CONFIG_AHBSTAT_NFTSLV $notmod } | ||||
write_comment $cfg $autocfg "On-chip RAM/ROM " | ||||
global CONFIG_AHBROM_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_AHBROM_ENABLE $CONFIG_AHBROM_ENABLE [list $notmod] 2 | ||||
global CONFIG_AHBROM_START | ||||
if {($CONFIG_AHBROM_ENABLE == 1)} then {write_hex $cfg $autocfg CONFIG_AHBROM_START $CONFIG_AHBROM_START $notmod } | ||||
global CONFIG_AHBROM_PIPE | ||||
if {($CONFIG_AHBROM_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_AHBROM_PIPE $CONFIG_AHBROM_PIPE [list $notmod] 2 } | ||||
global CONFIG_AHBRAM_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_AHBRAM_ENABLE $CONFIG_AHBRAM_ENABLE [list $notmod] 2 | ||||
global tmpvar_27 | ||||
if {($CONFIG_AHBRAM_ENABLE == 1)} then { | ||||
if { $tmpvar_27 == "1" } then { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ1 0 [list $notmod] 2 } | ||||
if { $tmpvar_27 == "2" } then { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ2 0 [list $notmod] 2 } | ||||
if { $tmpvar_27 == "4" } then { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ4 0 [list $notmod] 2 } | ||||
if { $tmpvar_27 == "8" } then { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ8 0 [list $notmod] 2 } | ||||
if { $tmpvar_27 == "16" } then { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ16 0 [list $notmod] 2 } | ||||
if { $tmpvar_27 == "32" } then { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ32 0 [list $notmod] 2 } | ||||
if { $tmpvar_27 == "64" } then { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ64 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_AHBRAM_SZ64 0 [list $notmod] 2 }} | ||||
global CONFIG_AHBRAM_START | ||||
if {($CONFIG_AHBRAM_ENABLE == 1)} then {write_hex $cfg $autocfg CONFIG_AHBRAM_START $CONFIG_AHBRAM_START $notmod } | ||||
write_comment $cfg $autocfg "Ethernet " | ||||
write_tristate $cfg $autocfg CONFIG_GRETH_ENABLE $CONFIG_GRETH_ENABLE [list $notmod] 2 | ||||
if {($CONFIG_GRETH_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_GRETH_GIGA $CONFIG_GRETH_GIGA [list $notmod] 2 } | ||||
global tmpvar_28 | ||||
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_GRETH_GIGA == 0)} then { | ||||
if { $tmpvar_28 == "4" } then { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO4 0 [list $notmod] 2 } | ||||
if { $tmpvar_28 == "8" } then { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO8 0 [list $notmod] 2 } | ||||
if { $tmpvar_28 == "16" } then { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO16 0 [list $notmod] 2 } | ||||
if { $tmpvar_28 == "32" } then { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO32 0 [list $notmod] 2 } | ||||
if { $tmpvar_28 == "64" } then { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO64 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_GRETH_FIFO64 0 [list $notmod] 2 }} | ||||
write_comment $cfg $autocfg "UART, timer, I/O port and interrupt controller" | ||||
global CONFIG_UART1_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_UART1_ENABLE $CONFIG_UART1_ENABLE [list $notmod] 2 | ||||
global tmpvar_29 | ||||
if {($CONFIG_UART1_ENABLE == 1)} then { | ||||
if { $tmpvar_29 == "1" } then { write_tristate $cfg $autocfg CONFIG_UA1_FIFO1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA1_FIFO1 0 [list $notmod] 2 } | ||||
if { $tmpvar_29 == "2" } then { write_tristate $cfg $autocfg CONFIG_UA1_FIFO2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA1_FIFO2 0 [list $notmod] 2 } | ||||
if { $tmpvar_29 == "4" } then { write_tristate $cfg $autocfg CONFIG_UA1_FIFO4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA1_FIFO4 0 [list $notmod] 2 } | ||||
if { $tmpvar_29 == "8" } then { write_tristate $cfg $autocfg CONFIG_UA1_FIFO8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA1_FIFO8 0 [list $notmod] 2 } | ||||
if { $tmpvar_29 == "16" } then { write_tristate $cfg $autocfg CONFIG_UA1_FIFO16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA1_FIFO16 0 [list $notmod] 2 } | ||||
if { $tmpvar_29 == "32" } then { write_tristate $cfg $autocfg CONFIG_UA1_FIFO32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA1_FIFO32 0 [list $notmod] 2 }} | ||||
global CONFIG_IRQ3_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_IRQ3_ENABLE $CONFIG_IRQ3_ENABLE [list $notmod] 2 | ||||
global CONFIG_IRQ3_SEC | ||||
if {($CONFIG_IRQ3_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_IRQ3_SEC $CONFIG_IRQ3_SEC [list $notmod] 2 } | ||||
global CONFIG_IRQ3_NSEC | ||||
if {($CONFIG_IRQ3_ENABLE == 1) && ($CONFIG_IRQ3_SEC == 1)} then {write_int $cfg $autocfg CONFIG_IRQ3_NSEC $CONFIG_IRQ3_NSEC $notmod } | ||||
global CONFIG_GPT_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_GPT_ENABLE $CONFIG_GPT_ENABLE [list $notmod] 2 | ||||
global CONFIG_GPT_NTIM | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_GPT_NTIM $CONFIG_GPT_NTIM $notmod } | ||||
global CONFIG_GPT_SW | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_GPT_SW $CONFIG_GPT_SW $notmod } | ||||
global CONFIG_GPT_TW | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_GPT_TW $CONFIG_GPT_TW $notmod } | ||||
global CONFIG_GPT_IRQ | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_GPT_IRQ $CONFIG_GPT_IRQ $notmod } | ||||
global CONFIG_GPT_SEPIRQ | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_GPT_SEPIRQ $CONFIG_GPT_SEPIRQ [list $notmod] 2 } | ||||
global CONFIG_GPT_WDOGEN | ||||
if {($CONFIG_GPT_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_GPT_WDOGEN $CONFIG_GPT_WDOGEN [list $notmod] 2 } | ||||
global CONFIG_GPT_WDOG | ||||
if {($CONFIG_GPT_ENABLE == 1) && ($CONFIG_GPT_WDOGEN == 1)} then {write_hex $cfg $autocfg CONFIG_GPT_WDOG $CONFIG_GPT_WDOG $notmod } | ||||
global CONFIG_GRGPIO_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_GRGPIO_ENABLE $CONFIG_GRGPIO_ENABLE [list $notmod] 2 | ||||
global CONFIG_GRGPIO_WIDTH | ||||
if {($CONFIG_GRGPIO_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_GRGPIO_WIDTH $CONFIG_GRGPIO_WIDTH $notmod } | ||||
global CONFIG_GRGPIO_IMASK | ||||
if {($CONFIG_GRGPIO_ENABLE == 1)} then {write_hex $cfg $autocfg CONFIG_GRGPIO_IMASK $CONFIG_GRGPIO_IMASK $notmod } | ||||
write_comment $cfg $autocfg "Keybord and VGA interface" | ||||
global CONFIG_KBD_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_KBD_ENABLE $CONFIG_KBD_ENABLE [list $notmod] 2 | ||||
global CONFIG_VGA_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_VGA_ENABLE $CONFIG_VGA_ENABLE [list $notmod] 2 | ||||
global CONFIG_SVGA_ENABLE | ||||
if {($CONFIG_VGA_ENABLE == 0)} then {write_tristate $cfg $autocfg CONFIG_SVGA_ENABLE $CONFIG_SVGA_ENABLE [list $notmod] 2 } | ||||
write_comment $cfg $autocfg "SPI" | ||||
write_comment $cfg $autocfg "SPI memory controller " | ||||
global CONFIG_SPIMCTRL | ||||
write_tristate $cfg $autocfg CONFIG_SPIMCTRL $CONFIG_SPIMCTRL [list $notmod] 2 | ||||
global CONFIG_SPIMCTRL_SDCARD | ||||
if {($CONFIG_SPIMCTRL == 1)} then {write_tristate $cfg $autocfg CONFIG_SPIMCTRL_SDCARD $CONFIG_SPIMCTRL_SDCARD [list $notmod] 2 } | ||||
global CONFIG_SPIMCTRL_READCMD | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then {write_hex $cfg $autocfg CONFIG_SPIMCTRL_READCMD $CONFIG_SPIMCTRL_READCMD $notmod } | ||||
global CONFIG_SPIMCTRL_DUMMYBYTE | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then {write_tristate $cfg $autocfg CONFIG_SPIMCTRL_DUMMYBYTE $CONFIG_SPIMCTRL_DUMMYBYTE [list $notmod] 2 } | ||||
global CONFIG_SPIMCTRL_DUALOUTPUT | ||||
if {($CONFIG_SPIMCTRL == 1) && ($CONFIG_SPIMCTRL_SDCARD != 1)} then {write_tristate $cfg $autocfg CONFIG_SPIMCTRL_DUALOUTPUT $CONFIG_SPIMCTRL_DUALOUTPUT [list $notmod] 2 } | ||||
global CONFIG_SPIMCTRL_SCALER | ||||
if {($CONFIG_SPIMCTRL == 1)} then {write_int $cfg $autocfg CONFIG_SPIMCTRL_SCALER $CONFIG_SPIMCTRL_SCALER $notmod } | ||||
global CONFIG_SPIMCTRL_ASCALER | ||||
if {($CONFIG_SPIMCTRL == 1)} then {write_int $cfg $autocfg CONFIG_SPIMCTRL_ASCALER $CONFIG_SPIMCTRL_ASCALER $notmod } | ||||
global CONFIG_SPIMCTRL_PWRUPCNT | ||||
if {($CONFIG_SPIMCTRL == 1)} then {write_int $cfg $autocfg CONFIG_SPIMCTRL_PWRUPCNT $CONFIG_SPIMCTRL_PWRUPCNT $notmod } | ||||
write_comment $cfg $autocfg "SPI controller(s) " | ||||
global CONFIG_SPICTRL_ENABLE | ||||
write_tristate $cfg $autocfg CONFIG_SPICTRL_ENABLE $CONFIG_SPICTRL_ENABLE [list $notmod] 2 | ||||
global CONFIG_SPICTRL_NUM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_SPICTRL_NUM $CONFIG_SPICTRL_NUM $notmod } | ||||
global CONFIG_SPICTRL_SLVS | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_SPICTRL_SLVS $CONFIG_SPICTRL_SLVS $notmod } | ||||
global CONFIG_SPICTRL_FIFO | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_SPICTRL_FIFO $CONFIG_SPICTRL_FIFO $notmod } | ||||
global CONFIG_SPICTRL_SLVREG | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPICTRL_SLVREG $CONFIG_SPICTRL_SLVREG [list $notmod] 2 } | ||||
global CONFIG_SPICTRL_ASEL | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPICTRL_ASEL $CONFIG_SPICTRL_ASEL [list $notmod] 2 } | ||||
global CONFIG_SPICTRL_AM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPICTRL_AM $CONFIG_SPICTRL_AM [list $notmod] 2 } | ||||
global CONFIG_SPICTRL_ODMODE | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPICTRL_ODMODE $CONFIG_SPICTRL_ODMODE [list $notmod] 2 } | ||||
global CONFIG_SPICTRL_TWEN | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPICTRL_TWEN $CONFIG_SPICTRL_TWEN [list $notmod] 2 } | ||||
global CONFIG_SPICTRL_MAXWLEN | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_SPICTRL_MAXWLEN $CONFIG_SPICTRL_MAXWLEN $notmod } | ||||
global CONFIG_SPICTRL_SYNCRAM | ||||
if {($CONFIG_SPICTRL_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPICTRL_SYNCRAM $CONFIG_SPICTRL_SYNCRAM [list $notmod] 2 } | ||||
global tmpvar_30 | ||||
if {($CONFIG_SPICTRL_ENABLE == 1) && ($CONFIG_SPICTRL_SYNCRAM == 1)} then { | ||||
if { $tmpvar_30 == "None" } then { write_tristate $cfg $autocfg CONFIG_SPICTRL_NOFT 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPICTRL_NOFT 0 [list $notmod] 2 } | ||||
if { $tmpvar_30 == "Parity-DMR" } then { write_tristate $cfg $autocfg CONFIG_SPICTRL_DMRFT 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPICTRL_DMRFT 0 [list $notmod] 2 } | ||||
if { $tmpvar_30 == "TMR" } then { write_tristate $cfg $autocfg CONFIG_SPICTRL_TMRFT 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPICTRL_TMRFT 0 [list $notmod] 2 }} | ||||
write_comment $cfg $autocfg "VHDL Debugging " | ||||
global CONFIG_DEBUG_UART | ||||
write_tristate $cfg $autocfg CONFIG_DEBUG_UART $CONFIG_DEBUG_UART [list $notmod] 2 | ||||
close $cfg | ||||
close $autocfg | ||||
} | ||||
proc clear_choices { } { | ||||
global CONFIG_SYN_INFERRED; set CONFIG_SYN_INFERRED 0 | ||||
global CONFIG_SYN_STRATIX; set CONFIG_SYN_STRATIX 0 | ||||
global CONFIG_SYN_STRATIXII; set CONFIG_SYN_STRATIXII 0 | ||||
global CONFIG_SYN_STRATIXIII; set CONFIG_SYN_STRATIXIII 0 | ||||
global CONFIG_SYN_CYCLONEIII; set CONFIG_SYN_CYCLONEIII 0 | ||||
global CONFIG_SYN_ALTERA; set CONFIG_SYN_ALTERA 0 | ||||
global CONFIG_SYN_AXCEL; set CONFIG_SYN_AXCEL 0 | ||||
global CONFIG_SYN_AXDSP; set CONFIG_SYN_AXDSP 0 | ||||
global CONFIG_SYN_PROASIC; set CONFIG_SYN_PROASIC 0 | ||||
global CONFIG_SYN_PROASICPLUS; set CONFIG_SYN_PROASICPLUS 0 | ||||
global CONFIG_SYN_PROASIC3; set CONFIG_SYN_PROASIC3 0 | ||||
global CONFIG_SYN_PROASIC3E; set CONFIG_SYN_PROASIC3E 0 | ||||
global CONFIG_SYN_PROASIC3L; set CONFIG_SYN_PROASIC3L 0 | ||||
global CONFIG_SYN_IGLOO; set CONFIG_SYN_IGLOO 0 | ||||
global CONFIG_SYN_FUSION; set CONFIG_SYN_FUSION 0 | ||||
global CONFIG_SYN_UT025CRH; set CONFIG_SYN_UT025CRH 0 | ||||
global CONFIG_SYN_UT130HBD; set CONFIG_SYN_UT130HBD 0 | ||||
global CONFIG_SYN_UT90NHBD; set CONFIG_SYN_UT90NHBD 0 | ||||
global CONFIG_SYN_ATC18; set CONFIG_SYN_ATC18 0 | ||||
global CONFIG_SYN_ATC18RHA; set CONFIG_SYN_ATC18RHA 0 | ||||
global CONFIG_SYN_CMOS9SF; set CONFIG_SYN_CMOS9SF 0 | ||||
global CONFIG_SYN_CUSTOM1; set CONFIG_SYN_CUSTOM1 0 | ||||
global CONFIG_SYN_EASIC90; set CONFIG_SYN_EASIC90 0 | ||||
global CONFIG_SYN_EASIC45; set CONFIG_SYN_EASIC45 0 | ||||
global CONFIG_SYN_IHP25; set CONFIG_SYN_IHP25 0 | ||||
global CONFIG_SYN_IHP25RH; set CONFIG_SYN_IHP25RH 0 | ||||
global CONFIG_SYN_LATTICE; set CONFIG_SYN_LATTICE 0 | ||||
global CONFIG_SYN_ECLIPSE; set CONFIG_SYN_ECLIPSE 0 | ||||
global CONFIG_SYN_PEREGRINE; set CONFIG_SYN_PEREGRINE 0 | ||||
global CONFIG_SYN_RH_LIB18T; set CONFIG_SYN_RH_LIB18T 0 | ||||
global CONFIG_SYN_RHUMC; set CONFIG_SYN_RHUMC 0 | ||||
global CONFIG_SYN_SMIC13; set CONFIG_SYN_SMIC13 0 | ||||
global CONFIG_SYN_TM65GPLUS; set CONFIG_SYN_TM65GPLUS 0 | ||||
global CONFIG_SYN_TSMC90; set CONFIG_SYN_TSMC90 0 | ||||
global CONFIG_SYN_UMC; set CONFIG_SYN_UMC 0 | ||||
global CONFIG_SYN_SPARTAN2; set CONFIG_SYN_SPARTAN2 0 | ||||
global CONFIG_SYN_SPARTAN3; set CONFIG_SYN_SPARTAN3 0 | ||||
global CONFIG_SYN_SPARTAN3E; set CONFIG_SYN_SPARTAN3E 0 | ||||
global CONFIG_SYN_SPARTAN6; set CONFIG_SYN_SPARTAN6 0 | ||||
global CONFIG_SYN_VIRTEX; set CONFIG_SYN_VIRTEX 0 | ||||
global CONFIG_SYN_VIRTEXE; set CONFIG_SYN_VIRTEXE 0 | ||||
global CONFIG_SYN_VIRTEX2; set CONFIG_SYN_VIRTEX2 0 | ||||
global CONFIG_SYN_VIRTEX4; set CONFIG_SYN_VIRTEX4 0 | ||||
global CONFIG_SYN_VIRTEX5; set CONFIG_SYN_VIRTEX5 0 | ||||
global CONFIG_SYN_VIRTEX6; set CONFIG_SYN_VIRTEX6 0 | ||||
global CONFIG_MEM_INFERRED; set CONFIG_MEM_INFERRED 0 | ||||
global CONFIG_MEM_UMC; set CONFIG_MEM_UMC 0 | ||||
global CONFIG_MEM_RHUMC; set CONFIG_MEM_RHUMC 0 | ||||
global CONFIG_MEM_ARTISAN; set CONFIG_MEM_ARTISAN 0 | ||||
global CONFIG_MEM_CUSTOM1; set CONFIG_MEM_CUSTOM1 0 | ||||
global CONFIG_MEM_VIRAGE; set CONFIG_MEM_VIRAGE 0 | ||||
global CONFIG_MEM_VIRAGE90; set CONFIG_MEM_VIRAGE90 0 | ||||
global CONFIG_CLK_INFERRED; set CONFIG_CLK_INFERRED 0 | ||||
global CONFIG_CLK_HCLKBUF; set CONFIG_CLK_HCLKBUF 0 | ||||
global CONFIG_CLK_UT130HBD; set CONFIG_CLK_UT130HBD 0 | ||||
global CONFIG_CLK_ALTDLL; set CONFIG_CLK_ALTDLL 0 | ||||
global CONFIG_CLK_LATDLL; set CONFIG_CLK_LATDLL 0 | ||||
global CONFIG_CLK_PRO3PLL; set CONFIG_CLK_PRO3PLL 0 | ||||
global CONFIG_CLK_PRO3EPLL; set CONFIG_CLK_PRO3EPLL 0 | ||||
global CONFIG_CLK_PRO3LPLL; set CONFIG_CLK_PRO3LPLL 0 | ||||
global CONFIG_CLK_FUSPLL; set CONFIG_CLK_FUSPLL 0 | ||||
global CONFIG_CLK_LIB18T; set CONFIG_CLK_LIB18T 0 | ||||
global CONFIG_CLK_RHUMC; set CONFIG_CLK_RHUMC 0 | ||||
global CONFIG_CLK_CLKDLL; set CONFIG_CLK_CLKDLL 0 | ||||
global CONFIG_CLK_DCM; set CONFIG_CLK_DCM 0 | ||||
global CONFIG_IU_MUL_LATENCY_2; set CONFIG_IU_MUL_LATENCY_2 0 | ||||
global CONFIG_IU_MUL_LATENCY_4; set CONFIG_IU_MUL_LATENCY_4 0 | ||||
global CONFIG_IU_MUL_LATENCY_5; set CONFIG_IU_MUL_LATENCY_5 0 | ||||
global CONFIG_IU_MUL_INFERRED; set CONFIG_IU_MUL_INFERRED 0 | ||||
global CONFIG_IU_MUL_MODGEN; set CONFIG_IU_MUL_MODGEN 0 | ||||
global CONFIG_IU_MUL_TECHSPEC; set CONFIG_IU_MUL_TECHSPEC 0 | ||||
global CONFIG_IU_MUL_DW; set CONFIG_IU_MUL_DW 0 | ||||
global CONFIG_FPU_GRFPU; set CONFIG_FPU_GRFPU 0 | ||||
global CONFIG_FPU_GRFPULITE; set CONFIG_FPU_GRFPULITE 0 | ||||
global CONFIG_FPU_MEIKO; set CONFIG_FPU_MEIKO 0 | ||||
global CONFIG_FPU_GRFPU_INFMUL; set CONFIG_FPU_GRFPU_INFMUL 0 | ||||
global CONFIG_FPU_GRFPU_DWMUL; set CONFIG_FPU_GRFPU_DWMUL 0 | ||||
global CONFIG_FPU_GRFPU_MODGEN; set CONFIG_FPU_GRFPU_MODGEN 0 | ||||
global CONFIG_FPU_GRFPU_TECHSPEC; set CONFIG_FPU_GRFPU_TECHSPEC 0 | ||||
global CONFIG_FPU_GRFPC0; set CONFIG_FPU_GRFPC0 0 | ||||
global CONFIG_FPU_GRFPC1; set CONFIG_FPU_GRFPC1 0 | ||||
global CONFIG_FPU_GRFPC2; set CONFIG_FPU_GRFPC2 0 | ||||
global CONFIG_ICACHE_ASSO1; set CONFIG_ICACHE_ASSO1 0 | ||||
global CONFIG_ICACHE_ASSO2; set CONFIG_ICACHE_ASSO2 0 | ||||
global CONFIG_ICACHE_ASSO3; set CONFIG_ICACHE_ASSO3 0 | ||||
global CONFIG_ICACHE_ASSO4; set CONFIG_ICACHE_ASSO4 0 | ||||
global CONFIG_ICACHE_SZ1; set CONFIG_ICACHE_SZ1 0 | ||||
global CONFIG_ICACHE_SZ2; set CONFIG_ICACHE_SZ2 0 | ||||
global CONFIG_ICACHE_SZ4; set CONFIG_ICACHE_SZ4 0 | ||||
global CONFIG_ICACHE_SZ8; set CONFIG_ICACHE_SZ8 0 | ||||
global CONFIG_ICACHE_SZ16; set CONFIG_ICACHE_SZ16 0 | ||||
global CONFIG_ICACHE_SZ32; set CONFIG_ICACHE_SZ32 0 | ||||
global CONFIG_ICACHE_SZ64; set CONFIG_ICACHE_SZ64 0 | ||||
global CONFIG_ICACHE_SZ128; set CONFIG_ICACHE_SZ128 0 | ||||
global CONFIG_ICACHE_SZ256; set CONFIG_ICACHE_SZ256 0 | ||||
global CONFIG_ICACHE_LZ16; set CONFIG_ICACHE_LZ16 0 | ||||
global CONFIG_ICACHE_LZ32; set CONFIG_ICACHE_LZ32 0 | ||||
global CONFIG_ICACHE_ALGORND; set CONFIG_ICACHE_ALGORND 0 | ||||
global CONFIG_ICACHE_ALGODIR; set CONFIG_ICACHE_ALGODIR 0 | ||||
global CONFIG_ICACHE_ALGOLRR; set CONFIG_ICACHE_ALGOLRR 0 | ||||
global CONFIG_ICACHE_ALGOLRU; set CONFIG_ICACHE_ALGOLRU 0 | ||||
global CONFIG_ICACHE_LRAM_SZ1; set CONFIG_ICACHE_LRAM_SZ1 0 | ||||
global CONFIG_ICACHE_LRAM_SZ2; set CONFIG_ICACHE_LRAM_SZ2 0 | ||||
global CONFIG_ICACHE_LRAM_SZ4; set CONFIG_ICACHE_LRAM_SZ4 0 | ||||
global CONFIG_ICACHE_LRAM_SZ8; set CONFIG_ICACHE_LRAM_SZ8 0 | ||||
global CONFIG_ICACHE_LRAM_SZ16; set CONFIG_ICACHE_LRAM_SZ16 0 | ||||
global CONFIG_ICACHE_LRAM_SZ32; set CONFIG_ICACHE_LRAM_SZ32 0 | ||||
global CONFIG_ICACHE_LRAM_SZ64; set CONFIG_ICACHE_LRAM_SZ64 0 | ||||
global CONFIG_ICACHE_LRAM_SZ128; set CONFIG_ICACHE_LRAM_SZ128 0 | ||||
global CONFIG_ICACHE_LRAM_SZ256; set CONFIG_ICACHE_LRAM_SZ256 0 | ||||
global CONFIG_DCACHE_ASSO1; set CONFIG_DCACHE_ASSO1 0 | ||||
global CONFIG_DCACHE_ASSO2; set CONFIG_DCACHE_ASSO2 0 | ||||
global CONFIG_DCACHE_ASSO3; set CONFIG_DCACHE_ASSO3 0 | ||||
global CONFIG_DCACHE_ASSO4; set CONFIG_DCACHE_ASSO4 0 | ||||
global CONFIG_DCACHE_SZ1; set CONFIG_DCACHE_SZ1 0 | ||||
global CONFIG_DCACHE_SZ2; set CONFIG_DCACHE_SZ2 0 | ||||
global CONFIG_DCACHE_SZ4; set CONFIG_DCACHE_SZ4 0 | ||||
global CONFIG_DCACHE_SZ8; set CONFIG_DCACHE_SZ8 0 | ||||
global CONFIG_DCACHE_SZ16; set CONFIG_DCACHE_SZ16 0 | ||||
global CONFIG_DCACHE_SZ32; set CONFIG_DCACHE_SZ32 0 | ||||
global CONFIG_DCACHE_SZ64; set CONFIG_DCACHE_SZ64 0 | ||||
global CONFIG_DCACHE_SZ128; set CONFIG_DCACHE_SZ128 0 | ||||
global CONFIG_DCACHE_SZ256; set CONFIG_DCACHE_SZ256 0 | ||||
global CONFIG_DCACHE_LZ16; set CONFIG_DCACHE_LZ16 0 | ||||
global CONFIG_DCACHE_LZ32; set CONFIG_DCACHE_LZ32 0 | ||||
global CONFIG_DCACHE_ALGORND; set CONFIG_DCACHE_ALGORND 0 | ||||
global CONFIG_DCACHE_ALGODIR; set CONFIG_DCACHE_ALGODIR 0 | ||||
global CONFIG_DCACHE_ALGOLRR; set CONFIG_DCACHE_ALGOLRR 0 | ||||
global CONFIG_DCACHE_ALGOLRU; set CONFIG_DCACHE_ALGOLRU 0 | ||||
global CONFIG_DCACHE_LRAM_SZ1; set CONFIG_DCACHE_LRAM_SZ1 0 | ||||
global CONFIG_DCACHE_LRAM_SZ2; set CONFIG_DCACHE_LRAM_SZ2 0 | ||||
global CONFIG_DCACHE_LRAM_SZ4; set CONFIG_DCACHE_LRAM_SZ4 0 | ||||
global CONFIG_DCACHE_LRAM_SZ8; set CONFIG_DCACHE_LRAM_SZ8 0 | ||||
global CONFIG_DCACHE_LRAM_SZ16; set CONFIG_DCACHE_LRAM_SZ16 0 | ||||
global CONFIG_DCACHE_LRAM_SZ32; set CONFIG_DCACHE_LRAM_SZ32 0 | ||||
global CONFIG_DCACHE_LRAM_SZ64; set CONFIG_DCACHE_LRAM_SZ64 0 | ||||
global CONFIG_DCACHE_LRAM_SZ128; set CONFIG_DCACHE_LRAM_SZ128 0 | ||||
global CONFIG_DCACHE_LRAM_SZ256; set CONFIG_DCACHE_LRAM_SZ256 0 | ||||
global CONFIG_MMU_COMBINED; set CONFIG_MMU_COMBINED 0 | ||||
global CONFIG_MMU_SPLIT; set CONFIG_MMU_SPLIT 0 | ||||
global CONFIG_MMU_REPARRAY; set CONFIG_MMU_REPARRAY 0 | ||||
global CONFIG_MMU_REPINCREMENT; set CONFIG_MMU_REPINCREMENT 0 | ||||
global CONFIG_MMU_I2; set CONFIG_MMU_I2 0 | ||||
global CONFIG_MMU_I4; set CONFIG_MMU_I4 0 | ||||
global CONFIG_MMU_I8; set CONFIG_MMU_I8 0 | ||||
global CONFIG_MMU_I16; set CONFIG_MMU_I16 0 | ||||
global CONFIG_MMU_I32; set CONFIG_MMU_I32 0 | ||||
global CONFIG_MMU_D2; set CONFIG_MMU_D2 0 | ||||
global CONFIG_MMU_D4; set CONFIG_MMU_D4 0 | ||||
global CONFIG_MMU_D8; set CONFIG_MMU_D8 0 | ||||
global CONFIG_MMU_D16; set CONFIG_MMU_D16 0 | ||||
global CONFIG_MMU_D32; set CONFIG_MMU_D32 0 | ||||
global CONFIG_MMU_PAGE_4K; set CONFIG_MMU_PAGE_4K 0 | ||||
global CONFIG_MMU_PAGE_8K; set CONFIG_MMU_PAGE_8K 0 | ||||
global CONFIG_MMU_PAGE_16K; set CONFIG_MMU_PAGE_16K 0 | ||||
global CONFIG_MMU_PAGE_32K; set CONFIG_MMU_PAGE_32K 0 | ||||
global CONFIG_MMU_PAGE_PROG; set CONFIG_MMU_PAGE_PROG 0 | ||||
global CONFIG_DSU_ITRACESZ1; set CONFIG_DSU_ITRACESZ1 0 | ||||
global CONFIG_DSU_ITRACESZ2; set CONFIG_DSU_ITRACESZ2 0 | ||||
global CONFIG_DSU_ITRACESZ4; set CONFIG_DSU_ITRACESZ4 0 | ||||
global CONFIG_DSU_ITRACESZ8; set CONFIG_DSU_ITRACESZ8 0 | ||||
global CONFIG_DSU_ITRACESZ16; set CONFIG_DSU_ITRACESZ16 0 | ||||
global CONFIG_DSU_ATRACESZ1; set CONFIG_DSU_ATRACESZ1 0 | ||||
global CONFIG_DSU_ATRACESZ2; set CONFIG_DSU_ATRACESZ2 0 | ||||
global CONFIG_DSU_ATRACESZ4; set CONFIG_DSU_ATRACESZ4 0 | ||||
global CONFIG_DSU_ATRACESZ8; set CONFIG_DSU_ATRACESZ8 0 | ||||
global CONFIG_DSU_ATRACESZ16; set CONFIG_DSU_ATRACESZ16 0 | ||||
global CONFIG_IUFT_NONE; set CONFIG_IUFT_NONE 0 | ||||
global CONFIG_IUFT_PAR; set CONFIG_IUFT_PAR 0 | ||||
global CONFIG_IUFT_DMR; set CONFIG_IUFT_DMR 0 | ||||
global CONFIG_IUFT_BCH; set CONFIG_IUFT_BCH 0 | ||||
global CONFIG_IUFT_TMR; set CONFIG_IUFT_TMR 0 | ||||
global CONFIG_DSU_ETHSZ1; set CONFIG_DSU_ETHSZ1 0 | ||||
global CONFIG_DSU_ETHSZ2; set CONFIG_DSU_ETHSZ2 0 | ||||
global CONFIG_DSU_ETHSZ4; set CONFIG_DSU_ETHSZ4 0 | ||||
global CONFIG_DSU_ETHSZ8; set CONFIG_DSU_ETHSZ8 0 | ||||
global CONFIG_DSU_ETHSZ16; set CONFIG_DSU_ETHSZ16 0 | ||||
global CONFIG_AHBRAM_SZ1; set CONFIG_AHBRAM_SZ1 0 | ||||
global CONFIG_AHBRAM_SZ2; set CONFIG_AHBRAM_SZ2 0 | ||||
global CONFIG_AHBRAM_SZ4; set CONFIG_AHBRAM_SZ4 0 | ||||
global CONFIG_AHBRAM_SZ8; set CONFIG_AHBRAM_SZ8 0 | ||||
global CONFIG_AHBRAM_SZ16; set CONFIG_AHBRAM_SZ16 0 | ||||
global CONFIG_AHBRAM_SZ32; set CONFIG_AHBRAM_SZ32 0 | ||||
global CONFIG_AHBRAM_SZ64; set CONFIG_AHBRAM_SZ64 0 | ||||
global CONFIG_GRETH_FIFO4; set CONFIG_GRETH_FIFO4 0 | ||||
global CONFIG_GRETH_FIFO8; set CONFIG_GRETH_FIFO8 0 | ||||
global CONFIG_GRETH_FIFO16; set CONFIG_GRETH_FIFO16 0 | ||||
global CONFIG_GRETH_FIFO32; set CONFIG_GRETH_FIFO32 0 | ||||
global CONFIG_GRETH_FIFO64; set CONFIG_GRETH_FIFO64 0 | ||||
global CONFIG_UA1_FIFO1; set CONFIG_UA1_FIFO1 0 | ||||
global CONFIG_UA1_FIFO2; set CONFIG_UA1_FIFO2 0 | ||||
global CONFIG_UA1_FIFO4; set CONFIG_UA1_FIFO4 0 | ||||
global CONFIG_UA1_FIFO8; set CONFIG_UA1_FIFO8 0 | ||||
global CONFIG_UA1_FIFO16; set CONFIG_UA1_FIFO16 0 | ||||
global CONFIG_UA1_FIFO32; set CONFIG_UA1_FIFO32 0 | ||||
global CONFIG_SPICTRL_NOFT; set CONFIG_SPICTRL_NOFT 0 | ||||
global CONFIG_SPICTRL_DMRFT; set CONFIG_SPICTRL_DMRFT 0 | ||||
global CONFIG_SPICTRL_TMRFT; set CONFIG_SPICTRL_TMRFT 0 | ||||
} | ||||
proc update_choices { } { | ||||
global tmpvar_0 | ||||
set tmpvar_0 "Inferred" | ||||
global CONFIG_SYN_INFERRED | ||||
if { $CONFIG_SYN_INFERRED == 1 } then { set tmpvar_0 "Inferred" } | ||||
global CONFIG_SYN_STRATIX | ||||
if { $CONFIG_SYN_STRATIX == 1 } then { set tmpvar_0 "Altera-Stratix" } | ||||
global CONFIG_SYN_STRATIXII | ||||
if { $CONFIG_SYN_STRATIXII == 1 } then { set tmpvar_0 "Altera-StratixII" } | ||||
global CONFIG_SYN_STRATIXIII | ||||
if { $CONFIG_SYN_STRATIXIII == 1 } then { set tmpvar_0 "Altera-StratixIII" } | ||||
global CONFIG_SYN_CYCLONEIII | ||||
if { $CONFIG_SYN_CYCLONEIII == 1 } then { set tmpvar_0 "Altera-CycloneIII" } | ||||
global CONFIG_SYN_ALTERA | ||||
if { $CONFIG_SYN_ALTERA == 1 } then { set tmpvar_0 "Altera-Others" } | ||||
global CONFIG_SYN_AXCEL | ||||
if { $CONFIG_SYN_AXCEL == 1 } then { set tmpvar_0 "Actel-Axcelerator" } | ||||
global CONFIG_SYN_AXDSP | ||||
if { $CONFIG_SYN_AXDSP == 1 } then { set tmpvar_0 "Actel-Axcelerator-DSP" } | ||||
global CONFIG_SYN_PROASIC | ||||
if { $CONFIG_SYN_PROASIC == 1 } then { set tmpvar_0 "Actel-Proasic" } | ||||
global CONFIG_SYN_PROASICPLUS | ||||
if { $CONFIG_SYN_PROASICPLUS == 1 } then { set tmpvar_0 "Actel-ProasicPlus" } | ||||
global CONFIG_SYN_PROASIC3 | ||||
if { $CONFIG_SYN_PROASIC3 == 1 } then { set tmpvar_0 "Actel-Proasic3" } | ||||
global CONFIG_SYN_PROASIC3E | ||||
if { $CONFIG_SYN_PROASIC3E == 1 } then { set tmpvar_0 "Actel-Proasic3E" } | ||||
global CONFIG_SYN_PROASIC3L | ||||
if { $CONFIG_SYN_PROASIC3L == 1 } then { set tmpvar_0 "Actel-Proasic3L" } | ||||
global CONFIG_SYN_IGLOO | ||||
if { $CONFIG_SYN_IGLOO == 1 } then { set tmpvar_0 "Actel-IGLOO/p/L" } | ||||
global CONFIG_SYN_FUSION | ||||
if { $CONFIG_SYN_FUSION == 1 } then { set tmpvar_0 "Actel-Fusion" } | ||||
global CONFIG_SYN_UT025CRH | ||||
if { $CONFIG_SYN_UT025CRH == 1 } then { set tmpvar_0 "Aeroflex-UT025CRH" } | ||||
global CONFIG_SYN_UT130HBD | ||||
if { $CONFIG_SYN_UT130HBD == 1 } then { set tmpvar_0 "Aeroflex-UT130HBD" } | ||||
global CONFIG_SYN_UT90NHBD | ||||
if { $CONFIG_SYN_UT90NHBD == 1 } then { set tmpvar_0 "Aeroflex-UT90NHBD" } | ||||
global CONFIG_SYN_ATC18 | ||||
if { $CONFIG_SYN_ATC18 == 1 } then { set tmpvar_0 "Atmel-ATC18" } | ||||
global CONFIG_SYN_ATC18RHA | ||||
if { $CONFIG_SYN_ATC18RHA == 1 } then { set tmpvar_0 "Atmel-ATC18RHA" } | ||||
global CONFIG_SYN_CMOS9SF | ||||
if { $CONFIG_SYN_CMOS9SF == 1 } then { set tmpvar_0 "IBM-CMOS9SF" } | ||||
global CONFIG_SYN_CUSTOM1 | ||||
if { $CONFIG_SYN_CUSTOM1 == 1 } then { set tmpvar_0 "Custom1" } | ||||
global CONFIG_SYN_EASIC90 | ||||
if { $CONFIG_SYN_EASIC90 == 1 } then { set tmpvar_0 "eASIC90" } | ||||
global CONFIG_SYN_EASIC45 | ||||
if { $CONFIG_SYN_EASIC45 == 1 } then { set tmpvar_0 "eASIC45" } | ||||
global CONFIG_SYN_IHP25 | ||||
if { $CONFIG_SYN_IHP25 == 1 } then { set tmpvar_0 "IHP25" } | ||||
global CONFIG_SYN_IHP25RH | ||||
if { $CONFIG_SYN_IHP25RH == 1 } then { set tmpvar_0 "IHP25RH" } | ||||
global CONFIG_SYN_LATTICE | ||||
if { $CONFIG_SYN_LATTICE == 1 } then { set tmpvar_0 "Lattice-EC/ECP/XP" } | ||||
global CONFIG_SYN_ECLIPSE | ||||
if { $CONFIG_SYN_ECLIPSE == 1 } then { set tmpvar_0 "Quicklogic-Eclipse" } | ||||
global CONFIG_SYN_PEREGRINE | ||||
if { $CONFIG_SYN_PEREGRINE == 1 } then { set tmpvar_0 "Peregrine" } | ||||
global CONFIG_SYN_RH_LIB18T | ||||
if { $CONFIG_SYN_RH_LIB18T == 1 } then { set tmpvar_0 "RH-LIB18T" } | ||||
global CONFIG_SYN_RHUMC | ||||
if { $CONFIG_SYN_RHUMC == 1 } then { set tmpvar_0 "RH-UMC" } | ||||
global CONFIG_SYN_SMIC13 | ||||
if { $CONFIG_SYN_SMIC13 == 1 } then { set tmpvar_0 "SMIC130" } | ||||
global CONFIG_SYN_TM65GPLUS | ||||
if { $CONFIG_SYN_TM65GPLUS == 1 } then { set tmpvar_0 "TM65Gplus" } | ||||
global CONFIG_SYN_TSMC90 | ||||
if { $CONFIG_SYN_TSMC90 == 1 } then { set tmpvar_0 "TSMC90" } | ||||
global CONFIG_SYN_UMC | ||||
if { $CONFIG_SYN_UMC == 1 } then { set tmpvar_0 "UMC180" } | ||||
global CONFIG_SYN_SPARTAN2 | ||||
if { $CONFIG_SYN_SPARTAN2 == 1 } then { set tmpvar_0 "Xilinx-Spartan2" } | ||||
global CONFIG_SYN_SPARTAN3 | ||||
if { $CONFIG_SYN_SPARTAN3 == 1 } then { set tmpvar_0 "Xilinx-Spartan3" } | ||||
global CONFIG_SYN_SPARTAN3E | ||||
if { $CONFIG_SYN_SPARTAN3E == 1 } then { set tmpvar_0 "Xilinx-Spartan3E" } | ||||
global CONFIG_SYN_SPARTAN6 | ||||
if { $CONFIG_SYN_SPARTAN6 == 1 } then { set tmpvar_0 "Xilinx-Spartan6" } | ||||
global CONFIG_SYN_VIRTEX | ||||
if { $CONFIG_SYN_VIRTEX == 1 } then { set tmpvar_0 "Xilinx-Virtex" } | ||||
global CONFIG_SYN_VIRTEXE | ||||
if { $CONFIG_SYN_VIRTEXE == 1 } then { set tmpvar_0 "Xilinx-VirtexE" } | ||||
global CONFIG_SYN_VIRTEX2 | ||||
if { $CONFIG_SYN_VIRTEX2 == 1 } then { set tmpvar_0 "Xilinx-Virtex2" } | ||||
global CONFIG_SYN_VIRTEX4 | ||||
if { $CONFIG_SYN_VIRTEX4 == 1 } then { set tmpvar_0 "Xilinx-Virtex4" } | ||||
global CONFIG_SYN_VIRTEX5 | ||||
if { $CONFIG_SYN_VIRTEX5 == 1 } then { set tmpvar_0 "Xilinx-Virtex5" } | ||||
global CONFIG_SYN_VIRTEX6 | ||||
if { $CONFIG_SYN_VIRTEX6 == 1 } then { set tmpvar_0 "Xilinx-Virtex6" } | ||||
global tmpvar_1 | ||||
set tmpvar_1 "Inferred" | ||||
global CONFIG_MEM_INFERRED | ||||
if { $CONFIG_MEM_INFERRED == 1 } then { set tmpvar_1 "Inferred" } | ||||
global CONFIG_MEM_UMC | ||||
if { $CONFIG_MEM_UMC == 1 } then { set tmpvar_1 "UMC18" } | ||||
global CONFIG_MEM_RHUMC | ||||
if { $CONFIG_MEM_RHUMC == 1 } then { set tmpvar_1 "RH-UMC" } | ||||
global CONFIG_MEM_ARTISAN | ||||
if { $CONFIG_MEM_ARTISAN == 1 } then { set tmpvar_1 "Artisan" } | ||||
global CONFIG_MEM_CUSTOM1 | ||||
if { $CONFIG_MEM_CUSTOM1 == 1 } then { set tmpvar_1 "Custom1" } | ||||
global CONFIG_MEM_VIRAGE | ||||
if { $CONFIG_MEM_VIRAGE == 1 } then { set tmpvar_1 "Virage" } | ||||
global CONFIG_MEM_VIRAGE90 | ||||
if { $CONFIG_MEM_VIRAGE90 == 1 } then { set tmpvar_1 "Virage-TSMC90" } | ||||
global tmpvar_2 | ||||
set tmpvar_2 "Inferred" | ||||
global CONFIG_CLK_INFERRED | ||||
if { $CONFIG_CLK_INFERRED == 1 } then { set tmpvar_2 "Inferred" } | ||||
global CONFIG_CLK_HCLKBUF | ||||
if { $CONFIG_CLK_HCLKBUF == 1 } then { set tmpvar_2 "Actel-HCLKBUF" } | ||||
global CONFIG_CLK_UT130HBD | ||||
if { $CONFIG_CLK_UT130HBD == 1 } then { set tmpvar_2 "Aeroflex-UT130HBD" } | ||||
global CONFIG_CLK_ALTDLL | ||||
if { $CONFIG_CLK_ALTDLL == 1 } then { set tmpvar_2 "Altera-ALTPLL" } | ||||
global CONFIG_CLK_LATDLL | ||||
if { $CONFIG_CLK_LATDLL == 1 } then { set tmpvar_2 "Lattice-EXPLL" } | ||||
global CONFIG_CLK_PRO3PLL | ||||
if { $CONFIG_CLK_PRO3PLL == 1 } then { set tmpvar_2 "Proasic3-PLL" } | ||||
global CONFIG_CLK_PRO3EPLL | ||||
if { $CONFIG_CLK_PRO3EPLL == 1 } then { set tmpvar_2 "Proasic3E-PLL" } | ||||
global CONFIG_CLK_PRO3LPLL | ||||
if { $CONFIG_CLK_PRO3LPLL == 1 } then { set tmpvar_2 "Proasic3L-PLL" } | ||||
global CONFIG_CLK_FUSPLL | ||||
if { $CONFIG_CLK_FUSPLL == 1 } then { set tmpvar_2 "Fusion-PLL" } | ||||
global CONFIG_CLK_LIB18T | ||||
if { $CONFIG_CLK_LIB18T == 1 } then { set tmpvar_2 "RH-LIB18T-PLL" } | ||||
global CONFIG_CLK_RHUMC | ||||
if { $CONFIG_CLK_RHUMC == 1 } then { set tmpvar_2 "DARE-PLL" } | ||||
global CONFIG_CLK_CLKDLL | ||||
if { $CONFIG_CLK_CLKDLL == 1 } then { set tmpvar_2 "Xilinx-CLKDLL" } | ||||
global CONFIG_CLK_DCM | ||||
if { $CONFIG_CLK_DCM == 1 } then { set tmpvar_2 "Xilinx-DCM" } | ||||
global tmpvar_3 | ||||
set tmpvar_3 "5-cycles" | ||||
global CONFIG_IU_MUL_LATENCY_2 | ||||
if { $CONFIG_IU_MUL_LATENCY_2 == 1 } then { set tmpvar_3 "2-cycles" } | ||||
global CONFIG_IU_MUL_LATENCY_4 | ||||
if { $CONFIG_IU_MUL_LATENCY_4 == 1 } then { set tmpvar_3 "4-cycles" } | ||||
global CONFIG_IU_MUL_LATENCY_5 | ||||
if { $CONFIG_IU_MUL_LATENCY_5 == 1 } then { set tmpvar_3 "5-cycles" } | ||||
global tmpvar_4 | ||||
set tmpvar_4 "Inferred" | ||||
global CONFIG_IU_MUL_INFERRED | ||||
if { $CONFIG_IU_MUL_INFERRED == 1 } then { set tmpvar_4 "Inferred" } | ||||
global CONFIG_IU_MUL_MODGEN | ||||
if { $CONFIG_IU_MUL_MODGEN == 1 } then { set tmpvar_4 "NTNU_Modgen" } | ||||
global CONFIG_IU_MUL_TECHSPEC | ||||
if { $CONFIG_IU_MUL_TECHSPEC == 1 } then { set tmpvar_4 "TechSpec" } | ||||
global CONFIG_IU_MUL_DW | ||||
if { $CONFIG_IU_MUL_DW == 1 } then { set tmpvar_4 "Designware" } | ||||
global tmpvar_5 | ||||
set tmpvar_5 "GRFPU" | ||||
global CONFIG_FPU_GRFPU | ||||
if { $CONFIG_FPU_GRFPU == 1 } then { set tmpvar_5 "GRFPU" } | ||||
global CONFIG_FPU_GRFPULITE | ||||
if { $CONFIG_FPU_GRFPULITE == 1 } then { set tmpvar_5 "GRFPU-LITE" } | ||||
global CONFIG_FPU_MEIKO | ||||
if { $CONFIG_FPU_MEIKO == 1 } then { set tmpvar_5 "Meiko" } | ||||
global tmpvar_6 | ||||
set tmpvar_6 "Inferred" | ||||
global CONFIG_FPU_GRFPU_INFMUL | ||||
if { $CONFIG_FPU_GRFPU_INFMUL == 1 } then { set tmpvar_6 "Inferred" } | ||||
global CONFIG_FPU_GRFPU_DWMUL | ||||
if { $CONFIG_FPU_GRFPU_DWMUL == 1 } then { set tmpvar_6 "DW" } | ||||
global CONFIG_FPU_GRFPU_MODGEN | ||||
if { $CONFIG_FPU_GRFPU_MODGEN == 1 } then { set tmpvar_6 "ModGen" } | ||||
global CONFIG_FPU_GRFPU_TECHSPEC | ||||
if { $CONFIG_FPU_GRFPU_TECHSPEC == 1 } then { set tmpvar_6 "TechSpec" } | ||||
global tmpvar_7 | ||||
set tmpvar_7 "Simple" | ||||
global CONFIG_FPU_GRFPC0 | ||||
if { $CONFIG_FPU_GRFPC0 == 1 } then { set tmpvar_7 "Simple" } | ||||
global CONFIG_FPU_GRFPC1 | ||||
if { $CONFIG_FPU_GRFPC1 == 1 } then { set tmpvar_7 "Data-forwarding" } | ||||
global CONFIG_FPU_GRFPC2 | ||||
if { $CONFIG_FPU_GRFPC2 == 1 } then { set tmpvar_7 "Non-blocking" } | ||||
global tmpvar_8 | ||||
set tmpvar_8 "1" | ||||
global CONFIG_ICACHE_ASSO1 | ||||
if { $CONFIG_ICACHE_ASSO1 == 1 } then { set tmpvar_8 "1" } | ||||
global CONFIG_ICACHE_ASSO2 | ||||
if { $CONFIG_ICACHE_ASSO2 == 1 } then { set tmpvar_8 "2" } | ||||
global CONFIG_ICACHE_ASSO3 | ||||
if { $CONFIG_ICACHE_ASSO3 == 1 } then { set tmpvar_8 "3" } | ||||
global CONFIG_ICACHE_ASSO4 | ||||
if { $CONFIG_ICACHE_ASSO4 == 1 } then { set tmpvar_8 "4" } | ||||
global tmpvar_9 | ||||
set tmpvar_9 "4" | ||||
global CONFIG_ICACHE_SZ1 | ||||
if { $CONFIG_ICACHE_SZ1 == 1 } then { set tmpvar_9 "1" } | ||||
global CONFIG_ICACHE_SZ2 | ||||
if { $CONFIG_ICACHE_SZ2 == 1 } then { set tmpvar_9 "2" } | ||||
global CONFIG_ICACHE_SZ4 | ||||
if { $CONFIG_ICACHE_SZ4 == 1 } then { set tmpvar_9 "4" } | ||||
global CONFIG_ICACHE_SZ8 | ||||
if { $CONFIG_ICACHE_SZ8 == 1 } then { set tmpvar_9 "8" } | ||||
global CONFIG_ICACHE_SZ16 | ||||
if { $CONFIG_ICACHE_SZ16 == 1 } then { set tmpvar_9 "16" } | ||||
global CONFIG_ICACHE_SZ32 | ||||
if { $CONFIG_ICACHE_SZ32 == 1 } then { set tmpvar_9 "32" } | ||||
global CONFIG_ICACHE_SZ64 | ||||
if { $CONFIG_ICACHE_SZ64 == 1 } then { set tmpvar_9 "64" } | ||||
global CONFIG_ICACHE_SZ128 | ||||
if { $CONFIG_ICACHE_SZ128 == 1 } then { set tmpvar_9 "128" } | ||||
global CONFIG_ICACHE_SZ256 | ||||
if { $CONFIG_ICACHE_SZ256 == 1 } then { set tmpvar_9 "256" } | ||||
global tmpvar_10 | ||||
set tmpvar_10 "32" | ||||
global CONFIG_ICACHE_LZ16 | ||||
if { $CONFIG_ICACHE_LZ16 == 1 } then { set tmpvar_10 "16" } | ||||
global CONFIG_ICACHE_LZ32 | ||||
if { $CONFIG_ICACHE_LZ32 == 1 } then { set tmpvar_10 "32" } | ||||
global tmpvar_11 | ||||
set tmpvar_11 "Random" | ||||
global CONFIG_ICACHE_ALGORND | ||||
if { $CONFIG_ICACHE_ALGORND == 1 } then { set tmpvar_11 "Random" } | ||||
global CONFIG_ICACHE_ALGODIR | ||||
if { $CONFIG_ICACHE_ALGODIR == 1 } then { set tmpvar_11 "Direct" } | ||||
global CONFIG_ICACHE_ALGOLRR | ||||
if { $CONFIG_ICACHE_ALGOLRR == 1 } then { set tmpvar_11 "LRR" } | ||||
global CONFIG_ICACHE_ALGOLRU | ||||
if { $CONFIG_ICACHE_ALGOLRU == 1 } then { set tmpvar_11 "LRU" } | ||||
global tmpvar_12 | ||||
set tmpvar_12 "4" | ||||
global CONFIG_ICACHE_LRAM_SZ1 | ||||
if { $CONFIG_ICACHE_LRAM_SZ1 == 1 } then { set tmpvar_12 "1" } | ||||
global CONFIG_ICACHE_LRAM_SZ2 | ||||
if { $CONFIG_ICACHE_LRAM_SZ2 == 1 } then { set tmpvar_12 "2" } | ||||
global CONFIG_ICACHE_LRAM_SZ4 | ||||
if { $CONFIG_ICACHE_LRAM_SZ4 == 1 } then { set tmpvar_12 "4" } | ||||
global CONFIG_ICACHE_LRAM_SZ8 | ||||
if { $CONFIG_ICACHE_LRAM_SZ8 == 1 } then { set tmpvar_12 "8" } | ||||
global CONFIG_ICACHE_LRAM_SZ16 | ||||
if { $CONFIG_ICACHE_LRAM_SZ16 == 1 } then { set tmpvar_12 "16" } | ||||
global CONFIG_ICACHE_LRAM_SZ32 | ||||
if { $CONFIG_ICACHE_LRAM_SZ32 == 1 } then { set tmpvar_12 "32" } | ||||
global CONFIG_ICACHE_LRAM_SZ64 | ||||
if { $CONFIG_ICACHE_LRAM_SZ64 == 1 } then { set tmpvar_12 "64" } | ||||
global CONFIG_ICACHE_LRAM_SZ128 | ||||
if { $CONFIG_ICACHE_LRAM_SZ128 == 1 } then { set tmpvar_12 "128" } | ||||
global CONFIG_ICACHE_LRAM_SZ256 | ||||
if { $CONFIG_ICACHE_LRAM_SZ256 == 1 } then { set tmpvar_12 "256" } | ||||
global tmpvar_13 | ||||
set tmpvar_13 "1" | ||||
global CONFIG_DCACHE_ASSO1 | ||||
if { $CONFIG_DCACHE_ASSO1 == 1 } then { set tmpvar_13 "1" } | ||||
global CONFIG_DCACHE_ASSO2 | ||||
if { $CONFIG_DCACHE_ASSO2 == 1 } then { set tmpvar_13 "2" } | ||||
global CONFIG_DCACHE_ASSO3 | ||||
if { $CONFIG_DCACHE_ASSO3 == 1 } then { set tmpvar_13 "3" } | ||||
global CONFIG_DCACHE_ASSO4 | ||||
if { $CONFIG_DCACHE_ASSO4 == 1 } then { set tmpvar_13 "4" } | ||||
global tmpvar_14 | ||||
set tmpvar_14 "4" | ||||
global CONFIG_DCACHE_SZ1 | ||||
if { $CONFIG_DCACHE_SZ1 == 1 } then { set tmpvar_14 "1" } | ||||
global CONFIG_DCACHE_SZ2 | ||||
if { $CONFIG_DCACHE_SZ2 == 1 } then { set tmpvar_14 "2" } | ||||
global CONFIG_DCACHE_SZ4 | ||||
if { $CONFIG_DCACHE_SZ4 == 1 } then { set tmpvar_14 "4" } | ||||
global CONFIG_DCACHE_SZ8 | ||||
if { $CONFIG_DCACHE_SZ8 == 1 } then { set tmpvar_14 "8" } | ||||
global CONFIG_DCACHE_SZ16 | ||||
if { $CONFIG_DCACHE_SZ16 == 1 } then { set tmpvar_14 "16" } | ||||
global CONFIG_DCACHE_SZ32 | ||||
if { $CONFIG_DCACHE_SZ32 == 1 } then { set tmpvar_14 "32" } | ||||
global CONFIG_DCACHE_SZ64 | ||||
if { $CONFIG_DCACHE_SZ64 == 1 } then { set tmpvar_14 "64" } | ||||
global CONFIG_DCACHE_SZ128 | ||||
if { $CONFIG_DCACHE_SZ128 == 1 } then { set tmpvar_14 "128" } | ||||
global CONFIG_DCACHE_SZ256 | ||||
if { $CONFIG_DCACHE_SZ256 == 1 } then { set tmpvar_14 "256" } | ||||
global tmpvar_15 | ||||
set tmpvar_15 "32" | ||||
global CONFIG_DCACHE_LZ16 | ||||
if { $CONFIG_DCACHE_LZ16 == 1 } then { set tmpvar_15 "16" } | ||||
global CONFIG_DCACHE_LZ32 | ||||
if { $CONFIG_DCACHE_LZ32 == 1 } then { set tmpvar_15 "32" } | ||||
global tmpvar_16 | ||||
set tmpvar_16 "Random" | ||||
global CONFIG_DCACHE_ALGORND | ||||
if { $CONFIG_DCACHE_ALGORND == 1 } then { set tmpvar_16 "Random" } | ||||
global CONFIG_DCACHE_ALGODIR | ||||
if { $CONFIG_DCACHE_ALGODIR == 1 } then { set tmpvar_16 "Direct" } | ||||
global CONFIG_DCACHE_ALGOLRR | ||||
if { $CONFIG_DCACHE_ALGOLRR == 1 } then { set tmpvar_16 "LRR" } | ||||
global CONFIG_DCACHE_ALGOLRU | ||||
if { $CONFIG_DCACHE_ALGOLRU == 1 } then { set tmpvar_16 "LRU" } | ||||
global tmpvar_17 | ||||
set tmpvar_17 "4" | ||||
global CONFIG_DCACHE_LRAM_SZ1 | ||||
if { $CONFIG_DCACHE_LRAM_SZ1 == 1 } then { set tmpvar_17 "1" } | ||||
global CONFIG_DCACHE_LRAM_SZ2 | ||||
if { $CONFIG_DCACHE_LRAM_SZ2 == 1 } then { set tmpvar_17 "2" } | ||||
global CONFIG_DCACHE_LRAM_SZ4 | ||||
if { $CONFIG_DCACHE_LRAM_SZ4 == 1 } then { set tmpvar_17 "4" } | ||||
global CONFIG_DCACHE_LRAM_SZ8 | ||||
if { $CONFIG_DCACHE_LRAM_SZ8 == 1 } then { set tmpvar_17 "8" } | ||||
global CONFIG_DCACHE_LRAM_SZ16 | ||||
if { $CONFIG_DCACHE_LRAM_SZ16 == 1 } then { set tmpvar_17 "16" } | ||||
global CONFIG_DCACHE_LRAM_SZ32 | ||||
if { $CONFIG_DCACHE_LRAM_SZ32 == 1 } then { set tmpvar_17 "32" } | ||||
global CONFIG_DCACHE_LRAM_SZ64 | ||||
if { $CONFIG_DCACHE_LRAM_SZ64 == 1 } then { set tmpvar_17 "64" } | ||||
global CONFIG_DCACHE_LRAM_SZ128 | ||||
if { $CONFIG_DCACHE_LRAM_SZ128 == 1 } then { set tmpvar_17 "128" } | ||||
global CONFIG_DCACHE_LRAM_SZ256 | ||||
if { $CONFIG_DCACHE_LRAM_SZ256 == 1 } then { set tmpvar_17 "256" } | ||||
global tmpvar_18 | ||||
set tmpvar_18 "combined" | ||||
global CONFIG_MMU_COMBINED | ||||
if { $CONFIG_MMU_COMBINED == 1 } then { set tmpvar_18 "combined" } | ||||
global CONFIG_MMU_SPLIT | ||||
if { $CONFIG_MMU_SPLIT == 1 } then { set tmpvar_18 "split" } | ||||
global tmpvar_19 | ||||
set tmpvar_19 "Increment" | ||||
global CONFIG_MMU_REPARRAY | ||||
if { $CONFIG_MMU_REPARRAY == 1 } then { set tmpvar_19 "LRU" } | ||||
global CONFIG_MMU_REPINCREMENT | ||||
if { $CONFIG_MMU_REPINCREMENT == 1 } then { set tmpvar_19 "Increment" } | ||||
global tmpvar_20 | ||||
set tmpvar_20 "8" | ||||
global CONFIG_MMU_I2 | ||||
if { $CONFIG_MMU_I2 == 1 } then { set tmpvar_20 "2" } | ||||
global CONFIG_MMU_I4 | ||||
if { $CONFIG_MMU_I4 == 1 } then { set tmpvar_20 "4" } | ||||
global CONFIG_MMU_I8 | ||||
if { $CONFIG_MMU_I8 == 1 } then { set tmpvar_20 "8" } | ||||
global CONFIG_MMU_I16 | ||||
if { $CONFIG_MMU_I16 == 1 } then { set tmpvar_20 "16" } | ||||
global CONFIG_MMU_I32 | ||||
if { $CONFIG_MMU_I32 == 1 } then { set tmpvar_20 "32" } | ||||
global tmpvar_21 | ||||
set tmpvar_21 "8" | ||||
global CONFIG_MMU_D2 | ||||
if { $CONFIG_MMU_D2 == 1 } then { set tmpvar_21 "2" } | ||||
global CONFIG_MMU_D4 | ||||
if { $CONFIG_MMU_D4 == 1 } then { set tmpvar_21 "4" } | ||||
global CONFIG_MMU_D8 | ||||
if { $CONFIG_MMU_D8 == 1 } then { set tmpvar_21 "8" } | ||||
global CONFIG_MMU_D16 | ||||
if { $CONFIG_MMU_D16 == 1 } then { set tmpvar_21 "16" } | ||||
global CONFIG_MMU_D32 | ||||
if { $CONFIG_MMU_D32 == 1 } then { set tmpvar_21 "32" } | ||||
global tmpvar_22 | ||||
set tmpvar_22 "4K" | ||||
global CONFIG_MMU_PAGE_4K | ||||
if { $CONFIG_MMU_PAGE_4K == 1 } then { set tmpvar_22 "4K" } | ||||
global CONFIG_MMU_PAGE_8K | ||||
if { $CONFIG_MMU_PAGE_8K == 1 } then { set tmpvar_22 "8K" } | ||||
global CONFIG_MMU_PAGE_16K | ||||
if { $CONFIG_MMU_PAGE_16K == 1 } then { set tmpvar_22 "16K" } | ||||
global CONFIG_MMU_PAGE_32K | ||||
if { $CONFIG_MMU_PAGE_32K == 1 } then { set tmpvar_22 "32K" } | ||||
global CONFIG_MMU_PAGE_PROG | ||||
if { $CONFIG_MMU_PAGE_PROG == 1 } then { set tmpvar_22 "Programmable" } | ||||
global tmpvar_23 | ||||
set tmpvar_23 "1" | ||||
global CONFIG_DSU_ITRACESZ1 | ||||
if { $CONFIG_DSU_ITRACESZ1 == 1 } then { set tmpvar_23 "1" } | ||||
global CONFIG_DSU_ITRACESZ2 | ||||
if { $CONFIG_DSU_ITRACESZ2 == 1 } then { set tmpvar_23 "2" } | ||||
global CONFIG_DSU_ITRACESZ4 | ||||
if { $CONFIG_DSU_ITRACESZ4 == 1 } then { set tmpvar_23 "4" } | ||||
global CONFIG_DSU_ITRACESZ8 | ||||
if { $CONFIG_DSU_ITRACESZ8 == 1 } then { set tmpvar_23 "8" } | ||||
global CONFIG_DSU_ITRACESZ16 | ||||
if { $CONFIG_DSU_ITRACESZ16 == 1 } then { set tmpvar_23 "16" } | ||||
global tmpvar_24 | ||||
set tmpvar_24 "1" | ||||
global CONFIG_DSU_ATRACESZ1 | ||||
if { $CONFIG_DSU_ATRACESZ1 == 1 } then { set tmpvar_24 "1" } | ||||
global CONFIG_DSU_ATRACESZ2 | ||||
if { $CONFIG_DSU_ATRACESZ2 == 1 } then { set tmpvar_24 "2" } | ||||
global CONFIG_DSU_ATRACESZ4 | ||||
if { $CONFIG_DSU_ATRACESZ4 == 1 } then { set tmpvar_24 "4" } | ||||
global CONFIG_DSU_ATRACESZ8 | ||||
if { $CONFIG_DSU_ATRACESZ8 == 1 } then { set tmpvar_24 "8" } | ||||
global CONFIG_DSU_ATRACESZ16 | ||||
if { $CONFIG_DSU_ATRACESZ16 == 1 } then { set tmpvar_24 "16" } | ||||
global tmpvar_25 | ||||
set tmpvar_25 "None" | ||||
global CONFIG_IUFT_NONE | ||||
if { $CONFIG_IUFT_NONE == 1 } then { set tmpvar_25 "None" } | ||||
global CONFIG_IUFT_PAR | ||||
if { $CONFIG_IUFT_PAR == 1 } then { set tmpvar_25 "Parity" } | ||||
global CONFIG_IUFT_DMR | ||||
if { $CONFIG_IUFT_DMR == 1 } then { set tmpvar_25 "PDMR" } | ||||
global CONFIG_IUFT_BCH | ||||
if { $CONFIG_IUFT_BCH == 1 } then { set tmpvar_25 "BCH" } | ||||
global CONFIG_IUFT_TMR | ||||
if { $CONFIG_IUFT_TMR == 1 } then { set tmpvar_25 "TMR" } | ||||
global tmpvar_26 | ||||
set tmpvar_26 "2" | ||||
global CONFIG_DSU_ETHSZ1 | ||||
if { $CONFIG_DSU_ETHSZ1 == 1 } then { set tmpvar_26 "1" } | ||||
global CONFIG_DSU_ETHSZ2 | ||||
if { $CONFIG_DSU_ETHSZ2 == 1 } then { set tmpvar_26 "2" } | ||||
global CONFIG_DSU_ETHSZ4 | ||||
if { $CONFIG_DSU_ETHSZ4 == 1 } then { set tmpvar_26 "4" } | ||||
global CONFIG_DSU_ETHSZ8 | ||||
if { $CONFIG_DSU_ETHSZ8 == 1 } then { set tmpvar_26 "8" } | ||||
global CONFIG_DSU_ETHSZ16 | ||||
if { $CONFIG_DSU_ETHSZ16 == 1 } then { set tmpvar_26 "16" } | ||||
global tmpvar_27 | ||||
set tmpvar_27 "4" | ||||
global CONFIG_AHBRAM_SZ1 | ||||
if { $CONFIG_AHBRAM_SZ1 == 1 } then { set tmpvar_27 "1" } | ||||
global CONFIG_AHBRAM_SZ2 | ||||
if { $CONFIG_AHBRAM_SZ2 == 1 } then { set tmpvar_27 "2" } | ||||
global CONFIG_AHBRAM_SZ4 | ||||
if { $CONFIG_AHBRAM_SZ4 == 1 } then { set tmpvar_27 "4" } | ||||
global CONFIG_AHBRAM_SZ8 | ||||
if { $CONFIG_AHBRAM_SZ8 == 1 } then { set tmpvar_27 "8" } | ||||
global CONFIG_AHBRAM_SZ16 | ||||
if { $CONFIG_AHBRAM_SZ16 == 1 } then { set tmpvar_27 "16" } | ||||
global CONFIG_AHBRAM_SZ32 | ||||
if { $CONFIG_AHBRAM_SZ32 == 1 } then { set tmpvar_27 "32" } | ||||
global CONFIG_AHBRAM_SZ64 | ||||
if { $CONFIG_AHBRAM_SZ64 == 1 } then { set tmpvar_27 "64" } | ||||
global tmpvar_28 | ||||
set tmpvar_28 "8" | ||||
global CONFIG_GRETH_FIFO4 | ||||
if { $CONFIG_GRETH_FIFO4 == 1 } then { set tmpvar_28 "4" } | ||||
global CONFIG_GRETH_FIFO8 | ||||
if { $CONFIG_GRETH_FIFO8 == 1 } then { set tmpvar_28 "8" } | ||||
global CONFIG_GRETH_FIFO16 | ||||
if { $CONFIG_GRETH_FIFO16 == 1 } then { set tmpvar_28 "16" } | ||||
global CONFIG_GRETH_FIFO32 | ||||
if { $CONFIG_GRETH_FIFO32 == 1 } then { set tmpvar_28 "32" } | ||||
global CONFIG_GRETH_FIFO64 | ||||
if { $CONFIG_GRETH_FIFO64 == 1 } then { set tmpvar_28 "64" } | ||||
global tmpvar_29 | ||||
set tmpvar_29 "1" | ||||
global CONFIG_UA1_FIFO1 | ||||
if { $CONFIG_UA1_FIFO1 == 1 } then { set tmpvar_29 "1" } | ||||
global CONFIG_UA1_FIFO2 | ||||
if { $CONFIG_UA1_FIFO2 == 1 } then { set tmpvar_29 "2" } | ||||
global CONFIG_UA1_FIFO4 | ||||
if { $CONFIG_UA1_FIFO4 == 1 } then { set tmpvar_29 "4" } | ||||
global CONFIG_UA1_FIFO8 | ||||
if { $CONFIG_UA1_FIFO8 == 1 } then { set tmpvar_29 "8" } | ||||
global CONFIG_UA1_FIFO16 | ||||
if { $CONFIG_UA1_FIFO16 == 1 } then { set tmpvar_29 "16" } | ||||
global CONFIG_UA1_FIFO32 | ||||
if { $CONFIG_UA1_FIFO32 == 1 } then { set tmpvar_29 "32" } | ||||
global tmpvar_30 | ||||
set tmpvar_30 "None" | ||||
global CONFIG_SPICTRL_NOFT | ||||
if { $CONFIG_SPICTRL_NOFT == 1 } then { set tmpvar_30 "None" } | ||||
global CONFIG_SPICTRL_DMRFT | ||||
if { $CONFIG_SPICTRL_DMRFT == 1 } then { set tmpvar_30 "Parity-DMR" } | ||||
global CONFIG_SPICTRL_TMRFT | ||||
if { $CONFIG_SPICTRL_TMRFT == 1 } then { set tmpvar_30 "TMR" } | ||||
} | ||||
proc update_define_mainmenu {} { | ||||
global CONFIG_MODULES | ||||
global CONFIG_LEON3FT_PRESENT | ||||
global CONFIG_HAS_SHARED_GRFPU | ||||
global CONSTANT_Y | ||||
set CONFIG_LEON3FT_PRESENT $CONSTANT_Y | ||||
set CONFIG_HAS_SHARED_GRFPU $CONSTANT_Y | ||||
} | ||||
# FILE: tail.tk | ||||
# This file is boilerplate TCL/TK function definitions for 'make xconfig'. | ||||
# | ||||
# CHANGES | ||||
# ======= | ||||
# | ||||
# 8 January 1998, Michael Elizabeth Chastain, <mec@shout.net> | ||||
# Arrange buttons in three columns for better screen fitting. | ||||
# | ||||
# | ||||
# Read the user's settings from .config. These will override whatever is | ||||
# in config.in. Don't do this if the user specified a -D to force | ||||
# the defaults. | ||||
# | ||||
set defaults defconfig | ||||
if { [file readable .config] == 1} then { | ||||
if { $argc > 0 } then { | ||||
if { [lindex $argv 0] != "-D" } then { | ||||
read_config .config | ||||
} | ||||
else | ||||
{ | ||||
read_config $defaults | ||||
} | ||||
} else { | ||||
read_config .config | ||||
} | ||||
} else { | ||||
read_config $defaults | ||||
} | ||||
update_define 1 $total_menus 0 | ||||
update_mainmenu | ||||
button .f0.right.save -anchor w -text "Save and Exit" -underline 0\ | ||||
-command { catch {exec cp -f .config .config.old}; \ | ||||
writeconfig .config config.h; wrapup .wrap } | ||||
button .f0.right.quit -anchor w -text "Quit Without Saving" -underline 0\ | ||||
-command { maybe_exit .maybe } | ||||
button .f0.right.load -anchor w -text "Load Configuration from File" \ | ||||
-command { load_configfile .load "Load Configuration from file" read_config_file | ||||
} | ||||
button .f0.right.store -anchor w -text "Store Configuration to File" \ | ||||
-command { load_configfile .load "Store Configuration to file" write_config_file } | ||||
# | ||||
# Now pack everything. | ||||
# | ||||
pack .f0.right.store .f0.right.load .f0.right.quit .f0.right.save \ | ||||
-padx 0 -pady 0 -side bottom -fill x | ||||
pack .f0.left .f0.middle .f0.right -side left -padx 5 -pady 0 -fill y | ||||
pack .f0 -padx 5 -pady 5 | ||||
update idletasks | ||||
set winy [expr 10 + [winfo reqheight .f0]] | ||||
set scry [lindex [wm maxsize .] 1] | ||||
set winx [expr 10 + [winfo reqwidth .f0]] | ||||
set scrx [lindex [wm maxsize .] 0] | ||||
if {$winx < $scrx} then {set maxx -1} else {set maxx $winx} | ||||
if {$winy < $scry} then {set maxy -1} else {set maxy $winy} | ||||
.f0 configure -width $winx -height $winy | ||||
wm maxsize . $maxx $maxy | ||||
# | ||||
# If we cannot write our config files, disable the write button. | ||||
# | ||||
if { [file exists .config] == 1 } then { | ||||
if { [file writable .config] == 0 } then { | ||||
.f0.right.save configure -state disabled | ||||
} | ||||
} else { | ||||
if { [file writable .] == 0 } then { | ||||
.f0.right.save configure -state disabled | ||||
} | ||||
} | ||||
#if { [file exists include/linux/autoconf.h] == 1 } then { | ||||
# if { [file writable include/linux/autoconf.h] == 0 } then { | ||||
# .f0.right.save configure -state disabled | ||||
# } | ||||
# } else { | ||||
# if { [file writable include/linux/] == 0 } then { | ||||
# .f0.right.save configure -state disabled | ||||
# } | ||||
# } | ||||