##// END OF EJS Templates
Correction de la FSM qui regule les données entrant dans la FFT
Correction de la FSM qui regule les données entrant dans la FFT

File last commit:

r129:8459a437c1f1 alexis
r557:7faec0eb9fbb (MINI-LFR) WFP_MS-0-1-67 (LFR-EM) WFP_MS_1-1-67 JC
Show More
lconfig.tk
6296 lines | 318.2 KiB | text/plain | TextLexer
Added ICI4 designs....
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
# }
# }