##// END OF EJS Templates
ICI4 EGSE doesn't need anymore actell PLL uses gaisler clkgen....
ICI4 EGSE doesn't need anymore actell PLL uses gaisler clkgen. Solved in place design developpment problem on Windows, look at EGSE_ICI makefile.

File last commit:

r217:13429b36c676 alexis
r220:9cd9574d2765 alexis
Show More
lconfig.tk
6554 lines | 331.4 KiB | text/plain | TextLexer
# 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 14}
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 13}
if {$num == 23} then {return 13}
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-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 "Aeroflex-UT025CRH" -variable tmpvar_0 -value "Aeroflex-UT025CRH" -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 "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 "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 "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-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 "UMC180" -variable tmpvar_0 -value "UMC180" -command "update_active"
$w.config.f.x0.x.menu add radiobutton -label "TSMC90" -variable tmpvar_0 -value "TSMC90" -command "update_active"
menusplit $w $w.config.f.x0.x.menu 33
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_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_UT025CRH
if {$tmpvar_0 == "Aeroflex-UT025CRH"} then {set CONFIG_SYN_UT025CRH 1} else {set CONFIG_SYN_UT025CRH 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_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_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_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_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_UMC
if {$tmpvar_0 == "UMC180"} then {set CONFIG_SYN_UMC 1} else {set CONFIG_SYN_UMC 0}
global CONFIG_SYN_TSMC90
if {$tmpvar_0 == "TSMC90"} then {set CONFIG_SYN_TSMC90 1} else {set CONFIG_SYN_TSMC90 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 "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-PLLL" -variable tmpvar_2 -value "Proasic3-PLLL" -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 9
int $w.config.f 2 1 "Clock multiplication factor (2 - 32)" CONFIG_CLK_MUL
int $w.config.f 2 2 "Clock division factor (2 - 32)" CONFIG_CLK_DIV
int $w.config.f 2 3 "Outout division factor (2 - 32)" CONFIG_OCLK_DIV
bool $w.config.f 2 4 "Enable Xilinx CLKDLL for PCI clock" CONFIG_PCI_CLKDLL
bool $w.config.f 2 5 "Disable external feedback for SDRAM clock" CONFIG_CLK_NOFB
bool $w.config.f 2 6 "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_CLKDLL
global CONFIG_CLK_LIB18T
global CONFIG_CLK_MUL
if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {.menu2.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu2.config.f.x1.l configure -state normal; } else {.menu2.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu2.config.f.x1.l configure -state disabled}
global CONFIG_CLK_DIV
if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {.menu2.config.f.x2.x configure -state normal -foreground [ cget .ref -foreground ]; .menu2.config.f.x2.l configure -state normal; } else {.menu2.config.f.x2.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu2.config.f.x2.l configure -state disabled}
global CONFIG_OCLK_DIV
if {($CONFIG_CLK_PRO3PLL == 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_PCI_CLKDLL
if {($CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_DCM == 1)} then {
configure_entry .menu2.config.f.x4 normal {n l y}} else {configure_entry .menu2.config.f.x4 disabled {y n l}}
global CONFIG_CLK_NOFB
if {($CONFIG_CLK_DCM == 1)} then {
configure_entry .menu2.config.f.x5 normal {n l y}} else {configure_entry .menu2.config.f.x5 disabled {y n l}}
global CONFIG_PCI_ENABLE
global CONFIG_PCI_SYSCLK
if {($CONFIG_PCI_ENABLE != 1)} then {
configure_entry .menu2.config.f.x6 normal {n l y}} else {configure_entry .menu2.config.f.x6 disabled {y n l}}
}
proc update_define_menu2 {} {
update_define_mainmenu
global CONFIG_MODULES
global tmpvar_2
global CONFIG_CLK_INFERRED
if {$tmpvar_2 == "Inferred"} then {set CONFIG_CLK_INFERRED 1} else {set CONFIG_CLK_INFERRED 0}
global CONFIG_CLK_HCLKBUF
if {$tmpvar_2 == "Actel-HCLKBUF"} then {set CONFIG_CLK_HCLKBUF 1} else {set CONFIG_CLK_HCLKBUF 0}
global CONFIG_CLK_ALTDLL
if {$tmpvar_2 == "Altera-ALTPLL"} then {set CONFIG_CLK_ALTDLL 1} else {set CONFIG_CLK_ALTDLL 0}
global CONFIG_CLK_LATDLL
if {$tmpvar_2 == "Lattice-EXPLL"} then {set CONFIG_CLK_LATDLL 1} else {set CONFIG_CLK_LATDLL 0}
global CONFIG_CLK_PRO3PLL
if {$tmpvar_2 == "Proasic3-PLLL"} then {set CONFIG_CLK_PRO3PLL 1} else {set CONFIG_CLK_PRO3PLL 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_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {validate_int CONFIG_CLK_MUL "$CONFIG_CLK_MUL" 2}
global CONFIG_CLK_DIV
if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {validate_int CONFIG_CLK_DIV "$CONFIG_CLK_DIV" 2}
global CONFIG_OCLK_DIV
if {($CONFIG_CLK_PRO3PLL == 1)} then {validate_int CONFIG_OCLK_DIV "$CONFIG_OCLK_DIV" 2}
global CONFIG_PCI_CLKDLL
if {($CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_DCM == 1)} then {
set CONFIG_PCI_CLKDLL [expr $CONFIG_PCI_CLKDLL&15]} else {set CONFIG_PCI_CLKDLL [expr $CONFIG_PCI_CLKDLL|16]}
global CONFIG_CLK_NOFB
if {($CONFIG_CLK_DCM == 1)} then {
set CONFIG_CLK_NOFB [expr $CONFIG_CLK_NOFB&15]} else {set CONFIG_CLK_NOFB [expr $CONFIG_CLK_NOFB|16]}
global CONFIG_PCI_ENABLE
global CONFIG_PCI_SYSCLK
if {($CONFIG_PCI_ENABLE != 1)} then {
set CONFIG_PCI_SYSCLK [expr $CONFIG_PCI_SYSCLK&15]} else {set CONFIG_PCI_SYSCLK [expr $CONFIG_PCI_SYSCLK|16]}
}
menu_option menu3 3 "Processor "
proc menu3 {w title} {
set oldFocus [focus]
catch {destroy $w; unregister_active 3}
toplevel $w -class Dialog
wm withdraw $w
global active_menus
set active_menus [lsort -integer [linsert $active_menus end 3]]
message $w.m -width 400 -aspect 300 -text \
"Processor " -relief raised
pack $w.m -pady 10 -side top -padx 10
wm title $w "Processor "
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 3; break"
set nextscript "catch {focus $oldFocus}; menu4 .menu4 \"$title\""
frame $w.f
button $w.f.back -text "Main Menu" \
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 3"
button $w.f.next -text "Next" -underline 0\
-width 15 -command $nextscript
bind all <Alt-n> $nextscript
button $w.f.prev -text "Prev" -underline 0\
-width 15 -command "catch {focus $oldFocus}; destroy $w; unregister_active 3; menu2 .menu2 \"$title\""
bind $w <Alt-p> "catch {focus $oldFocus}; destroy $w; unregister_active 3; menu2 .menu2 \"$title\";break"
pack $w.f.back $w.f.next $w.f.prev -side left -expand on
pack $w.f -pady 10 -side bottom -anchor w -fill x
frame $w.topline -relief ridge -borderwidth 2 -height 2
pack $w.topline -side top -fill x
frame $w.botline -relief ridge -borderwidth 2 -height 2
pack $w.botline -side bottom -fill x
frame $w.config
pack $w.config -fill y -expand on
scrollbar $w.config.vscroll -command "$w.config.canvas yview"
pack $w.config.vscroll -side right -fill y
canvas $w.config.canvas -height 1\
-relief flat -borderwidth 0 -yscrollcommand "$w.config.vscroll set" \
-width [expr [winfo screenwidth .] * 1 / 2]
frame $w.config.f
bind $w <Key-Down> "$w.config.canvas yview scroll 1 unit;break;"
bind $w <Key-Up> "$w.config.canvas yview scroll -1 unit;break;"
bind $w <Key-Next> "$w.config.canvas yview scroll 1 page;break;"
bind $w <Key-Prior> "$w.config.canvas yview scroll -1 page;break;"
bind $w <Key-Home> "$w.config.canvas yview moveto 0;break;"
bind $w <Key-End> "$w.config.canvas yview moveto 1 ;break;"
pack $w.config.canvas -side right -fill y
bool $w.config.f 3 0 "Enable LEON3 SPARC V8 Processor" CONFIG_LEON3
int $w.config.f 3 1 "Number of processors" CONFIG_PROC_NUM
submenu $w.config.f 3 2 "Integer unit " 4
submenu $w.config.f 3 3 "Floating-point unit" 5
submenu $w.config.f 3 4 "Cache system" 6
submenu $w.config.f 3 5 "MMU" 7
submenu $w.config.f 3 6 "Debug Support Unit " 8
submenu $w.config.f 3 7 "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
bool $w.config.f 4 4 "Single-vector trapping" CONFIG_IU_SVT
int $w.config.f 4 5 "Load delay" CONFIG_IU_LDELAY
int $w.config.f 4 6 "Hardware watchpoints" CONFIG_IU_WATCHPOINTS
bool $w.config.f 4 7 "Enable power-down mode " CONFIG_PWD
hex $w.config.f 4 8 " Reset start address (addr\[31:12\]) " CONFIG_IU_RSTADDR
focus $w
update_active
global winx; global winy
if {[winfo exists .menu3] == 0} then {menu3 .menu3 "Processor "}
set winx [expr [winfo x .menu3]+30]; set winy [expr [winfo y .menu3]+30]
if {[winfo exists $w]} then {wm geometry $w +$winx+$winy}
update idletasks
if {[winfo exists $w]} then {$w.config.canvas create window 0 0 -anchor nw -window $w.config.f
$w.config.canvas configure \
-width [expr [winfo reqwidth $w.config.f] + 1]\
-scrollregion "-1 -1 [expr [winfo reqwidth $w.config.f] + 1] \
[expr [winfo reqheight $w.config.f] + 1]"
set winy [expr [winfo reqh $w] - [winfo reqh $w.config.canvas]]
set scry [expr [winfo screenh $w] / 2]
set maxy [expr [winfo screenh $w] * 3 / 4]
set canvtotal [expr [winfo reqh $w.config.f] + 2]
if [expr $winy + $canvtotal < $maxy] {
$w.config.canvas configure -height $canvtotal
} else {
$w.config.canvas configure -height [expr $scry - $winy]
}
}
update idletasks
if {[winfo exists $w]} then {
wm maxsize $w [winfo width $w] [winfo screenheight $w]
wm minsize $w [winfo width $w] 100
wm deiconify $w
}
}
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}}
global CONFIG_IU_SVT
if {($CONFIG_LEON3 == 1)} then {
configure_entry .menu4.config.f.x4 normal {n l y}} else {configure_entry .menu4.config.f.x4 disabled {y n l}}
global CONFIG_IU_LDELAY
if {($CONFIG_LEON3 == 1)} then {.menu4.config.f.x5.x configure -state normal -foreground [ cget .ref -foreground ]; .menu4.config.f.x5.l configure -state normal; } else {.menu4.config.f.x5.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu4.config.f.x5.l configure -state disabled}
global CONFIG_IU_WATCHPOINTS
if {($CONFIG_LEON3 == 1)} then {.menu4.config.f.x6.x configure -state normal -foreground [ cget .ref -foreground ]; .menu4.config.f.x6.l configure -state normal; } else {.menu4.config.f.x6.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu4.config.f.x6.l configure -state disabled}
global CONFIG_PWD
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_RSTADDR
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}
}
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 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_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_4
minimenu $w.config.f 5 1 "FPU core" tmpvar_4 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_4 -value "GRFPU" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "GRFPU-LITE" -variable tmpvar_4 -value "GRFPU-LITE" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "Meiko" -variable tmpvar_4 -value "Meiko" -command "update_active"
menusplit $w $w.config.f.x1.x.menu 3
global tmpvar_5
minimenu $w.config.f 5 2 "GRFPU multiplier" tmpvar_5 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_5 -value "Inferred" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "DW" -variable tmpvar_5 -value "DW" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "ModGen" -variable tmpvar_5 -value "ModGen" -command "update_active"
menusplit $w $w.config.f.x2.x.menu 3
global tmpvar_6
minimenu $w.config.f 5 3 "GRFPU-LITE controller" tmpvar_6 CONFIG_FPU_GRFPC0
menu $w.config.f.x3.x.menu -tearoffcommand "menutitle \"GRFPU-LITE controller\""
$w.config.f.x3.x.menu add radiobutton -label "Simple" -variable tmpvar_6 -value "Simple" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "Data-forwarding" -variable tmpvar_6 -value "Data-forwarding" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "Non-blocking" -variable tmpvar_6 -value "Non-blocking" -command "update_active"
menusplit $w $w.config.f.x3.x.menu 3
bool $w.config.f 5 4 "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_FPU_GRFPULITE
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_FPU_GRFPULITE == 1)} then {configure_entry .menu5.config.f.x3 normal {x l}} else {configure_entry .menu5.config.f.x3 disabled {x l}}
global CONFIG_FPU_NETLIST
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1)} then {
configure_entry .menu5.config.f.x4 normal {n l y}} else {configure_entry .menu5.config.f.x4 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_4
global CONFIG_FPU_GRFPU
if {$tmpvar_4 == "GRFPU"} then {set CONFIG_FPU_GRFPU 1} else {set CONFIG_FPU_GRFPU 0}
global CONFIG_FPU_GRFPULITE
if {$tmpvar_4 == "GRFPU-LITE"} then {set CONFIG_FPU_GRFPULITE 1} else {set CONFIG_FPU_GRFPULITE 0}
global CONFIG_FPU_MEIKO
if {$tmpvar_4 == "Meiko"} then {set CONFIG_FPU_MEIKO 1} else {set CONFIG_FPU_MEIKO 0}
global tmpvar_5
global CONFIG_FPU_GRFPU_INFMUL
if {$tmpvar_5 == "Inferred"} then {set CONFIG_FPU_GRFPU_INFMUL 1} else {set CONFIG_FPU_GRFPU_INFMUL 0}
global CONFIG_FPU_GRFPU_DWMUL
if {$tmpvar_5 == "DW"} then {set CONFIG_FPU_GRFPU_DWMUL 1} else {set CONFIG_FPU_GRFPU_DWMUL 0}
global CONFIG_FPU_GRFPU_MODGEN
if {$tmpvar_5 == "ModGen"} then {set CONFIG_FPU_GRFPU_MODGEN 1} else {set CONFIG_FPU_GRFPU_MODGEN 0}
global tmpvar_6
global CONFIG_FPU_GRFPC0
if {$tmpvar_6 == "Simple"} then {set CONFIG_FPU_GRFPC0 1} else {set CONFIG_FPU_GRFPC0 0}
global CONFIG_FPU_GRFPC1
if {$tmpvar_6 == "Data-forwarding"} then {set CONFIG_FPU_GRFPC1 1} else {set CONFIG_FPU_GRFPC1 0}
global CONFIG_FPU_GRFPC2
if {$tmpvar_6 == "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_7
minimenu $w.config.f 6 1 "Associativity (sets) " tmpvar_7 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_7 -value "1" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "2" -variable tmpvar_7 -value "2" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "3" -variable tmpvar_7 -value "3" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "4" -variable tmpvar_7 -value "4" -command "update_active"
menusplit $w $w.config.f.x1.x.menu 4
global tmpvar_8
minimenu $w.config.f 6 2 "Set size (kbytes/set)" tmpvar_8 CONFIG_ICACHE_SZ1
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"Set size (kbytes/set)\""
$w.config.f.x2.x.menu add radiobutton -label "1" -variable tmpvar_8 -value "1" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "2" -variable tmpvar_8 -value "2" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "4" -variable tmpvar_8 -value "4" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "8" -variable tmpvar_8 -value "8" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "16" -variable tmpvar_8 -value "16" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "32" -variable tmpvar_8 -value "32" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "64" -variable tmpvar_8 -value "64" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "128" -variable tmpvar_8 -value "128" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "256" -variable tmpvar_8 -value "256" -command "update_active"
menusplit $w $w.config.f.x2.x.menu 9
global tmpvar_9
minimenu $w.config.f 6 3 "Line size (bytes/line)" tmpvar_9 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_9 -value "16" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "32" -variable tmpvar_9 -value "32" -command "update_active"
menusplit $w $w.config.f.x3.x.menu 2
global tmpvar_10
minimenu $w.config.f 6 4 "Replacement alorithm" tmpvar_10 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_10 -value "Random" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "LRR" -variable tmpvar_10 -value "LRR" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "LRU" -variable tmpvar_10 -value "LRU" -command "update_active"
menusplit $w $w.config.f.x4.x.menu 3
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_11
minimenu $w.config.f 6 7 "Local data RAM size (kbytes)" tmpvar_11 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_11 -value "1" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "2" -variable tmpvar_11 -value "2" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "4" -variable tmpvar_11 -value "4" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "8" -variable tmpvar_11 -value "8" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "16" -variable tmpvar_11 -value "16" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "32" -variable tmpvar_11 -value "32" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "64" -variable tmpvar_11 -value "64" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "128" -variable tmpvar_11 -value "128" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "256" -variable tmpvar_11 -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_12
minimenu $w.config.f 6 10 "Associativity (sets)" tmpvar_12 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_12 -value "1" -command "update_active"
$w.config.f.x10.x.menu add radiobutton -label "2" -variable tmpvar_12 -value "2" -command "update_active"
$w.config.f.x10.x.menu add radiobutton -label "3" -variable tmpvar_12 -value "3" -command "update_active"
$w.config.f.x10.x.menu add radiobutton -label "4" -variable tmpvar_12 -value "4" -command "update_active"
menusplit $w $w.config.f.x10.x.menu 4
global tmpvar_13
minimenu $w.config.f 6 11 "Set size (kbytes/set)" tmpvar_13 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_13 -value "1" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "2" -variable tmpvar_13 -value "2" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "4" -variable tmpvar_13 -value "4" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "8" -variable tmpvar_13 -value "8" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "16" -variable tmpvar_13 -value "16" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "32" -variable tmpvar_13 -value "32" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "64" -variable tmpvar_13 -value "64" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "128" -variable tmpvar_13 -value "128" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "256" -variable tmpvar_13 -value "256" -command "update_active"
menusplit $w $w.config.f.x11.x.menu 9
global tmpvar_14
minimenu $w.config.f 6 12 "Line size (bytes/line)" tmpvar_14 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_14 -value "16" -command "update_active"
$w.config.f.x12.x.menu add radiobutton -label "32" -variable tmpvar_14 -value "32" -command "update_active"
menusplit $w $w.config.f.x12.x.menu 2
global tmpvar_15
minimenu $w.config.f 6 13 "Replacement alorithm" tmpvar_15 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_15 -value "Random" -command "update_active"
$w.config.f.x13.x.menu add radiobutton -label "LRR" -variable tmpvar_15 -value "LRR" -command "update_active"
$w.config.f.x13.x.menu add radiobutton -label "LRU" -variable tmpvar_15 -value "LRU" -command "update_active"
menusplit $w $w.config.f.x13.x.menu 3
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_16
minimenu $w.config.f 6 20 "Local data RAM size (kbytes)" tmpvar_16 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_16 -value "1" -command "update_active"
$w.config.f.x20.x.menu add radiobutton -label "2" -variable tmpvar_16 -value "2" -command "update_active"
$w.config.f.x20.x.menu add radiobutton -label "4" -variable tmpvar_16 -value "4" -command "update_active"
$w.config.f.x20.x.menu add radiobutton -label "8" -variable tmpvar_16 -value "8" -command "update_active"
$w.config.f.x20.x.menu add radiobutton -label "16" -variable tmpvar_16 -value "16" -command "update_active"
$w.config.f.x20.x.menu add radiobutton -label "32" -variable tmpvar_16 -value "32" -command "update_active"
$w.config.f.x20.x.menu add radiobutton -label "64" -variable tmpvar_16 -value "64" -command "update_active"
$w.config.f.x20.x.menu add radiobutton -label "128" -variable tmpvar_16 -value "128" -command "update_active"
$w.config.f.x20.x.menu add radiobutton -label "256" -variable tmpvar_16 -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_7
global CONFIG_ICACHE_ASSO1
if {$tmpvar_7 == "1"} then {set CONFIG_ICACHE_ASSO1 1} else {set CONFIG_ICACHE_ASSO1 0}
global CONFIG_ICACHE_ASSO2
if {$tmpvar_7 == "2"} then {set CONFIG_ICACHE_ASSO2 1} else {set CONFIG_ICACHE_ASSO2 0}
global CONFIG_ICACHE_ASSO3
if {$tmpvar_7 == "3"} then {set CONFIG_ICACHE_ASSO3 1} else {set CONFIG_ICACHE_ASSO3 0}
global CONFIG_ICACHE_ASSO4
if {$tmpvar_7 == "4"} then {set CONFIG_ICACHE_ASSO4 1} else {set CONFIG_ICACHE_ASSO4 0}
global tmpvar_8
global CONFIG_ICACHE_SZ1
if {$tmpvar_8 == "1"} then {set CONFIG_ICACHE_SZ1 1} else {set CONFIG_ICACHE_SZ1 0}
global CONFIG_ICACHE_SZ2
if {$tmpvar_8 == "2"} then {set CONFIG_ICACHE_SZ2 1} else {set CONFIG_ICACHE_SZ2 0}
global CONFIG_ICACHE_SZ4
if {$tmpvar_8 == "4"} then {set CONFIG_ICACHE_SZ4 1} else {set CONFIG_ICACHE_SZ4 0}
global CONFIG_ICACHE_SZ8
if {$tmpvar_8 == "8"} then {set CONFIG_ICACHE_SZ8 1} else {set CONFIG_ICACHE_SZ8 0}
global CONFIG_ICACHE_SZ16
if {$tmpvar_8 == "16"} then {set CONFIG_ICACHE_SZ16 1} else {set CONFIG_ICACHE_SZ16 0}
global CONFIG_ICACHE_SZ32
if {$tmpvar_8 == "32"} then {set CONFIG_ICACHE_SZ32 1} else {set CONFIG_ICACHE_SZ32 0}
global CONFIG_ICACHE_SZ64
if {$tmpvar_8 == "64"} then {set CONFIG_ICACHE_SZ64 1} else {set CONFIG_ICACHE_SZ64 0}
global CONFIG_ICACHE_SZ128
if {$tmpvar_8 == "128"} then {set CONFIG_ICACHE_SZ128 1} else {set CONFIG_ICACHE_SZ128 0}
global CONFIG_ICACHE_SZ256
if {$tmpvar_8 == "256"} then {set CONFIG_ICACHE_SZ256 1} else {set CONFIG_ICACHE_SZ256 0}
global tmpvar_9
global CONFIG_ICACHE_LZ16
if {$tmpvar_9 == "16"} then {set CONFIG_ICACHE_LZ16 1} else {set CONFIG_ICACHE_LZ16 0}
global CONFIG_ICACHE_LZ32
if {$tmpvar_9 == "32"} then {set CONFIG_ICACHE_LZ32 1} else {set CONFIG_ICACHE_LZ32 0}
global tmpvar_10
global CONFIG_ICACHE_ALGORND
if {$tmpvar_10 == "Random"} then {set CONFIG_ICACHE_ALGORND 1} else {set CONFIG_ICACHE_ALGORND 0}
global CONFIG_ICACHE_ALGOLRR
if {$tmpvar_10 == "LRR"} then {set CONFIG_ICACHE_ALGOLRR 1} else {set CONFIG_ICACHE_ALGOLRR 0}
global CONFIG_ICACHE_ALGOLRU
if {$tmpvar_10 == "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_11
global CONFIG_ICACHE_LRAM_SZ1
if {$tmpvar_11 == "1"} then {set CONFIG_ICACHE_LRAM_SZ1 1} else {set CONFIG_ICACHE_LRAM_SZ1 0}
global CONFIG_ICACHE_LRAM_SZ2
if {$tmpvar_11 == "2"} then {set CONFIG_ICACHE_LRAM_SZ2 1} else {set CONFIG_ICACHE_LRAM_SZ2 0}
global CONFIG_ICACHE_LRAM_SZ4
if {$tmpvar_11 == "4"} then {set CONFIG_ICACHE_LRAM_SZ4 1} else {set CONFIG_ICACHE_LRAM_SZ4 0}
global CONFIG_ICACHE_LRAM_SZ8
if {$tmpvar_11 == "8"} then {set CONFIG_ICACHE_LRAM_SZ8 1} else {set CONFIG_ICACHE_LRAM_SZ8 0}
global CONFIG_ICACHE_LRAM_SZ16
if {$tmpvar_11 == "16"} then {set CONFIG_ICACHE_LRAM_SZ16 1} else {set CONFIG_ICACHE_LRAM_SZ16 0}
global CONFIG_ICACHE_LRAM_SZ32
if {$tmpvar_11 == "32"} then {set CONFIG_ICACHE_LRAM_SZ32 1} else {set CONFIG_ICACHE_LRAM_SZ32 0}
global CONFIG_ICACHE_LRAM_SZ64
if {$tmpvar_11 == "64"} then {set CONFIG_ICACHE_LRAM_SZ64 1} else {set CONFIG_ICACHE_LRAM_SZ64 0}
global CONFIG_ICACHE_LRAM_SZ128
if {$tmpvar_11 == "128"} then {set CONFIG_ICACHE_LRAM_SZ128 1} else {set CONFIG_ICACHE_LRAM_SZ128 0}
global CONFIG_ICACHE_LRAM_SZ256
if {$tmpvar_11 == "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_12
global CONFIG_DCACHE_ASSO1
if {$tmpvar_12 == "1"} then {set CONFIG_DCACHE_ASSO1 1} else {set CONFIG_DCACHE_ASSO1 0}
global CONFIG_DCACHE_ASSO2
if {$tmpvar_12 == "2"} then {set CONFIG_DCACHE_ASSO2 1} else {set CONFIG_DCACHE_ASSO2 0}
global CONFIG_DCACHE_ASSO3
if {$tmpvar_12 == "3"} then {set CONFIG_DCACHE_ASSO3 1} else {set CONFIG_DCACHE_ASSO3 0}
global CONFIG_DCACHE_ASSO4
if {$tmpvar_12 == "4"} then {set CONFIG_DCACHE_ASSO4 1} else {set CONFIG_DCACHE_ASSO4 0}
global tmpvar_13
global CONFIG_DCACHE_SZ1
if {$tmpvar_13 == "1"} then {set CONFIG_DCACHE_SZ1 1} else {set CONFIG_DCACHE_SZ1 0}
global CONFIG_DCACHE_SZ2
if {$tmpvar_13 == "2"} then {set CONFIG_DCACHE_SZ2 1} else {set CONFIG_DCACHE_SZ2 0}
global CONFIG_DCACHE_SZ4
if {$tmpvar_13 == "4"} then {set CONFIG_DCACHE_SZ4 1} else {set CONFIG_DCACHE_SZ4 0}
global CONFIG_DCACHE_SZ8
if {$tmpvar_13 == "8"} then {set CONFIG_DCACHE_SZ8 1} else {set CONFIG_DCACHE_SZ8 0}
global CONFIG_DCACHE_SZ16
if {$tmpvar_13 == "16"} then {set CONFIG_DCACHE_SZ16 1} else {set CONFIG_DCACHE_SZ16 0}
global CONFIG_DCACHE_SZ32
if {$tmpvar_13 == "32"} then {set CONFIG_DCACHE_SZ32 1} else {set CONFIG_DCACHE_SZ32 0}
global CONFIG_DCACHE_SZ64
if {$tmpvar_13 == "64"} then {set CONFIG_DCACHE_SZ64 1} else {set CONFIG_DCACHE_SZ64 0}
global CONFIG_DCACHE_SZ128
if {$tmpvar_13 == "128"} then {set CONFIG_DCACHE_SZ128 1} else {set CONFIG_DCACHE_SZ128 0}
global CONFIG_DCACHE_SZ256
if {$tmpvar_13 == "256"} then {set CONFIG_DCACHE_SZ256 1} else {set CONFIG_DCACHE_SZ256 0}
global tmpvar_14
global CONFIG_DCACHE_LZ16
if {$tmpvar_14 == "16"} then {set CONFIG_DCACHE_LZ16 1} else {set CONFIG_DCACHE_LZ16 0}
global CONFIG_DCACHE_LZ32
if {$tmpvar_14 == "32"} then {set CONFIG_DCACHE_LZ32 1} else {set CONFIG_DCACHE_LZ32 0}
global tmpvar_15
global CONFIG_DCACHE_ALGORND
if {$tmpvar_15 == "Random"} then {set CONFIG_DCACHE_ALGORND 1} else {set CONFIG_DCACHE_ALGORND 0}
global CONFIG_DCACHE_ALGOLRR
if {$tmpvar_15 == "LRR"} then {set CONFIG_DCACHE_ALGOLRR 1} else {set CONFIG_DCACHE_ALGOLRR 0}
global CONFIG_DCACHE_ALGOLRU
if {$tmpvar_15 == "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_16
global CONFIG_DCACHE_LRAM_SZ1
if {$tmpvar_16 == "1"} then {set CONFIG_DCACHE_LRAM_SZ1 1} else {set CONFIG_DCACHE_LRAM_SZ1 0}
global CONFIG_DCACHE_LRAM_SZ2
if {$tmpvar_16 == "2"} then {set CONFIG_DCACHE_LRAM_SZ2 1} else {set CONFIG_DCACHE_LRAM_SZ2 0}
global CONFIG_DCACHE_LRAM_SZ4
if {$tmpvar_16 == "4"} then {set CONFIG_DCACHE_LRAM_SZ4 1} else {set CONFIG_DCACHE_LRAM_SZ4 0}
global CONFIG_DCACHE_LRAM_SZ8
if {$tmpvar_16 == "8"} then {set CONFIG_DCACHE_LRAM_SZ8 1} else {set CONFIG_DCACHE_LRAM_SZ8 0}
global CONFIG_DCACHE_LRAM_SZ16
if {$tmpvar_16 == "16"} then {set CONFIG_DCACHE_LRAM_SZ16 1} else {set CONFIG_DCACHE_LRAM_SZ16 0}
global CONFIG_DCACHE_LRAM_SZ32
if {$tmpvar_16 == "32"} then {set CONFIG_DCACHE_LRAM_SZ32 1} else {set CONFIG_DCACHE_LRAM_SZ32 0}
global CONFIG_DCACHE_LRAM_SZ64
if {$tmpvar_16 == "64"} then {set CONFIG_DCACHE_LRAM_SZ64 1} else {set CONFIG_DCACHE_LRAM_SZ64 0}
global CONFIG_DCACHE_LRAM_SZ128
if {$tmpvar_16 == "128"} then {set CONFIG_DCACHE_LRAM_SZ128 1} else {set CONFIG_DCACHE_LRAM_SZ128 0}
global CONFIG_DCACHE_LRAM_SZ256
if {$tmpvar_16 == "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_17
minimenu $w.config.f 7 1 "MMU type " tmpvar_17 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_17 -value "combined" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "split" -variable tmpvar_17 -value "split" -command "update_active"
menusplit $w $w.config.f.x1.x.menu 2
global tmpvar_18
minimenu $w.config.f 7 2 "TLB replacement sheme " tmpvar_18 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_18 -value "LRU" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "Increment" -variable tmpvar_18 -value "Increment" -command "update_active"
menusplit $w $w.config.f.x2.x.menu 2
global tmpvar_19
minimenu $w.config.f 7 3 "Instruction (or combined) TLB entries" tmpvar_19 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_19 -value "2" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "4" -variable tmpvar_19 -value "4" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "8" -variable tmpvar_19 -value "8" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "16" -variable tmpvar_19 -value "16" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "32" -variable tmpvar_19 -value "32" -command "update_active"
menusplit $w $w.config.f.x3.x.menu 5
global tmpvar_20
minimenu $w.config.f 7 4 "Data TLB entries" tmpvar_20 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_20 -value "2" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "4" -variable tmpvar_20 -value "4" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "8" -variable tmpvar_20 -value "8" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "16" -variable tmpvar_20 -value "16" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "32" -variable tmpvar_20 -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_21
minimenu $w.config.f 7 6 "MMU page size" tmpvar_21 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_21 -value "4K" -command "update_active"
$w.config.f.x6.x.menu add radiobutton -label "8K" -variable tmpvar_21 -value "8K" -command "update_active"
$w.config.f.x6.x.menu add radiobutton -label "16K" -variable tmpvar_21 -value "16K" -command "update_active"
$w.config.f.x6.x.menu add radiobutton -label "32K" -variable tmpvar_21 -value "32K" -command "update_active"
$w.config.f.x6.x.menu add radiobutton -label "Programmable" -variable tmpvar_21 -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_17
global CONFIG_MMU_COMBINED
if {$tmpvar_17 == "combined"} then {set CONFIG_MMU_COMBINED 1} else {set CONFIG_MMU_COMBINED 0}
global CONFIG_MMU_SPLIT
if {$tmpvar_17 == "split"} then {set CONFIG_MMU_SPLIT 1} else {set CONFIG_MMU_SPLIT 0}
global tmpvar_18
global CONFIG_MMU_REPARRAY
if {$tmpvar_18 == "LRU"} then {set CONFIG_MMU_REPARRAY 1} else {set CONFIG_MMU_REPARRAY 0}
global CONFIG_MMU_REPINCREMENT
if {$tmpvar_18 == "Increment"} then {set CONFIG_MMU_REPINCREMENT 1} else {set CONFIG_MMU_REPINCREMENT 0}
global tmpvar_19
global CONFIG_MMU_I2
if {$tmpvar_19 == "2"} then {set CONFIG_MMU_I2 1} else {set CONFIG_MMU_I2 0}
global CONFIG_MMU_I4
if {$tmpvar_19 == "4"} then {set CONFIG_MMU_I4 1} else {set CONFIG_MMU_I4 0}
global CONFIG_MMU_I8
if {$tmpvar_19 == "8"} then {set CONFIG_MMU_I8 1} else {set CONFIG_MMU_I8 0}
global CONFIG_MMU_I16
if {$tmpvar_19 == "16"} then {set CONFIG_MMU_I16 1} else {set CONFIG_MMU_I16 0}
global CONFIG_MMU_I32
if {$tmpvar_19 == "32"} then {set CONFIG_MMU_I32 1} else {set CONFIG_MMU_I32 0}
global tmpvar_20
global CONFIG_MMU_D2
if {$tmpvar_20 == "2"} then {set CONFIG_MMU_D2 1} else {set CONFIG_MMU_D2 0}
global CONFIG_MMU_D4
if {$tmpvar_20 == "4"} then {set CONFIG_MMU_D4 1} else {set CONFIG_MMU_D4 0}
global CONFIG_MMU_D8
if {$tmpvar_20 == "8"} then {set CONFIG_MMU_D8 1} else {set CONFIG_MMU_D8 0}
global CONFIG_MMU_D16
if {$tmpvar_20 == "16"} then {set CONFIG_MMU_D16 1} else {set CONFIG_MMU_D16 0}
global CONFIG_MMU_D32
if {$tmpvar_20 == "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_21
global CONFIG_MMU_PAGE_4K
if {$tmpvar_21 == "4K"} then {set CONFIG_MMU_PAGE_4K 1} else {set CONFIG_MMU_PAGE_4K 0}
global CONFIG_MMU_PAGE_8K
if {$tmpvar_21 == "8K"} then {set CONFIG_MMU_PAGE_8K 1} else {set CONFIG_MMU_PAGE_8K 0}
global CONFIG_MMU_PAGE_16K
if {$tmpvar_21 == "16K"} then {set CONFIG_MMU_PAGE_16K 1} else {set CONFIG_MMU_PAGE_16K 0}
global CONFIG_MMU_PAGE_32K
if {$tmpvar_21 == "32K"} then {set CONFIG_MMU_PAGE_32K 1} else {set CONFIG_MMU_PAGE_32K 0}
global CONFIG_MMU_PAGE_PROG
if {$tmpvar_21 == "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_22
minimenu $w.config.f 8 2 "Instruction trace buffer size (kbytes)" tmpvar_22 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_22 -value "1" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "2" -variable tmpvar_22 -value "2" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "4" -variable tmpvar_22 -value "4" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "8" -variable tmpvar_22 -value "8" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "16" -variable tmpvar_22 -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_23
minimenu $w.config.f 8 4 "AHB trace buffer size (kbytes)" tmpvar_23 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_23 -value "1" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "2" -variable tmpvar_23 -value "2" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "4" -variable tmpvar_23 -value "4" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "8" -variable tmpvar_23 -value "8" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "16" -variable tmpvar_23 -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_22
global CONFIG_DSU_ITRACESZ1
if {$tmpvar_22 == "1"} then {set CONFIG_DSU_ITRACESZ1 1} else {set CONFIG_DSU_ITRACESZ1 0}
global CONFIG_DSU_ITRACESZ2
if {$tmpvar_22 == "2"} then {set CONFIG_DSU_ITRACESZ2 1} else {set CONFIG_DSU_ITRACESZ2 0}
global CONFIG_DSU_ITRACESZ4
if {$tmpvar_22 == "4"} then {set CONFIG_DSU_ITRACESZ4 1} else {set CONFIG_DSU_ITRACESZ4 0}
global CONFIG_DSU_ITRACESZ8
if {$tmpvar_22 == "8"} then {set CONFIG_DSU_ITRACESZ8 1} else {set CONFIG_DSU_ITRACESZ8 0}
global CONFIG_DSU_ITRACESZ16
if {$tmpvar_22 == "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_23
global CONFIG_DSU_ATRACESZ1
if {$tmpvar_23 == "1"} then {set CONFIG_DSU_ATRACESZ1 1} else {set CONFIG_DSU_ATRACESZ1 0}
global CONFIG_DSU_ATRACESZ2
if {$tmpvar_23 == "2"} then {set CONFIG_DSU_ATRACESZ2 1} else {set CONFIG_DSU_ATRACESZ2 0}
global CONFIG_DSU_ATRACESZ4
if {$tmpvar_23 == "4"} then {set CONFIG_DSU_ATRACESZ4 1} else {set CONFIG_DSU_ATRACESZ4 0}
global CONFIG_DSU_ATRACESZ8
if {$tmpvar_23 == "8"} then {set CONFIG_DSU_ATRACESZ8 1} else {set CONFIG_DSU_ATRACESZ8 0}
global CONFIG_DSU_ATRACESZ16
if {$tmpvar_23 == "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
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 {} {
}
proc update_define_menu9 {} {
update_define_mainmenu
global CONFIG_MODULES
}
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
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 "Serial Debug Link (RS232) " CONFIG_DSU_UART
bool $w.config.f 12 1 "JTAG Debug Link" CONFIG_DSU_JTAG
bool $w.config.f 12 2 "Ethernet Debug Communication Link (EDCL)" CONFIG_DSU_ETH
global tmpvar_25
minimenu $w.config.f 12 3 "Ethernet/AHB bridge buffer size (kbytes)" tmpvar_25 CONFIG_DSU_ETHSZ1
menu $w.config.f.x3.x.menu -tearoffcommand "menutitle \"Ethernet/AHB bridge buffer size (kbytes)\""
$w.config.f.x3.x.menu add radiobutton -label "1" -variable tmpvar_25 -value "1" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "2" -variable tmpvar_25 -value "2" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "4" -variable tmpvar_25 -value "4" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "8" -variable tmpvar_25 -value "8" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "16" -variable tmpvar_25 -value "16" -command "update_active"
menusplit $w $w.config.f.x3.x.menu 5
hex $w.config.f 12 4 "MSB 16 bits of IP address (hex) " CONFIG_DSU_IPMSB
hex $w.config.f 12 5 "LSB 16 bits of IP address (hex) " CONFIG_DSU_IPLSB
hex $w.config.f 12 6 "MSB 24 bits of ethern number (hex) " CONFIG_DSU_ETHMSB
hex $w.config.f 12 7 "LSB 24 bits of ethern number (hex) " CONFIG_DSU_ETHLSB
bool $w.config.f 12 8 "Programmable 4-bit LSB of MAC/IP address" CONFIG_DSU_ETH_PROG
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.x2 normal {n l y}} else {configure_entry .menu12.config.f.x2 disabled {y n l}}
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {configure_entry .menu12.config.f.x3 normal {x l}} else {configure_entry .menu12.config.f.x3 disabled {x l}}
global CONFIG_DSU_IPMSB
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_IPLSB
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_ETHMSB
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_DSU_ETHLSB
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {.menu12.config.f.x7.x configure -state normal -foreground [ cget .ref -foreground ]; .menu12.config.f.x7.l configure -state normal; } else {.menu12.config.f.x7.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu12.config.f.x7.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.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_25
global CONFIG_DSU_ETHSZ1
if {$tmpvar_25 == "1"} then {set CONFIG_DSU_ETHSZ1 1} else {set CONFIG_DSU_ETHSZ1 0}
global CONFIG_DSU_ETHSZ2
if {$tmpvar_25 == "2"} then {set CONFIG_DSU_ETHSZ2 1} else {set CONFIG_DSU_ETHSZ2 0}
global CONFIG_DSU_ETHSZ4
if {$tmpvar_25 == "4"} then {set CONFIG_DSU_ETHSZ4 1} else {set CONFIG_DSU_ETHSZ4 0}
global CONFIG_DSU_ETHSZ8
if {$tmpvar_25 == "8"} then {set CONFIG_DSU_ETHSZ8 1} else {set CONFIG_DSU_ETHSZ8 0}
global CONFIG_DSU_ETHSZ16
if {$tmpvar_25 == "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]}
}
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 controllers " 14
submenu $w.config.f 13 1 "On-chip RAM/ROM " 18
submenu $w.config.f 13 2 "Ethernet " 19
submenu $w.config.f 13 3 "CAN " 20
submenu $w.config.f 13 4 "PCI " 21
submenu $w.config.f 13 5 "Spacewire " 22
submenu $w.config.f 13 6 "UARTs, timers and irq control " 23
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 controllers " -relief raised
pack $w.m -pady 10 -side top -padx 10
wm title $w "Memory controllers "
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 "8/32-bit PROM/SRAM controller " 15
submenu $w.config.f 14 1 "Leon2 memory controller " 16
submenu $w.config.f 14 2 "PC133 SDRAM controller " 17
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 {} {
}
proc update_define_menu14 {} {
update_define_mainmenu
global CONFIG_MODULES
}
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 \
"8/32-bit PROM/SRAM controller " -relief raised
pack $w.m -pady 10 -side top -padx 10
wm title $w "8/32-bit PROM/SRAM 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 8/32-bit PROM/SRAM controller " CONFIG_SRCTRL
bool $w.config.f 15 1 "8-bit PROM interface " CONFIG_SRCTRL_8BIT
int $w.config.f 15 2 "PROM waitstates" CONFIG_SRCTRL_PROMWS
int $w.config.f 15 3 "RAM waitstates" CONFIG_SRCTRL_RAMWS
int $w.config.f 15 4 "IO waitstates" CONFIG_SRCTRL_IOWS
bool $w.config.f 15 5 "Use read-modify-write for sub-word writes " CONFIG_SRCTRL_RMW
global tmpvar_26
minimenu $w.config.f 15 6 "SRAM banks" tmpvar_26 CONFIG_SRCTRL_SRBANKS1
menu $w.config.f.x6.x.menu -tearoffcommand "menutitle \"SRAM banks\""
$w.config.f.x6.x.menu add radiobutton -label "1" -variable tmpvar_26 -value "1" -command "update_active"
$w.config.f.x6.x.menu add radiobutton -label "2" -variable tmpvar_26 -value "2" -command "update_active"
$w.config.f.x6.x.menu add radiobutton -label "3" -variable tmpvar_26 -value "3" -command "update_active"
$w.config.f.x6.x.menu add radiobutton -label "4" -variable tmpvar_26 -value "4" -command "update_active"
$w.config.f.x6.x.menu add radiobutton -label "5" -variable tmpvar_26 -value "5" -command "update_active"
menusplit $w $w.config.f.x6.x.menu 5
global tmpvar_27
minimenu $w.config.f 15 7 "SRAM bank size (kb) (0 for programmable)" tmpvar_27 CONFIG_SRCTRL_BANKSZ0
menu $w.config.f.x7.x.menu -tearoffcommand "menutitle \"SRAM bank size (kb) (0 for programmable)\""
$w.config.f.x7.x.menu add radiobutton -label "8" -variable tmpvar_27 -value "8" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "16" -variable tmpvar_27 -value "16" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "32" -variable tmpvar_27 -value "32" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "64" -variable tmpvar_27 -value "64" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "128" -variable tmpvar_27 -value "128" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "256" -variable tmpvar_27 -value "256" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "512" -variable tmpvar_27 -value "512" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "1024" -variable tmpvar_27 -value "1024" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "2048" -variable tmpvar_27 -value "2048" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "4096" -variable tmpvar_27 -value "4096" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "8192" -variable tmpvar_27 -value "8192" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "16384" -variable tmpvar_27 -value "16384" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "32768" -variable tmpvar_27 -value "32768" -command "update_active"
$w.config.f.x7.x.menu add radiobutton -label "65536" -variable tmpvar_27 -value "65536" -command "update_active"
menusplit $w $w.config.f.x7.x.menu 14
int $w.config.f 15 8 "PROM bank select address bit (0 - 28)" CONFIG_SRCTRL_ROMASEL
focus $w
update_active
global winx; global winy
if {[winfo exists .menu14] == 0} then {menu14 .menu14 "Memory controllers "}
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_SRCTRL
global CONFIG_SRCTRL_8BIT
if {($CONFIG_SRCTRL == 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_SRCTRL_PROMWS
if {($CONFIG_SRCTRL == 1)} then {.menu15.config.f.x2.x configure -state normal -foreground [ cget .ref -foreground ]; .menu15.config.f.x2.l configure -state normal; } else {.menu15.config.f.x2.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu15.config.f.x2.l configure -state disabled}
global CONFIG_SRCTRL_RAMWS
if {($CONFIG_SRCTRL == 1)} then {.menu15.config.f.x3.x configure -state normal -foreground [ cget .ref -foreground ]; .menu15.config.f.x3.l configure -state normal; } else {.menu15.config.f.x3.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu15.config.f.x3.l configure -state disabled}
global CONFIG_SRCTRL_IOWS
if {($CONFIG_SRCTRL == 1)} then {.menu15.config.f.x4.x configure -state normal -foreground [ cget .ref -foreground ]; .menu15.config.f.x4.l configure -state normal; } else {.menu15.config.f.x4.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu15.config.f.x4.l configure -state disabled}
global CONFIG_SRCTRL_RMW
if {($CONFIG_SRCTRL == 1)} then {
configure_entry .menu15.config.f.x5 normal {n l y}} else {configure_entry .menu15.config.f.x5 disabled {y n l}}
if {($CONFIG_SRCTRL == 1)} then {configure_entry .menu15.config.f.x6 normal {x l}} else {configure_entry .menu15.config.f.x6 disabled {x l}}
if {($CONFIG_SRCTRL == 1)} then {configure_entry .menu15.config.f.x7 normal {x l}} else {configure_entry .menu15.config.f.x7 disabled {x l}}
global CONFIG_SRCTRL_ROMASEL
if {($CONFIG_SRCTRL == 1)} then {.menu15.config.f.x8.x configure -state normal -foreground [ cget .ref -foreground ]; .menu15.config.f.x8.l configure -state normal; } else {.menu15.config.f.x8.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu15.config.f.x8.l configure -state disabled}
}
proc update_define_menu15 {} {
update_define_mainmenu
global CONFIG_MODULES
global CONFIG_SRCTRL
global CONFIG_SRCTRL_8BIT
if {($CONFIG_SRCTRL == 1)} then {
set CONFIG_SRCTRL_8BIT [expr $CONFIG_SRCTRL_8BIT&15]} else {set CONFIG_SRCTRL_8BIT [expr $CONFIG_SRCTRL_8BIT|16]}
global CONFIG_SRCTRL_PROMWS
if {($CONFIG_SRCTRL == 1)} then {validate_int CONFIG_SRCTRL_PROMWS "$CONFIG_SRCTRL_PROMWS" 3}
global CONFIG_SRCTRL_RAMWS
if {($CONFIG_SRCTRL == 1)} then {validate_int CONFIG_SRCTRL_RAMWS "$CONFIG_SRCTRL_RAMWS" 0}
global CONFIG_SRCTRL_IOWS
if {($CONFIG_SRCTRL == 1)} then {validate_int CONFIG_SRCTRL_IOWS "$CONFIG_SRCTRL_IOWS" 0}
global CONFIG_SRCTRL_RMW
if {($CONFIG_SRCTRL == 1)} then {
set CONFIG_SRCTRL_RMW [expr $CONFIG_SRCTRL_RMW&15]} else {set CONFIG_SRCTRL_RMW [expr $CONFIG_SRCTRL_RMW|16]}
global tmpvar_26
global CONFIG_SRCTRL_SRBANKS1
if {$tmpvar_26 == "1"} then {set CONFIG_SRCTRL_SRBANKS1 1} else {set CONFIG_SRCTRL_SRBANKS1 0}
global CONFIG_SRCTRL_SRBANKS2
if {$tmpvar_26 == "2"} then {set CONFIG_SRCTRL_SRBANKS2 1} else {set CONFIG_SRCTRL_SRBANKS2 0}
global CONFIG_SRCTRL_SRBANKS3
if {$tmpvar_26 == "3"} then {set CONFIG_SRCTRL_SRBANKS3 1} else {set CONFIG_SRCTRL_SRBANKS3 0}
global CONFIG_SRCTRL_SRBANKS4
if {$tmpvar_26 == "4"} then {set CONFIG_SRCTRL_SRBANKS4 1} else {set CONFIG_SRCTRL_SRBANKS4 0}
global CONFIG_SRCTRL_SRBANKS5
if {$tmpvar_26 == "5"} then {set CONFIG_SRCTRL_SRBANKS5 1} else {set CONFIG_SRCTRL_SRBANKS5 0}
global tmpvar_27
global CONFIG_SRCTRL_BANKSZ0
if {$tmpvar_27 == "8"} then {set CONFIG_SRCTRL_BANKSZ0 1} else {set CONFIG_SRCTRL_BANKSZ0 0}
global CONFIG_SRCTRL_BANKSZ1
if {$tmpvar_27 == "16"} then {set CONFIG_SRCTRL_BANKSZ1 1} else {set CONFIG_SRCTRL_BANKSZ1 0}
global CONFIG_SRCTRL_BANKSZ2
if {$tmpvar_27 == "32"} then {set CONFIG_SRCTRL_BANKSZ2 1} else {set CONFIG_SRCTRL_BANKSZ2 0}
global CONFIG_SRCTRL_BANKSZ3
if {$tmpvar_27 == "64"} then {set CONFIG_SRCTRL_BANKSZ3 1} else {set CONFIG_SRCTRL_BANKSZ3 0}
global CONFIG_SRCTRL_BANKSZ4
if {$tmpvar_27 == "128"} then {set CONFIG_SRCTRL_BANKSZ4 1} else {set CONFIG_SRCTRL_BANKSZ4 0}
global CONFIG_SRCTRL_BANKSZ5
if {$tmpvar_27 == "256"} then {set CONFIG_SRCTRL_BANKSZ5 1} else {set CONFIG_SRCTRL_BANKSZ5 0}
global CONFIG_SRCTRL_BANKSZ6
if {$tmpvar_27 == "512"} then {set CONFIG_SRCTRL_BANKSZ6 1} else {set CONFIG_SRCTRL_BANKSZ6 0}
global CONFIG_SRCTRL_BANKSZ7
if {$tmpvar_27 == "1024"} then {set CONFIG_SRCTRL_BANKSZ7 1} else {set CONFIG_SRCTRL_BANKSZ7 0}
global CONFIG_SRCTRL_BANKSZ8
if {$tmpvar_27 == "2048"} then {set CONFIG_SRCTRL_BANKSZ8 1} else {set CONFIG_SRCTRL_BANKSZ8 0}
global CONFIG_SRCTRL_BANKSZ9
if {$tmpvar_27 == "4096"} then {set CONFIG_SRCTRL_BANKSZ9 1} else {set CONFIG_SRCTRL_BANKSZ9 0}
global CONFIG_SRCTRL_BANKSZ10
if {$tmpvar_27 == "8192"} then {set CONFIG_SRCTRL_BANKSZ10 1} else {set CONFIG_SRCTRL_BANKSZ10 0}
global CONFIG_SRCTRL_BANKSZ11
if {$tmpvar_27 == "16384"} then {set CONFIG_SRCTRL_BANKSZ11 1} else {set CONFIG_SRCTRL_BANKSZ11 0}
global CONFIG_SRCTRL_BANKSZ12
if {$tmpvar_27 == "32768"} then {set CONFIG_SRCTRL_BANKSZ12 1} else {set CONFIG_SRCTRL_BANKSZ12 0}
global CONFIG_SRCTRL_BANKSZ13
if {$tmpvar_27 == "65536"} then {set CONFIG_SRCTRL_BANKSZ13 1} else {set CONFIG_SRCTRL_BANKSZ13 0}
global CONFIG_SRCTRL_ROMASEL
if {($CONFIG_SRCTRL == 1)} then {validate_int CONFIG_SRCTRL_ROMASEL "$CONFIG_SRCTRL_ROMASEL" 19}
}
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 \
"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 16; break"
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 16; 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 Leon2 memory controller " CONFIG_MCTRL_LEON2
bool $w.config.f 16 1 "8-bit PROM/SRAM bus support " CONFIG_MCTRL_8BIT
bool $w.config.f 16 2 "16-bit PROM/SRAM bus support " CONFIG_MCTRL_16BIT
bool $w.config.f 16 3 "5th SRAM chip-select " CONFIG_MCTRL_5CS
bool $w.config.f 16 4 "SDRAM controller " CONFIG_MCTRL_SDRAM
bool $w.config.f 16 5 "Separate address and data buses" CONFIG_MCTRL_SDRAM_SEPBUS
bool $w.config.f 16 6 "64-bit SDRAM data bus" CONFIG_MCTRL_SDRAM_BUS64
bool $w.config.f 16 7 "Unsynchronized sdclock" CONFIG_MCTRL_SDRAM_INVCLK
bool $w.config.f 16 8 "Enable page burst operation " CONFIG_MCTRL_PAGE
bool $w.config.f 16 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 controllers "}
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_MCTRL_LEON2
global CONFIG_MCTRL_8BIT
if {($CONFIG_MCTRL_LEON2 == 1)} then {
configure_entry .menu16.config.f.x1 normal {n l y}} else {configure_entry .menu16.config.f.x1 disabled {y n l}}
global CONFIG_MCTRL_16BIT
if {($CONFIG_MCTRL_LEON2 == 1)} then {
configure_entry .menu16.config.f.x2 normal {n l y}} else {configure_entry .menu16.config.f.x2 disabled {y n l}}
global CONFIG_MCTRL_5CS
if {($CONFIG_MCTRL_LEON2 == 1)} then {
configure_entry .menu16.config.f.x3 normal {n l y}} else {configure_entry .menu16.config.f.x3 disabled {y n l}}
global CONFIG_MCTRL_SDRAM
if {($CONFIG_MCTRL_LEON2 == 1)} then {
configure_entry .menu16.config.f.x4 normal {n l y}} else {configure_entry .menu16.config.f.x4 disabled {y n l}}
global CONFIG_MCTRL_SDRAM_SEPBUS
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1)} then {
configure_entry .menu16.config.f.x5 normal {n l y}} else {configure_entry .menu16.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 .menu16.config.f.x6 normal {n l y}} else {configure_entry .menu16.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 .menu16.config.f.x7 normal {n l y}} else {configure_entry .menu16.config.f.x7 disabled {y n l}}
global CONFIG_MCTRL_PAGE
if {($CONFIG_MCTRL_LEON2 == 1) && ($CONFIG_MCTRL_SDRAM == 1)} then {
configure_entry .menu16.config.f.x8 normal {n l y}} else {configure_entry .menu16.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 .menu16.config.f.x9 normal {n l y}} else {configure_entry .menu16.config.f.x9 disabled {y n l}}
}
proc update_define_menu16 {} {
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 menu17 {w title} {
set oldFocus [focus]
catch {focus .menu14}
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 \
"PC133 SDRAM controller " -relief raised
pack $w.m -pady 10 -side top -padx 10
wm title $w "PC133 SDRAM controller "
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 17; break"
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 17; catch {destroy .menu14}; unregister_active 14; 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 "Enable PC133 SDRAM controller " CONFIG_SDCTRL
bool $w.config.f 17 1 "64-bit SDRAM data bus" CONFIG_SDCTRL_BUS64
bool $w.config.f 17 2 "Unsynchronized sdclock" CONFIG_SDCTRL_INVCLK
bool $w.config.f 17 3 "Enable page burst operation " CONFIG_SDCTRL_PAGE
bool $w.config.f 17 4 "Enable programmable page burst " CONFIG_SDCTRL_PROGPAGE
focus $w
update_active
global winx; global winy
if {[winfo exists .menu14] == 0} then {menu14 .menu14 "Memory controllers "}
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_menu17 {} {
global CONFIG_SDCTRL
global CONFIG_SDCTRL_BUS64
if {($CONFIG_SDCTRL == 1)} then {
configure_entry .menu17.config.f.x1 normal {n l y}} else {configure_entry .menu17.config.f.x1 disabled {y n l}}
global CONFIG_SDCTRL_INVCLK
if {($CONFIG_SDCTRL == 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_SDCTRL_PAGE
if {($CONFIG_SDCTRL == 1)} then {
configure_entry .menu17.config.f.x3 normal {n l y}} else {configure_entry .menu17.config.f.x3 disabled {y n l}}
global CONFIG_SDCTRL_PROGPAGE
if {($CONFIG_SDCTRL == 1) && ($CONFIG_SDCTRL_PAGE == 1)} then {
configure_entry .menu17.config.f.x4 normal {n l y}} else {configure_entry .menu17.config.f.x4 disabled {y n l}}
}
proc update_define_menu17 {} {
update_define_mainmenu
global CONFIG_MODULES
global CONFIG_SDCTRL
global CONFIG_SDCTRL_BUS64
if {($CONFIG_SDCTRL == 1)} then {
set CONFIG_SDCTRL_BUS64 [expr $CONFIG_SDCTRL_BUS64&15]} else {set CONFIG_SDCTRL_BUS64 [expr $CONFIG_SDCTRL_BUS64|16]}
global CONFIG_SDCTRL_INVCLK
if {($CONFIG_SDCTRL == 1)} then {
set CONFIG_SDCTRL_INVCLK [expr $CONFIG_SDCTRL_INVCLK&15]} else {set CONFIG_SDCTRL_INVCLK [expr $CONFIG_SDCTRL_INVCLK|16]}
global CONFIG_SDCTRL_PAGE
if {($CONFIG_SDCTRL == 1)} then {
set CONFIG_SDCTRL_PAGE [expr $CONFIG_SDCTRL_PAGE&15]} else {set CONFIG_SDCTRL_PAGE [expr $CONFIG_SDCTRL_PAGE|16]}
global CONFIG_SDCTRL_PROGPAGE
if {($CONFIG_SDCTRL == 1) && ($CONFIG_SDCTRL_PAGE == 1)} then {
set CONFIG_SDCTRL_PROGPAGE [expr $CONFIG_SDCTRL_PROGPAGE&15]} else {set CONFIG_SDCTRL_PROGPAGE [expr $CONFIG_SDCTRL_PROGPAGE|16]}
}
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 \
"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 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 "On-chip AHB ROM " CONFIG_AHBROM_ENABLE
hex $w.config.f 18 1 "ROM start address (haddr\[31:20\]) " CONFIG_AHBROM_START
bool $w.config.f 18 2 "Pipelined ROM access " CONFIG_AHBROM_PIPE
bool $w.config.f 18 3 "On-chip AHB RAM " CONFIG_AHBRAM_ENABLE
global tmpvar_28
minimenu $w.config.f 18 4 "AHB RAM size (Kbyte)" tmpvar_28 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_28 -value "1" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "2" -variable tmpvar_28 -value "2" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "4" -variable tmpvar_28 -value "4" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "8" -variable tmpvar_28 -value "8" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "16" -variable tmpvar_28 -value "16" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "32" -variable tmpvar_28 -value "32" -command "update_active"
$w.config.f.x4.x.menu add radiobutton -label "64" -variable tmpvar_28 -value "64" -command "update_active"
menusplit $w $w.config.f.x4.x.menu 7
hex $w.config.f 18 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_menu18 {} {
global CONFIG_AHBROM_ENABLE
global CONFIG_AHBROM_START
if {($CONFIG_AHBROM_ENABLE == 1)} then {.menu18.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu18.config.f.x1.l configure -state normal; } else {.menu18.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu18.config.f.x1.l configure -state disabled}
global CONFIG_AHBROM_PIPE
if {($CONFIG_AHBROM_ENABLE == 1)} then {
configure_entry .menu18.config.f.x2 normal {n l y}} else {configure_entry .menu18.config.f.x2 disabled {y n l}}
global CONFIG_AHBRAM_ENABLE
if {($CONFIG_AHBRAM_ENABLE == 1)} then {configure_entry .menu18.config.f.x4 normal {x l}} else {configure_entry .menu18.config.f.x4 disabled {x l}}
global CONFIG_AHBRAM_START
if {($CONFIG_AHBRAM_ENABLE == 1)} then {.menu18.config.f.x5.x configure -state normal -foreground [ cget .ref -foreground ]; .menu18.config.f.x5.l configure -state normal; } else {.menu18.config.f.x5.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu18.config.f.x5.l configure -state disabled}
}
proc update_define_menu18 {} {
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_28
global CONFIG_AHBRAM_SZ1
if {$tmpvar_28 == "1"} then {set CONFIG_AHBRAM_SZ1 1} else {set CONFIG_AHBRAM_SZ1 0}
global CONFIG_AHBRAM_SZ2
if {$tmpvar_28 == "2"} then {set CONFIG_AHBRAM_SZ2 1} else {set CONFIG_AHBRAM_SZ2 0}
global CONFIG_AHBRAM_SZ4
if {$tmpvar_28 == "4"} then {set CONFIG_AHBRAM_SZ4 1} else {set CONFIG_AHBRAM_SZ4 0}
global CONFIG_AHBRAM_SZ8
if {$tmpvar_28 == "8"} then {set CONFIG_AHBRAM_SZ8 1} else {set CONFIG_AHBRAM_SZ8 0}
global CONFIG_AHBRAM_SZ16
if {$tmpvar_28 == "16"} then {set CONFIG_AHBRAM_SZ16 1} else {set CONFIG_AHBRAM_SZ16 0}
global CONFIG_AHBRAM_SZ32
if {$tmpvar_28 == "32"} then {set CONFIG_AHBRAM_SZ32 1} else {set CONFIG_AHBRAM_SZ32 0}
global CONFIG_AHBRAM_SZ64
if {$tmpvar_28 == "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 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 \
"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 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 "Gaisler Research 10/100/1000 Mbit Ethernet MAC " CONFIG_GRETH_ENABLE
bool $w.config.f 19 1 "Enable 1000 Mbit support " CONFIG_GRETH_GIGA
global tmpvar_29
minimenu $w.config.f 19 2 "AHB FIFO size (words) " tmpvar_29 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_29 -value "4" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "8" -variable tmpvar_29 -value "8" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "16" -variable tmpvar_29 -value "16" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "32" -variable tmpvar_29 -value "32" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "64" -variable tmpvar_29 -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_menu19 {} {
global CONFIG_GRETH_ENABLE
global CONFIG_GRETH_GIGA
if {($CONFIG_GRETH_ENABLE == 1)} then {
configure_entry .menu19.config.f.x1 normal {n l y}} else {configure_entry .menu19.config.f.x1 disabled {y n l}}
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_GRETH_GIGA == 0)} then {configure_entry .menu19.config.f.x2 normal {x l}} else {configure_entry .menu19.config.f.x2 disabled {x l}}
}
proc update_define_menu19 {} {
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_29
global CONFIG_GRETH_FIFO4
if {$tmpvar_29 == "4"} then {set CONFIG_GRETH_FIFO4 1} else {set CONFIG_GRETH_FIFO4 0}
global CONFIG_GRETH_FIFO8
if {$tmpvar_29 == "8"} then {set CONFIG_GRETH_FIFO8 1} else {set CONFIG_GRETH_FIFO8 0}
global CONFIG_GRETH_FIFO16
if {$tmpvar_29 == "16"} then {set CONFIG_GRETH_FIFO16 1} else {set CONFIG_GRETH_FIFO16 0}
global CONFIG_GRETH_FIFO32
if {$tmpvar_29 == "32"} then {set CONFIG_GRETH_FIFO32 1} else {set CONFIG_GRETH_FIFO32 0}
global CONFIG_GRETH_FIFO64
if {$tmpvar_29 == "64"} then {set CONFIG_GRETH_FIFO64 1} else {set CONFIG_GRETH_FIFO64 0}
}
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 \
"CAN " -relief raised
pack $w.m -pady 10 -side top -padx 10
wm title $w "CAN "
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 "Enable CAN interface " CONFIG_CAN_ENABLE
hex $w.config.f 20 1 "CAN I/O area start address (haddr\[19:8\]) " CONFIG_CANIO
int $w.config.f 20 2 "Interrupt number " CONFIG_CANIRQ
bool $w.config.f 20 3 "Enable loop-back testing " CONFIG_CANLOOP
bool $w.config.f 20 4 "Enable synchronous reset " CONFIG_CAN_SYNCRST
bool $w.config.f 20 5 "Enable FT FIFO memory " CONFIG_CAN_FT
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_CAN_ENABLE
global CONFIG_CANIO
if {($CONFIG_CAN_ENABLE == 1)} then {.menu20.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu20.config.f.x1.l configure -state normal; } else {.menu20.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu20.config.f.x1.l configure -state disabled}
global CONFIG_CANIRQ
if {($CONFIG_CAN_ENABLE == 1)} then {.menu20.config.f.x2.x configure -state normal -foreground [ cget .ref -foreground ]; .menu20.config.f.x2.l configure -state normal; } else {.menu20.config.f.x2.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu20.config.f.x2.l configure -state disabled}
global CONFIG_CANLOOP
if {($CONFIG_CAN_ENABLE == 1)} then {
configure_entry .menu20.config.f.x3 normal {n l y}} else {configure_entry .menu20.config.f.x3 disabled {y n l}}
global CONFIG_CAN_SYNCRST
if {($CONFIG_CAN_ENABLE == 1)} then {
configure_entry .menu20.config.f.x4 normal {n l y}} else {configure_entry .menu20.config.f.x4 disabled {y n l}}
global CONFIG_CAN_FT
if {($CONFIG_CAN_ENABLE == 1)} then {
configure_entry .menu20.config.f.x5 normal {n l y}} else {configure_entry .menu20.config.f.x5 disabled {y n l}}
}
proc update_define_menu20 {} {
update_define_mainmenu
global CONFIG_MODULES
global CONFIG_CAN_ENABLE
global CONFIG_CANIO
if {($CONFIG_CAN_ENABLE == 1)} then {validate_hex CONFIG_CANIO "$CONFIG_CANIO" C00}
global CONFIG_CANIRQ
if {($CONFIG_CAN_ENABLE == 1)} then {validate_int CONFIG_CANIRQ "$CONFIG_CANIRQ" 13}
global CONFIG_CANLOOP
if {($CONFIG_CAN_ENABLE == 1)} then {
set CONFIG_CANLOOP [expr $CONFIG_CANLOOP&15]} else {set CONFIG_CANLOOP [expr $CONFIG_CANLOOP|16]}
global CONFIG_CAN_SYNCRST
if {($CONFIG_CAN_ENABLE == 1)} then {
set CONFIG_CAN_SYNCRST [expr $CONFIG_CAN_SYNCRST&15]} else {set CONFIG_CAN_SYNCRST [expr $CONFIG_CAN_SYNCRST|16]}
global CONFIG_CAN_FT
if {($CONFIG_CAN_ENABLE == 1)} then {
set CONFIG_CAN_FT [expr $CONFIG_CAN_FT&15]} else {set CONFIG_CAN_FT [expr $CONFIG_CAN_FT|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 \
"PCI " -relief raised
pack $w.m -pady 10 -side top -padx 10
wm title $w "PCI "
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 21; break"
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 21; 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
bool $w.config.f 21 0 "PCI interface, target-only " CONFIG_PCI_SIMPLE_TARGET
bool $w.config.f 21 1 "PCI interface, master-target " CONFIG_PCI_MASTER_TARGET
bool $w.config.f 21 2 "PCI DMA controller " CONFIG_PCI_MASTER_TARGET_DMA
hex $w.config.f 21 3 "PCI vendor ID" CONFIG_PCI_VENDORID
hex $w.config.f 21 4 "PCI device ID" CONFIG_PCI_DEVICEID
global tmpvar_30
minimenu $w.config.f 21 5 "PCI FIFO depth" tmpvar_30 CONFIG_PCI_FIFO0
menu $w.config.f.x5.x.menu -tearoffcommand "menutitle \"PCI FIFO depth\""
$w.config.f.x5.x.menu add radiobutton -label "None" -variable tmpvar_30 -value "None" -command "update_active"
$w.config.f.x5.x.menu add radiobutton -label "8" -variable tmpvar_30 -value "8" -command "update_active"
$w.config.f.x5.x.menu add radiobutton -label "16" -variable tmpvar_30 -value "16" -command "update_active"
$w.config.f.x5.x.menu add radiobutton -label "32" -variable tmpvar_30 -value "32" -command "update_active"
$w.config.f.x5.x.menu add radiobutton -label "64" -variable tmpvar_30 -value "64" -command "update_active"
$w.config.f.x5.x.menu add radiobutton -label "128" -variable tmpvar_30 -value "128" -command "update_active"
menusplit $w $w.config.f.x5.x.menu 6
hex $w.config.f 21 6 "PCI initiator address (haddr\[31:20\]) " CONFIG_PCI_HADDR
bool $w.config.f 21 7 "PCI arbiter " CONFIG_PCI_ARBITER
bool $w.config.f 21 8 "PCI arbiter APB interface " CONFIG_PCI_ARBITER_APB
int $w.config.f 21 9 "Number of PCI REQ/GNT pairs" CONFIG_PCI_ARBITER_NREQ
bool $w.config.f 21 10 "Enable PCI trace buffer " CONFIG_PCI_TRACE
global tmpvar_31
minimenu $w.config.f 21 11 "PCI trace buffer depth" tmpvar_31 CONFIG_PCI_TRACE256
menu $w.config.f.x11.x.menu -tearoffcommand "menutitle \"PCI trace buffer depth\""
$w.config.f.x11.x.menu add radiobutton -label "256" -variable tmpvar_31 -value "256" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "512" -variable tmpvar_31 -value "512" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "1024" -variable tmpvar_31 -value "1024" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "2048" -variable tmpvar_31 -value "2048" -command "update_active"
$w.config.f.x11.x.menu add radiobutton -label "4096" -variable tmpvar_31 -value "4096" -command "update_active"
menusplit $w $w.config.f.x11.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_menu21 {} {
global CONFIG_PCI_ACTEL
global CONFIG_PCI_SIMPLE_TARGET
if {($CONFIG_PCI_ACTEL != 1)} then {
configure_entry .menu21.config.f.x0 normal {n l y}} else {configure_entry .menu21.config.f.x0 disabled {y n l}}
global CONFIG_PCI_MASTER_TARGET
if {($CONFIG_PCI_SIMPLE_TARGET != 1 && $CONFIG_PCI_ACTEL != 1)} then {
configure_entry .menu21.config.f.x1 normal {n l y}} else {configure_entry .menu21.config.f.x1 disabled {y n l}}
global CONFIG_PCI_MASTER_TARGET_DMA
if {($CONFIG_PCI_MASTER_TARGET == 1)} then {
configure_entry .menu21.config.f.x2 normal {n l y}} else {configure_entry .menu21.config.f.x2 disabled {y n l}}
global CONFIG_PCI_VENDORID
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {.menu21.config.f.x3.x configure -state normal -foreground [ cget .ref -foreground ]; .menu21.config.f.x3.l configure -state normal; } else {.menu21.config.f.x3.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu21.config.f.x3.l configure -state disabled}
global CONFIG_PCI_DEVICEID
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {.menu21.config.f.x4.x configure -state normal -foreground [ cget .ref -foreground ]; .menu21.config.f.x4.l configure -state normal; } else {.menu21.config.f.x4.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu21.config.f.x4.l configure -state disabled}
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1) && ($CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {configure_entry .menu21.config.f.x5 normal {x l}} else {configure_entry .menu21.config.f.x5 disabled {x l}}
global CONFIG_PCI_HADDR
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1) && ($CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {.menu21.config.f.x6.x configure -state normal -foreground [ cget .ref -foreground ]; .menu21.config.f.x6.l configure -state normal; } else {.menu21.config.f.x6.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu21.config.f.x6.l configure -state disabled}
global CONFIG_PCI_ARBITER
global CONFIG_PCI_ARBITER_APB
if {($CONFIG_PCI_ARBITER == 1)} then {
configure_entry .menu21.config.f.x8 normal {n l y}} else {configure_entry .menu21.config.f.x8 disabled {y n l}}
global CONFIG_PCI_ARBITER_NREQ
if {($CONFIG_PCI_ARBITER == 1)} then {.menu21.config.f.x9.x configure -state normal -foreground [ cget .ref -foreground ]; .menu21.config.f.x9.l configure -state normal; } else {.menu21.config.f.x9.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu21.config.f.x9.l configure -state disabled}
global CONFIG_PCI_TRACE
if {($CONFIG_PCI_TRACE == 1)} then {configure_entry .menu21.config.f.x11 normal {x l}} else {configure_entry .menu21.config.f.x11 disabled {x l}}
}
proc update_define_menu21 {} {
update_define_mainmenu
global CONFIG_MODULES
global CONFIG_PCI_ACTEL
global CONFIG_PCI_SIMPLE_TARGET
if {($CONFIG_PCI_ACTEL != 1)} then {
set CONFIG_PCI_SIMPLE_TARGET [expr $CONFIG_PCI_SIMPLE_TARGET&15]} else {set CONFIG_PCI_SIMPLE_TARGET [expr $CONFIG_PCI_SIMPLE_TARGET|16]}
global CONFIG_PCI_MASTER_TARGET
if {($CONFIG_PCI_SIMPLE_TARGET != 1 && $CONFIG_PCI_ACTEL != 1)} then {
set CONFIG_PCI_MASTER_TARGET [expr $CONFIG_PCI_MASTER_TARGET&15]} else {set CONFIG_PCI_MASTER_TARGET [expr $CONFIG_PCI_MASTER_TARGET|16]}
global CONFIG_PCI_MASTER_TARGET_DMA
if {($CONFIG_PCI_MASTER_TARGET == 1)} then {
set CONFIG_PCI_MASTER_TARGET_DMA [expr $CONFIG_PCI_MASTER_TARGET_DMA&15]} else {set CONFIG_PCI_MASTER_TARGET_DMA [expr $CONFIG_PCI_MASTER_TARGET_DMA|16]}
global CONFIG_PCI_VENDORID
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {validate_hex CONFIG_PCI_VENDORID "$CONFIG_PCI_VENDORID" 1AC8}
global CONFIG_PCI_DEVICEID
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {validate_hex CONFIG_PCI_DEVICEID "$CONFIG_PCI_DEVICEID" 0054}
global tmpvar_30
global CONFIG_PCI_FIFO0
if {$tmpvar_30 == "None"} then {set CONFIG_PCI_FIFO0 1} else {set CONFIG_PCI_FIFO0 0}
global CONFIG_PCI_FIFO8
if {$tmpvar_30 == "8"} then {set CONFIG_PCI_FIFO8 1} else {set CONFIG_PCI_FIFO8 0}
global CONFIG_PCI_FIFO16
if {$tmpvar_30 == "16"} then {set CONFIG_PCI_FIFO16 1} else {set CONFIG_PCI_FIFO16 0}
global CONFIG_PCI_FIFO32
if {$tmpvar_30 == "32"} then {set CONFIG_PCI_FIFO32 1} else {set CONFIG_PCI_FIFO32 0}
global CONFIG_PCI_FIFO64
if {$tmpvar_30 == "64"} then {set CONFIG_PCI_FIFO64 1} else {set CONFIG_PCI_FIFO64 0}
global CONFIG_PCI_FIFO128
if {$tmpvar_30 == "128"} then {set CONFIG_PCI_FIFO128 1} else {set CONFIG_PCI_FIFO128 0}
global CONFIG_PCI_HADDR
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1) && ($CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {validate_hex CONFIG_PCI_HADDR "$CONFIG_PCI_HADDR" E00}
global CONFIG_PCI_ARBITER
global CONFIG_PCI_ARBITER_APB
if {($CONFIG_PCI_ARBITER == 1)} then {
set CONFIG_PCI_ARBITER_APB [expr $CONFIG_PCI_ARBITER_APB&15]} else {set CONFIG_PCI_ARBITER_APB [expr $CONFIG_PCI_ARBITER_APB|16]}
global CONFIG_PCI_ARBITER_NREQ
if {($CONFIG_PCI_ARBITER == 1)} then {validate_int CONFIG_PCI_ARBITER_NREQ "$CONFIG_PCI_ARBITER_NREQ" 4}
global tmpvar_31
global CONFIG_PCI_TRACE256
if {$tmpvar_31 == "256"} then {set CONFIG_PCI_TRACE256 1} else {set CONFIG_PCI_TRACE256 0}
global CONFIG_PCI_TRACE512
if {$tmpvar_31 == "512"} then {set CONFIG_PCI_TRACE512 1} else {set CONFIG_PCI_TRACE512 0}
global CONFIG_PCI_TRACE1024
if {$tmpvar_31 == "1024"} then {set CONFIG_PCI_TRACE1024 1} else {set CONFIG_PCI_TRACE1024 0}
global CONFIG_PCI_TRACE2048
if {$tmpvar_31 == "2048"} then {set CONFIG_PCI_TRACE2048 1} else {set CONFIG_PCI_TRACE2048 0}
global CONFIG_PCI_TRACE4096
if {$tmpvar_31 == "4096"} then {set CONFIG_PCI_TRACE4096 1} else {set CONFIG_PCI_TRACE4096 0}
}
proc menu22 {w title} {
set oldFocus [focus]
catch {focus .menu13}
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 \
"Spacewire " -relief raised
pack $w.m -pady 10 -side top -padx 10
wm title $w "Spacewire "
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 Spacewire links " CONFIG_SPW_ENABLE
int $w.config.f 22 1 "Number of links (1 - 3)" CONFIG_SPW_NUM
global tmpvar_32
minimenu $w.config.f 22 2 "AHB RX/TX FIFO size (32-bit words) " tmpvar_32 CONFIG_SPW_AHBFIFO4
menu $w.config.f.x2.x.menu -tearoffcommand "menutitle \"AHB RX/TX FIFO size (32-bit words) \""
$w.config.f.x2.x.menu add radiobutton -label "4" -variable tmpvar_32 -value "4" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "8" -variable tmpvar_32 -value "8" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "16" -variable tmpvar_32 -value "16" -command "update_active"
$w.config.f.x2.x.menu add radiobutton -label "32" -variable tmpvar_32 -value "32" -command "update_active"
menusplit $w $w.config.f.x2.x.menu 4
global tmpvar_33
minimenu $w.config.f 22 3 "Receiver FIFO size (bytes) " tmpvar_33 CONFIG_SPW_RXFIFO16
menu $w.config.f.x3.x.menu -tearoffcommand "menutitle \"Receiver FIFO size (bytes) \""
$w.config.f.x3.x.menu add radiobutton -label "16" -variable tmpvar_33 -value "16" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "32" -variable tmpvar_33 -value "32" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "64" -variable tmpvar_33 -value "64" -command "update_active"
menusplit $w $w.config.f.x3.x.menu 3
bool $w.config.f 22 4 "Enable RMAP protocol " CONFIG_SPW_RMAP
global tmpvar_34
minimenu $w.config.f 22 5 "RMAP buffer size (bytes) " tmpvar_34 CONFIG_SPW_RMAPBUF2
menu $w.config.f.x5.x.menu -tearoffcommand "menutitle \"RMAP buffer size (bytes) \""
$w.config.f.x5.x.menu add radiobutton -label "64" -variable tmpvar_34 -value "64" -command "update_active"
$w.config.f.x5.x.menu add radiobutton -label "128" -variable tmpvar_34 -value "128" -command "update_active"
$w.config.f.x5.x.menu add radiobutton -label "192" -variable tmpvar_34 -value "192" -command "update_active"
$w.config.f.x5.x.menu add radiobutton -label "256" -variable tmpvar_34 -value "256" -command "update_active"
menusplit $w $w.config.f.x5.x.menu 4
bool $w.config.f 22 6 "Enable RMAP CRC check " CONFIG_SPW_RMAPCRC
bool $w.config.f 22 7 "Enable Rx unaligned transfers " CONFIG_SPW_RXUNAL
bool $w.config.f 22 8 "Spacewire FIFO protection " CONFIG_SPW_FT
bool $w.config.f 22 9 "Use GRSPWC netlist " CONFIG_SPW_NETLIST
global tmpvar_35
minimenu $w.config.f 22 10 "Select GRSPW core (GRSPW1/GRSPW2) " tmpvar_35 CONFIG_SPW_GRSPW1
menu $w.config.f.x10.x.menu -tearoffcommand "menutitle \"Select GRSPW core (GRSPW1/GRSPW2) \""
$w.config.f.x10.x.menu add radiobutton -label "1" -variable tmpvar_35 -value "1" -command "update_active"
$w.config.f.x10.x.menu add radiobutton -label "2" -variable tmpvar_35 -value "2" -command "update_active"
menusplit $w $w.config.f.x10.x.menu 2
int $w.config.f 22 11 "Number of DMA channels (1 - 4)" CONFIG_SPW_DMACHAN
int $w.config.f 22 12 "Number of ports (1 - 2)" CONFIG_SPW_PORTS
bool $w.config.f 22 13 "Receiver and transmitter uses same clock " CONFIG_SPW_RTSAME
global tmpvar_36
minimenu $w.config.f 22 14 "Select receiver clock type " tmpvar_36 CONFIG_SPW_RX_SDR
menu $w.config.f.x14.x.menu -tearoffcommand "menutitle \"Select receiver clock type \""
$w.config.f.x14.x.menu add radiobutton -label "SDR" -variable tmpvar_36 -value "SDR" -command "update_active"
$w.config.f.x14.x.menu add radiobutton -label "DDR" -variable tmpvar_36 -value "DDR" -command "update_active"
$w.config.f.x14.x.menu add radiobutton -label "Xor" -variable tmpvar_36 -value "Xor" -command "update_active"
$w.config.f.x14.x.menu add radiobutton -label "Aeroflex" -variable tmpvar_36 -value "Aeroflex" -command "update_active"
menusplit $w $w.config.f.x14.x.menu 4
global tmpvar_37
minimenu $w.config.f 22 15 "Select transmitter clock type " tmpvar_37 CONFIG_SPW_TX_SDR
menu $w.config.f.x15.x.menu -tearoffcommand "menutitle \"Select transmitter clock type \""
$w.config.f.x15.x.menu add radiobutton -label "SDR" -variable tmpvar_37 -value "SDR" -command "update_active"
$w.config.f.x15.x.menu add radiobutton -label "DDR" -variable tmpvar_37 -value "DDR" -command "update_active"
$w.config.f.x15.x.menu add radiobutton -label "Aeroflex" -variable tmpvar_37 -value "Aeroflex" -command "update_active"
menusplit $w $w.config.f.x15.x.menu 3
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_menu22 {} {
global CONFIG_SPW_ENABLE
global CONFIG_SPW_NUM
if {($CONFIG_SPW_ENABLE == 1)} then {.menu22.config.f.x1.x configure -state normal -foreground [ cget .ref -foreground ]; .menu22.config.f.x1.l configure -state normal; } else {.menu22.config.f.x1.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu22.config.f.x1.l configure -state disabled}
if {($CONFIG_SPW_ENABLE == 1)} then {configure_entry .menu22.config.f.x2 normal {x l}} else {configure_entry .menu22.config.f.x2 disabled {x l}}
if {($CONFIG_SPW_ENABLE == 1)} then {configure_entry .menu22.config.f.x3 normal {x l}} else {configure_entry .menu22.config.f.x3 disabled {x l}}
global CONFIG_SPW_RMAP
if {($CONFIG_SPW_ENABLE == 1)} then {
configure_entry .menu22.config.f.x4 normal {n l y}} else {configure_entry .menu22.config.f.x4 disabled {y n l}}
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_RMAP == 1)} then {configure_entry .menu22.config.f.x5 normal {x l}} else {configure_entry .menu22.config.f.x5 disabled {x l}}
global CONFIG_SPW_RMAPCRC
if {($CONFIG_SPW_ENABLE == 1)} then {
configure_entry .menu22.config.f.x6 normal {n l y}} else {configure_entry .menu22.config.f.x6 disabled {y n l}}
global CONFIG_SPW_RXUNAL
if {($CONFIG_SPW_ENABLE == 1)} then {
configure_entry .menu22.config.f.x7 normal {n l y}} else {configure_entry .menu22.config.f.x7 disabled {y n l}}
global CONFIG_SPW_FT
if {($CONFIG_SPW_ENABLE == 1)} then {
configure_entry .menu22.config.f.x8 normal {n l y}} else {configure_entry .menu22.config.f.x8 disabled {y n l}}
global CONFIG_SPW_NETLIST
if {($CONFIG_SPW_ENABLE == 1)} then {
configure_entry .menu22.config.f.x9 normal {n l y}} else {configure_entry .menu22.config.f.x9 disabled {y n l}}
if {($CONFIG_SPW_ENABLE == 1)} then {configure_entry .menu22.config.f.x10 normal {x l}} else {configure_entry .menu22.config.f.x10 disabled {x l}}
global CONFIG_SPW_GRSPW2
global CONFIG_SPW_DMACHAN
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {.menu22.config.f.x11.x configure -state normal -foreground [ cget .ref -foreground ]; .menu22.config.f.x11.l configure -state normal; } else {.menu22.config.f.x11.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu22.config.f.x11.l configure -state disabled}
global CONFIG_SPW_PORTS
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {.menu22.config.f.x12.x configure -state normal -foreground [ cget .ref -foreground ]; .menu22.config.f.x12.l configure -state normal; } else {.menu22.config.f.x12.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu22.config.f.x12.l configure -state disabled}
global CONFIG_SPW_RTSAME
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {
configure_entry .menu22.config.f.x13 normal {n l y}} else {configure_entry .menu22.config.f.x13 disabled {y n l}}
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {configure_entry .menu22.config.f.x14 normal {x l}} else {configure_entry .menu22.config.f.x14 disabled {x l}}
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {configure_entry .menu22.config.f.x15 normal {x l}} else {configure_entry .menu22.config.f.x15 disabled {x l}}
}
proc update_define_menu22 {} {
update_define_mainmenu
global CONFIG_MODULES
global CONFIG_SPW_ENABLE
global CONFIG_SPW_NUM
if {($CONFIG_SPW_ENABLE == 1)} then {validate_int CONFIG_SPW_NUM "$CONFIG_SPW_NUM" 1}
global tmpvar_32
global CONFIG_SPW_AHBFIFO4
if {$tmpvar_32 == "4"} then {set CONFIG_SPW_AHBFIFO4 1} else {set CONFIG_SPW_AHBFIFO4 0}
global CONFIG_SPW_AHBFIFO8
if {$tmpvar_32 == "8"} then {set CONFIG_SPW_AHBFIFO8 1} else {set CONFIG_SPW_AHBFIFO8 0}
global CONFIG_SPW_AHBFIFO16
if {$tmpvar_32 == "16"} then {set CONFIG_SPW_AHBFIFO16 1} else {set CONFIG_SPW_AHBFIFO16 0}
global CONFIG_SPW_AHBFIFO32
if {$tmpvar_32 == "32"} then {set CONFIG_SPW_AHBFIFO32 1} else {set CONFIG_SPW_AHBFIFO32 0}
global tmpvar_33
global CONFIG_SPW_RXFIFO16
if {$tmpvar_33 == "16"} then {set CONFIG_SPW_RXFIFO16 1} else {set CONFIG_SPW_RXFIFO16 0}
global CONFIG_SPW_RXFIFO32
if {$tmpvar_33 == "32"} then {set CONFIG_SPW_RXFIFO32 1} else {set CONFIG_SPW_RXFIFO32 0}
global CONFIG_SPW_RXFIFO64
if {$tmpvar_33 == "64"} then {set CONFIG_SPW_RXFIFO64 1} else {set CONFIG_SPW_RXFIFO64 0}
global CONFIG_SPW_RMAP
if {($CONFIG_SPW_ENABLE == 1)} then {
set CONFIG_SPW_RMAP [expr $CONFIG_SPW_RMAP&15]} else {set CONFIG_SPW_RMAP [expr $CONFIG_SPW_RMAP|16]}
global tmpvar_34
global CONFIG_SPW_RMAPBUF2
if {$tmpvar_34 == "64"} then {set CONFIG_SPW_RMAPBUF2 1} else {set CONFIG_SPW_RMAPBUF2 0}
global CONFIG_SPW_RMAPBUF4
if {$tmpvar_34 == "128"} then {set CONFIG_SPW_RMAPBUF4 1} else {set CONFIG_SPW_RMAPBUF4 0}
global CONFIG_SPW_RMAPBUF6
if {$tmpvar_34 == "192"} then {set CONFIG_SPW_RMAPBUF6 1} else {set CONFIG_SPW_RMAPBUF6 0}
global CONFIG_SPW_RMAPBUF8
if {$tmpvar_34 == "256"} then {set CONFIG_SPW_RMAPBUF8 1} else {set CONFIG_SPW_RMAPBUF8 0}
global CONFIG_SPW_RMAPCRC
if {($CONFIG_SPW_ENABLE == 1)} then {
set CONFIG_SPW_RMAPCRC [expr $CONFIG_SPW_RMAPCRC&15]} else {set CONFIG_SPW_RMAPCRC [expr $CONFIG_SPW_RMAPCRC|16]}
global CONFIG_SPW_RXUNAL
if {($CONFIG_SPW_ENABLE == 1)} then {
set CONFIG_SPW_RXUNAL [expr $CONFIG_SPW_RXUNAL&15]} else {set CONFIG_SPW_RXUNAL [expr $CONFIG_SPW_RXUNAL|16]}
global CONFIG_SPW_FT
if {($CONFIG_SPW_ENABLE == 1)} then {
set CONFIG_SPW_FT [expr $CONFIG_SPW_FT&15]} else {set CONFIG_SPW_FT [expr $CONFIG_SPW_FT|16]}
global CONFIG_SPW_NETLIST
if {($CONFIG_SPW_ENABLE == 1)} then {
set CONFIG_SPW_NETLIST [expr $CONFIG_SPW_NETLIST&15]} else {set CONFIG_SPW_NETLIST [expr $CONFIG_SPW_NETLIST|16]}
global tmpvar_35
global CONFIG_SPW_GRSPW1
if {$tmpvar_35 == "1"} then {set CONFIG_SPW_GRSPW1 1} else {set CONFIG_SPW_GRSPW1 0}
global CONFIG_SPW_GRSPW2
if {$tmpvar_35 == "2"} then {set CONFIG_SPW_GRSPW2 1} else {set CONFIG_SPW_GRSPW2 0}
global CONFIG_SPW_DMACHAN
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {validate_int CONFIG_SPW_DMACHAN "$CONFIG_SPW_DMACHAN" 1}
global CONFIG_SPW_PORTS
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {validate_int CONFIG_SPW_PORTS "$CONFIG_SPW_PORTS" 1}
global CONFIG_SPW_RTSAME
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {
set CONFIG_SPW_RTSAME [expr $CONFIG_SPW_RTSAME&15]} else {set CONFIG_SPW_RTSAME [expr $CONFIG_SPW_RTSAME|16]}
global tmpvar_36
global CONFIG_SPW_RX_SDR
if {$tmpvar_36 == "SDR"} then {set CONFIG_SPW_RX_SDR 1} else {set CONFIG_SPW_RX_SDR 0}
global CONFIG_SPW_RX_DDR
if {$tmpvar_36 == "DDR"} then {set CONFIG_SPW_RX_DDR 1} else {set CONFIG_SPW_RX_DDR 0}
global CONFIG_SPW_RX_XOR
if {$tmpvar_36 == "Xor"} then {set CONFIG_SPW_RX_XOR 1} else {set CONFIG_SPW_RX_XOR 0}
global CONFIG_SPW_RX_AFLEX
if {$tmpvar_36 == "Aeroflex"} then {set CONFIG_SPW_RX_AFLEX 1} else {set CONFIG_SPW_RX_AFLEX 0}
global tmpvar_37
global CONFIG_SPW_TX_SDR
if {$tmpvar_37 == "SDR"} then {set CONFIG_SPW_TX_SDR 1} else {set CONFIG_SPW_TX_SDR 0}
global CONFIG_SPW_TX_DDR
if {$tmpvar_37 == "DDR"} then {set CONFIG_SPW_TX_DDR 1} else {set CONFIG_SPW_TX_DDR 0}
global CONFIG_SPW_TX_AFLEX
if {$tmpvar_37 == "Aeroflex"} then {set CONFIG_SPW_TX_AFLEX 1} else {set CONFIG_SPW_TX_AFLEX 0}
}
proc menu23 {w title} {
set oldFocus [focus]
catch {focus .menu13}
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 \
"UARTs, timers and irq control " -relief raised
pack $w.m -pady 10 -side top -padx 10
wm title $w "UARTs, timers and irq control "
bind $w <Escape> "catch {focus $oldFocus}; destroy $w; unregister_active 23; break"
set nextscript "catch {focus $oldFocus}; destroy $w; unregister_active 23; 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 console UART " CONFIG_UART1_ENABLE
global tmpvar_38
minimenu $w.config.f 23 1 "UART1 FIFO depth" tmpvar_38 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_38 -value "1" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "2" -variable tmpvar_38 -value "2" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "4" -variable tmpvar_38 -value "4" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "8" -variable tmpvar_38 -value "8" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "16" -variable tmpvar_38 -value "16" -command "update_active"
$w.config.f.x1.x.menu add radiobutton -label "32" -variable tmpvar_38 -value "32" -command "update_active"
menusplit $w $w.config.f.x1.x.menu 6
bool $w.config.f 23 2 "Enable secondary UART " CONFIG_UART2_ENABLE
global tmpvar_39
minimenu $w.config.f 23 3 "UART2 FIFO depth" tmpvar_39 CONFIG_UA2_FIFO1
menu $w.config.f.x3.x.menu -tearoffcommand "menutitle \"UART2 FIFO depth\""
$w.config.f.x3.x.menu add radiobutton -label "1" -variable tmpvar_39 -value "1" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "2" -variable tmpvar_39 -value "2" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "4" -variable tmpvar_39 -value "4" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "8" -variable tmpvar_39 -value "8" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "16" -variable tmpvar_39 -value "16" -command "update_active"
$w.config.f.x3.x.menu add radiobutton -label "32" -variable tmpvar_39 -value "32" -command "update_active"
menusplit $w $w.config.f.x3.x.menu 6
bool $w.config.f 23 4 "Enable LEON3 interrupt controller " CONFIG_IRQ3_ENABLE
bool $w.config.f 23 5 "Enable secondary interrupts " CONFIG_IRQ3_SEC
int $w.config.f 23 6 "Secondary interrupt number (1 - 15) " CONFIG_IRQ3_NSEC
bool $w.config.f 23 7 "Enable Timer Unit " CONFIG_GPT_ENABLE
int $w.config.f 23 8 "Number of timers (1 - 7) " CONFIG_GPT_NTIM
int $w.config.f 23 9 "Scaler width (2 - 16) " CONFIG_GPT_SW
int $w.config.f 23 10 "Timer width (2 - 32) " CONFIG_GPT_TW
int $w.config.f 23 11 "Timer unit interrupt " CONFIG_GPT_IRQ
bool $w.config.f 23 12 "Separate interrupts " CONFIG_GPT_SEPIRQ
bool $w.config.f 23 13 "Watchdog enable " CONFIG_GPT_WDOGEN
hex $w.config.f 23 14 "Initial watchdog time-out value " CONFIG_GPT_WDOG
bool $w.config.f 23 15 "Enable generic GPIO port " CONFIG_GRGPIO_ENABLE
int $w.config.f 23 16 "GPIO width " CONFIG_GRGPIO_WIDTH
hex $w.config.f 23 17 "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_menu23 {} {
global CONFIG_UART1_ENABLE
if {($CONFIG_UART1_ENABLE == 1)} then {configure_entry .menu23.config.f.x1 normal {x l}} else {configure_entry .menu23.config.f.x1 disabled {x l}}
global CONFIG_UART2_ENABLE
if {($CONFIG_UART2_ENABLE == 1)} then {configure_entry .menu23.config.f.x3 normal {x l}} else {configure_entry .menu23.config.f.x3 disabled {x l}}
global CONFIG_IRQ3_ENABLE
global CONFIG_IRQ3_SEC
if {($CONFIG_IRQ3_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_IRQ3_NSEC
if {($CONFIG_IRQ3_ENABLE == 1) && ($CONFIG_IRQ3_SEC == 1)} then {.menu23.config.f.x6.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x6.l configure -state normal; } else {.menu23.config.f.x6.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x6.l configure -state disabled}
global CONFIG_GPT_ENABLE
global CONFIG_GPT_NTIM
if {($CONFIG_GPT_ENABLE == 1)} then {.menu23.config.f.x8.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x8.l configure -state normal; } else {.menu23.config.f.x8.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x8.l configure -state disabled}
global CONFIG_GPT_SW
if {($CONFIG_GPT_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_GPT_TW
if {($CONFIG_GPT_ENABLE == 1)} then {.menu23.config.f.x10.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x10.l configure -state normal; } else {.menu23.config.f.x10.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x10.l configure -state disabled}
global CONFIG_GPT_IRQ
if {($CONFIG_GPT_ENABLE == 1)} then {.menu23.config.f.x11.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x11.l configure -state normal; } else {.menu23.config.f.x11.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x11.l configure -state disabled}
global CONFIG_GPT_SEPIRQ
if {($CONFIG_GPT_ENABLE == 1)} then {
configure_entry .menu23.config.f.x12 normal {n l y}} else {configure_entry .menu23.config.f.x12 disabled {y n l}}
global CONFIG_GPT_WDOGEN
if {($CONFIG_GPT_ENABLE == 1)} then {
configure_entry .menu23.config.f.x13 normal {n l y}} else {configure_entry .menu23.config.f.x13 disabled {y n l}}
global CONFIG_GPT_WDOG
if {($CONFIG_GPT_ENABLE == 1) && ($CONFIG_GPT_WDOGEN == 1)} then {.menu23.config.f.x14.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x14.l configure -state normal; } else {.menu23.config.f.x14.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x14.l configure -state disabled}
global CONFIG_GRGPIO_ENABLE
global CONFIG_GRGPIO_WIDTH
if {($CONFIG_GRGPIO_ENABLE == 1)} then {.menu23.config.f.x16.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x16.l configure -state normal; } else {.menu23.config.f.x16.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x16.l configure -state disabled}
global CONFIG_GRGPIO_IMASK
if {($CONFIG_GRGPIO_ENABLE == 1)} then {.menu23.config.f.x17.x configure -state normal -foreground [ cget .ref -foreground ]; .menu23.config.f.x17.l configure -state normal; } else {.menu23.config.f.x17.x configure -state disabled -foreground [ cget .ref -disabledforeground ]; .menu23.config.f.x17.l configure -state disabled}
}
proc update_define_menu23 {} {
update_define_mainmenu
global CONFIG_MODULES
global tmpvar_38
global CONFIG_UA1_FIFO1
if {$tmpvar_38 == "1"} then {set CONFIG_UA1_FIFO1 1} else {set CONFIG_UA1_FIFO1 0}
global CONFIG_UA1_FIFO2
if {$tmpvar_38 == "2"} then {set CONFIG_UA1_FIFO2 1} else {set CONFIG_UA1_FIFO2 0}
global CONFIG_UA1_FIFO4
if {$tmpvar_38 == "4"} then {set CONFIG_UA1_FIFO4 1} else {set CONFIG_UA1_FIFO4 0}
global CONFIG_UA1_FIFO8
if {$tmpvar_38 == "8"} then {set CONFIG_UA1_FIFO8 1} else {set CONFIG_UA1_FIFO8 0}
global CONFIG_UA1_FIFO16
if {$tmpvar_38 == "16"} then {set CONFIG_UA1_FIFO16 1} else {set CONFIG_UA1_FIFO16 0}
global CONFIG_UA1_FIFO32
if {$tmpvar_38 == "32"} then {set CONFIG_UA1_FIFO32 1} else {set CONFIG_UA1_FIFO32 0}
global tmpvar_39
global CONFIG_UA2_FIFO1
if {$tmpvar_39 == "1"} then {set CONFIG_UA2_FIFO1 1} else {set CONFIG_UA2_FIFO1 0}
global CONFIG_UA2_FIFO2
if {$tmpvar_39 == "2"} then {set CONFIG_UA2_FIFO2 1} else {set CONFIG_UA2_FIFO2 0}
global CONFIG_UA2_FIFO4
if {$tmpvar_39 == "4"} then {set CONFIG_UA2_FIFO4 1} else {set CONFIG_UA2_FIFO4 0}
global CONFIG_UA2_FIFO8
if {$tmpvar_39 == "8"} then {set CONFIG_UA2_FIFO8 1} else {set CONFIG_UA2_FIFO8 0}
global CONFIG_UA2_FIFO16
if {$tmpvar_39 == "16"} then {set CONFIG_UA2_FIFO16 1} else {set CONFIG_UA2_FIFO16 0}
global CONFIG_UA2_FIFO32
if {$tmpvar_39 == "32"} then {set CONFIG_UA2_FIFO32 1} else {set CONFIG_UA2_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}
}
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_PROASIC 0
set CONFIG_SYN_PROASICPLUS 0
set CONFIG_SYN_PROASIC3 0
set CONFIG_SYN_UT025CRH 0
set CONFIG_SYN_ATC18 0
set CONFIG_SYN_ATC18RHA 0
set CONFIG_SYN_CUSTOM1 0
set CONFIG_SYN_EASIC90 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_SPARTAN2 0
set CONFIG_SYN_SPARTAN3 0
set CONFIG_SYN_SPARTAN3E 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_UMC 0
set CONFIG_SYN_TSMC90 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_ALTDLL 0
set CONFIG_CLK_LATDLL 0
set CONFIG_CLK_PRO3PLL 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 2
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 CONFIG_IU_SVT 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_4 "(not set)"
set CONFIG_FPU_GRFPU 0
set CONFIG_FPU_GRFPULITE 0
set CONFIG_FPU_MEIKO 0
set tmpvar_5 "(not set)"
set CONFIG_FPU_GRFPU_INFMUL 0
set CONFIG_FPU_GRFPU_DWMUL 0
set CONFIG_FPU_GRFPU_MODGEN 0
set tmpvar_6 "(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_7 "(not set)"
set CONFIG_ICACHE_ASSO1 0
set CONFIG_ICACHE_ASSO2 0
set CONFIG_ICACHE_ASSO3 0
set CONFIG_ICACHE_ASSO4 0
set tmpvar_8 "(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_9 "(not set)"
set CONFIG_ICACHE_LZ16 0
set CONFIG_ICACHE_LZ32 0
set tmpvar_10 "(not set)"
set CONFIG_ICACHE_ALGORND 0
set CONFIG_ICACHE_ALGOLRR 0
set CONFIG_ICACHE_ALGOLRU 0
set CONFIG_ICACHE_LOCK 0
set CONFIG_ICACHE_LRAM 0
set tmpvar_11 "(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_12 "(not set)"
set CONFIG_DCACHE_ASSO1 0
set CONFIG_DCACHE_ASSO2 0
set CONFIG_DCACHE_ASSO3 0
set CONFIG_DCACHE_ASSO4 0
set tmpvar_13 "(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_14 "(not set)"
set CONFIG_DCACHE_LZ16 0
set CONFIG_DCACHE_LZ32 0
set tmpvar_15 "(not set)"
set CONFIG_DCACHE_ALGORND 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_16 "(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_17 "(not set)"
set CONFIG_MMU_COMBINED 0
set CONFIG_MMU_SPLIT 0
set tmpvar_18 "(not set)"
set CONFIG_MMU_REPARRAY 0
set CONFIG_MMU_REPINCREMENT 0
set tmpvar_19 "(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_20 "(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_21 "(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_22 "(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_23 "(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_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_DSU_UART 0
set CONFIG_DSU_JTAG 0
set CONFIG_DSU_ETH 0
set tmpvar_25 "(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_SRCTRL 0
set CONFIG_SRCTRL_8BIT 0
set CONFIG_SRCTRL_PROMWS 3
set CONFIG_SRCTRL_RAMWS 0
set CONFIG_SRCTRL_IOWS 0
set CONFIG_SRCTRL_RMW 0
set tmpvar_26 "(not set)"
set CONFIG_SRCTRL_SRBANKS1 0
set CONFIG_SRCTRL_SRBANKS2 0
set CONFIG_SRCTRL_SRBANKS3 0
set CONFIG_SRCTRL_SRBANKS4 0
set CONFIG_SRCTRL_SRBANKS5 0
set tmpvar_27 "(not set)"
set CONFIG_SRCTRL_BANKSZ0 0
set CONFIG_SRCTRL_BANKSZ1 0
set CONFIG_SRCTRL_BANKSZ2 0
set CONFIG_SRCTRL_BANKSZ3 0
set CONFIG_SRCTRL_BANKSZ4 0
set CONFIG_SRCTRL_BANKSZ5 0
set CONFIG_SRCTRL_BANKSZ6 0
set CONFIG_SRCTRL_BANKSZ7 0
set CONFIG_SRCTRL_BANKSZ8 0
set CONFIG_SRCTRL_BANKSZ9 0
set CONFIG_SRCTRL_BANKSZ10 0
set CONFIG_SRCTRL_BANKSZ11 0
set CONFIG_SRCTRL_BANKSZ12 0
set CONFIG_SRCTRL_BANKSZ13 0
set CONFIG_SRCTRL_ROMASEL 19
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_SDCTRL 0
set CONFIG_SDCTRL_BUS64 0
set CONFIG_SDCTRL_INVCLK 0
set CONFIG_SDCTRL_PAGE 0
set CONFIG_SDCTRL_PROGPAGE 0
set CONFIG_AHBROM_ENABLE 0
set CONFIG_AHBROM_START 000
set CONFIG_AHBROM_PIPE 0
set CONFIG_AHBRAM_ENABLE 0
set tmpvar_28 "(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_29 "(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_CAN_ENABLE 0
set CONFIG_CANIO C00
set CONFIG_CANIRQ 13
set CONFIG_CANLOOP 0
set CONFIG_CAN_SYNCRST 0
set CONFIG_CAN_FT 0
set CONFIG_PCI_SIMPLE_TARGET 0
set CONFIG_PCI_MASTER_TARGET 0
set CONFIG_PCI_MASTER_TARGET_DMA 0
set CONFIG_PCI_VENDORID 1AC8
set CONFIG_PCI_DEVICEID 0054
set tmpvar_30 "(not set)"
set CONFIG_PCI_FIFO0 0
set CONFIG_PCI_FIFO8 0
set CONFIG_PCI_FIFO16 0
set CONFIG_PCI_FIFO32 0
set CONFIG_PCI_FIFO64 0
set CONFIG_PCI_FIFO128 0
set CONFIG_PCI_HADDR E00
set CONFIG_PCI_ARBITER 0
set CONFIG_PCI_ARBITER_APB 0
set CONFIG_PCI_ARBITER_NREQ 4
set CONFIG_PCI_TRACE 0
set tmpvar_31 "(not set)"
set CONFIG_PCI_TRACE256 0
set CONFIG_PCI_TRACE512 0
set CONFIG_PCI_TRACE1024 0
set CONFIG_PCI_TRACE2048 0
set CONFIG_PCI_TRACE4096 0
set CONFIG_SPW_ENABLE 0
set CONFIG_SPW_NUM 1
set tmpvar_32 "(not set)"
set CONFIG_SPW_AHBFIFO4 0
set CONFIG_SPW_AHBFIFO8 0
set CONFIG_SPW_AHBFIFO16 0
set CONFIG_SPW_AHBFIFO32 0
set tmpvar_33 "(not set)"
set CONFIG_SPW_RXFIFO16 0
set CONFIG_SPW_RXFIFO32 0
set CONFIG_SPW_RXFIFO64 0
set CONFIG_SPW_RMAP 0
set tmpvar_34 "(not set)"
set CONFIG_SPW_RMAPBUF2 0
set CONFIG_SPW_RMAPBUF4 0
set CONFIG_SPW_RMAPBUF6 0
set CONFIG_SPW_RMAPBUF8 0
set CONFIG_SPW_RMAPCRC 0
set CONFIG_SPW_RXUNAL 0
set CONFIG_SPW_FT 0
set CONFIG_SPW_NETLIST 0
set tmpvar_35 "(not set)"
set CONFIG_SPW_GRSPW1 0
set CONFIG_SPW_GRSPW2 0
set CONFIG_SPW_DMACHAN 1
set CONFIG_SPW_PORTS 1
set CONFIG_SPW_RTSAME 0
set tmpvar_36 "(not set)"
set CONFIG_SPW_RX_SDR 0
set CONFIG_SPW_RX_DDR 0
set CONFIG_SPW_RX_XOR 0
set CONFIG_SPW_RX_AFLEX 0
set tmpvar_37 "(not set)"
set CONFIG_SPW_TX_SDR 0
set CONFIG_SPW_TX_DDR 0
set CONFIG_SPW_TX_AFLEX 0
set CONFIG_UART1_ENABLE 0
set tmpvar_38 "(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_UART2_ENABLE 0
set tmpvar_39 "(not set)"
set CONFIG_UA2_FIFO1 0
set CONFIG_UA2_FIFO2 0
set CONFIG_UA2_FIFO4 0
set CONFIG_UA2_FIFO8 0
set CONFIG_UA2_FIFO16 0
set CONFIG_UA2_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_DEBUG_UART 0
set CONFIG_SYN_ARTISAN 4
set CONFIG_PCI_ENABLE 4
set CONFIG_HAS_SHARED_GRFPU 4
set CONFIG_FPU_GRFPU_SH 4
set CONFIG_LEON3FT_PRESENT 4
set CONFIG_LEON3FT_EN 4
set CONFIG_IUFT_NONE 4
set CONFIG_IUFT_PAR 4
set CONFIG_IUFT_DMR 4
set CONFIG_IUFT_BCH 4
set CONFIG_IUFT_TMR 4
set CONFIG_FPUFT_EN 4
set CONFIG_RF_ERRINJ 4
set CONFIG_CACHE_FT_EN 4
set CONFIG_CACHE_ERRINJ 4
set CONFIG_LEON3_NETLIST 4
set CONFIG_PCI_ACTEL 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"
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-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 == "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 == "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 == "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 == "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 == "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-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 == "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 == "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 }
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 == "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-PLLL" } 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 == "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_CLKDLL
global CONFIG_CLK_LIB18T
if {($CONFIG_CLK_DCM == 1 || $CONFIG_CLK_ALTDLL == 1 || $CONFIG_CLK_LATDLL == 1 || $CONFIG_CLK_PRO3PLL == 1 || $CONFIG_CLK_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 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_CLKDLL == 1 || $CONFIG_CLK_LIB18T == 1)} then {write_int $cfg $autocfg CONFIG_CLK_DIV $CONFIG_CLK_DIV $notmod }
global CONFIG_OCLK_DIV
if {($CONFIG_CLK_PRO3PLL == 1)} then {write_int $cfg $autocfg CONFIG_OCLK_DIV $CONFIG_OCLK_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 CONFIG_IU_SVT
if {($CONFIG_LEON3 == 1)} then {write_tristate $cfg $autocfg CONFIG_IU_SVT $CONFIG_IU_SVT [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_4
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1)} then {
if { $tmpvar_4 == "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_4 == "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_4 == "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_5
global CONFIG_FPU_GRFPU
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_FPU_GRFPU == 1)} then {
if { $tmpvar_5 == "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_5 == "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_5 == "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 }}
global tmpvar_6
global CONFIG_FPU_GRFPULITE
if {($CONFIG_LEON3 == 1) && ($CONFIG_FPU_ENABLE == 1) && ($CONFIG_FPU_GRFPULITE == 1)} then {
if { $tmpvar_6 == "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_6 == "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_6 == "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_7
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then {
if { $tmpvar_7 == "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_7 == "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_7 == "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_7 == "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_8
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then {
if { $tmpvar_8 == "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_8 == "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_8 == "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_8 == "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_8 == "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_8 == "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_8 == "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_8 == "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_8 == "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_9
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1)} then {
if { $tmpvar_9 == "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_9 == "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_10
global CONFIG_ICACHE_ASSO1
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_ENABLE == 1) && ($CONFIG_ICACHE_ASSO1 != 1)} then {
if { $tmpvar_10 == "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_10 == "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_10 == "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_11
if {($CONFIG_LEON3 == 1) && ($CONFIG_ICACHE_LRAM == 1)} then {
if { $tmpvar_11 == "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_11 == "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_11 == "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_11 == "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_11 == "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_11 == "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_11 == "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_11 == "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_11 == "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_12
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then {
if { $tmpvar_12 == "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_12 == "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_12 == "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_12 == "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_13
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then {
if { $tmpvar_13 == "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_13 == "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_13 == "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_13 == "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_13 == "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_13 == "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_13 == "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_13 == "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_13 == "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_14
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1)} then {
if { $tmpvar_14 == "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_14 == "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_15
global CONFIG_DCACHE_ASSO1
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_ENABLE == 1) && ($CONFIG_DCACHE_ASSO1 != 1)} then {
if { $tmpvar_15 == "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_15 == "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_15 == "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_16
if {($CONFIG_LEON3 == 1) && ($CONFIG_DCACHE_LRAM == 1)} then {
if { $tmpvar_16 == "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_16 == "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_16 == "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_16 == "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_16 == "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_16 == "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_16 == "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_16 == "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_16 == "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_17
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then {
if { $tmpvar_17 == "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_17 == "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_18
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then {
if { $tmpvar_18 == "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_18 == "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_19
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then {
if { $tmpvar_19 == "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_19 == "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_19 == "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_19 == "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_19 == "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_20
global CONFIG_MMU_SPLIT
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1) && ($CONFIG_MMU_SPLIT == 1)} then {
if { $tmpvar_20 == "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_20 == "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_20 == "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_20 == "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_20 == "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_21
if {($CONFIG_LEON3 == 1) && ($CONFIG_MMU_ENABLE == 1)} then {
if { $tmpvar_21 == "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_21 == "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_21 == "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_21 == "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_21 == "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_22
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1) && ($CONFIG_DSU_ITRACE == 1)} then {
if { $tmpvar_22 == "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_22 == "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_22 == "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_22 == "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_22 == "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_23
if {($CONFIG_LEON3 == 1) && ($CONFIG_DSU_ENABLE == 1) && ($CONFIG_DSU_ATRACE == 1)} then {
if { $tmpvar_23 == "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_23 == "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_23 == "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_23 == "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_23 == "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 "}
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 }
write_comment $cfg $autocfg "Debug Link "
global CONFIG_DSU_UART
write_tristate $cfg $autocfg CONFIG_DSU_UART $CONFIG_DSU_UART [list $notmod] 2
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_25
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_DSU_ETH == 1)} then {
if { $tmpvar_25 == "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_25 == "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_25 == "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_25 == "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_25 == "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 }
write_comment $cfg $autocfg "Peripherals "
write_comment $cfg $autocfg "Memory controllers "
write_comment $cfg $autocfg "8/32-bit PROM/SRAM controller "
global CONFIG_SRCTRL
write_tristate $cfg $autocfg CONFIG_SRCTRL $CONFIG_SRCTRL [list $notmod] 2
global CONFIG_SRCTRL_8BIT
if {($CONFIG_SRCTRL == 1)} then {write_tristate $cfg $autocfg CONFIG_SRCTRL_8BIT $CONFIG_SRCTRL_8BIT [list $notmod] 2 }
global CONFIG_SRCTRL_PROMWS
if {($CONFIG_SRCTRL == 1)} then {write_int $cfg $autocfg CONFIG_SRCTRL_PROMWS $CONFIG_SRCTRL_PROMWS $notmod }
global CONFIG_SRCTRL_RAMWS
if {($CONFIG_SRCTRL == 1)} then {write_int $cfg $autocfg CONFIG_SRCTRL_RAMWS $CONFIG_SRCTRL_RAMWS $notmod }
global CONFIG_SRCTRL_IOWS
if {($CONFIG_SRCTRL == 1)} then {write_int $cfg $autocfg CONFIG_SRCTRL_IOWS $CONFIG_SRCTRL_IOWS $notmod }
global CONFIG_SRCTRL_RMW
if {($CONFIG_SRCTRL == 1)} then {write_tristate $cfg $autocfg CONFIG_SRCTRL_RMW $CONFIG_SRCTRL_RMW [list $notmod] 2 }
global tmpvar_26
if {($CONFIG_SRCTRL == 1)} then {
if { $tmpvar_26 == "1" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS1 0 [list $notmod] 2 }
if { $tmpvar_26 == "2" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS2 0 [list $notmod] 2 }
if { $tmpvar_26 == "3" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS3 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS3 0 [list $notmod] 2 }
if { $tmpvar_26 == "4" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS4 0 [list $notmod] 2 }
if { $tmpvar_26 == "5" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS5 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_SRBANKS5 0 [list $notmod] 2 }}
global tmpvar_27
if {($CONFIG_SRCTRL == 1)} then {
if { $tmpvar_27 == "8" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ0 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ0 0 [list $notmod] 2 }
if { $tmpvar_27 == "16" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ1 0 [list $notmod] 2 }
if { $tmpvar_27 == "32" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ2 0 [list $notmod] 2 }
if { $tmpvar_27 == "64" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ3 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ3 0 [list $notmod] 2 }
if { $tmpvar_27 == "128" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ4 0 [list $notmod] 2 }
if { $tmpvar_27 == "256" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ5 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ5 0 [list $notmod] 2 }
if { $tmpvar_27 == "512" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ6 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ6 0 [list $notmod] 2 }
if { $tmpvar_27 == "1024" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ7 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ7 0 [list $notmod] 2 }
if { $tmpvar_27 == "2048" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ8 0 [list $notmod] 2 }
if { $tmpvar_27 == "4096" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ9 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ9 0 [list $notmod] 2 }
if { $tmpvar_27 == "8192" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ10 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ10 0 [list $notmod] 2 }
if { $tmpvar_27 == "16384" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ11 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ11 0 [list $notmod] 2 }
if { $tmpvar_27 == "32768" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ12 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ12 0 [list $notmod] 2 }
if { $tmpvar_27 == "65536" } then { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ13 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SRCTRL_BANKSZ13 0 [list $notmod] 2 }}
global CONFIG_SRCTRL_ROMASEL
if {($CONFIG_SRCTRL == 1)} then {write_int $cfg $autocfg CONFIG_SRCTRL_ROMASEL $CONFIG_SRCTRL_ROMASEL $notmod }
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 "PC133 SDRAM controller "
global CONFIG_SDCTRL
write_tristate $cfg $autocfg CONFIG_SDCTRL $CONFIG_SDCTRL [list $notmod] 2
global CONFIG_SDCTRL_BUS64
if {($CONFIG_SDCTRL == 1)} then {write_tristate $cfg $autocfg CONFIG_SDCTRL_BUS64 $CONFIG_SDCTRL_BUS64 [list $notmod] 2 }
global CONFIG_SDCTRL_INVCLK
if {($CONFIG_SDCTRL == 1)} then {write_tristate $cfg $autocfg CONFIG_SDCTRL_INVCLK $CONFIG_SDCTRL_INVCLK [list $notmod] 2 }
global CONFIG_SDCTRL_PAGE
if {($CONFIG_SDCTRL == 1)} then {write_tristate $cfg $autocfg CONFIG_SDCTRL_PAGE $CONFIG_SDCTRL_PAGE [list $notmod] 2 }
global CONFIG_SDCTRL_PROGPAGE
if {($CONFIG_SDCTRL == 1) && ($CONFIG_SDCTRL_PAGE == 1)} then {write_tristate $cfg $autocfg CONFIG_SDCTRL_PROGPAGE $CONFIG_SDCTRL_PROGPAGE [list $notmod] 2 }
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_28
if {($CONFIG_AHBRAM_ENABLE == 1)} then {
if { $tmpvar_28 == "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_28 == "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_28 == "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_28 == "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_28 == "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_28 == "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_28 == "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_29
if {($CONFIG_GRETH_ENABLE == 1) && ($CONFIG_GRETH_GIGA == 0)} then {
if { $tmpvar_29 == "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_29 == "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_29 == "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_29 == "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_29 == "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 "CAN "
global CONFIG_CAN_ENABLE
write_tristate $cfg $autocfg CONFIG_CAN_ENABLE $CONFIG_CAN_ENABLE [list $notmod] 2
global CONFIG_CANIO
if {($CONFIG_CAN_ENABLE == 1)} then {write_hex $cfg $autocfg CONFIG_CANIO $CONFIG_CANIO $notmod }
global CONFIG_CANIRQ
if {($CONFIG_CAN_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_CANIRQ $CONFIG_CANIRQ $notmod }
global CONFIG_CANLOOP
if {($CONFIG_CAN_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_CANLOOP $CONFIG_CANLOOP [list $notmod] 2 }
global CONFIG_CAN_SYNCRST
if {($CONFIG_CAN_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_CAN_SYNCRST $CONFIG_CAN_SYNCRST [list $notmod] 2 }
global CONFIG_CAN_FT
if {($CONFIG_CAN_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_CAN_FT $CONFIG_CAN_FT [list $notmod] 2 }
write_comment $cfg $autocfg "PCI "
global CONFIG_PCI_SIMPLE_TARGET
global CONFIG_PCI_ACTEL
if {($CONFIG_PCI_ACTEL != 1)} then {write_tristate $cfg $autocfg CONFIG_PCI_SIMPLE_TARGET $CONFIG_PCI_SIMPLE_TARGET [list $notmod] 2 }
global CONFIG_PCI_MASTER_TARGET
if {($CONFIG_PCI_SIMPLE_TARGET != 1 && $CONFIG_PCI_ACTEL != 1)} then {write_tristate $cfg $autocfg CONFIG_PCI_MASTER_TARGET $CONFIG_PCI_MASTER_TARGET [list $notmod] 2 }
global CONFIG_PCI_MASTER_TARGET_DMA
if {($CONFIG_PCI_MASTER_TARGET == 1)} then {write_tristate $cfg $autocfg CONFIG_PCI_MASTER_TARGET_DMA $CONFIG_PCI_MASTER_TARGET_DMA [list $notmod] 2 }
global CONFIG_PCI_VENDORID
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {write_hex $cfg $autocfg CONFIG_PCI_VENDORID $CONFIG_PCI_VENDORID $notmod }
global CONFIG_PCI_DEVICEID
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {write_hex $cfg $autocfg CONFIG_PCI_DEVICEID $CONFIG_PCI_DEVICEID $notmod }
global tmpvar_30
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1) && ($CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {
if { $tmpvar_30 == "None" } then { write_tristate $cfg $autocfg CONFIG_PCI_FIFO0 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_FIFO0 0 [list $notmod] 2 }
if { $tmpvar_30 == "8" } then { write_tristate $cfg $autocfg CONFIG_PCI_FIFO8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_FIFO8 0 [list $notmod] 2 }
if { $tmpvar_30 == "16" } then { write_tristate $cfg $autocfg CONFIG_PCI_FIFO16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_FIFO16 0 [list $notmod] 2 }
if { $tmpvar_30 == "32" } then { write_tristate $cfg $autocfg CONFIG_PCI_FIFO32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_FIFO32 0 [list $notmod] 2 }
if { $tmpvar_30 == "64" } then { write_tristate $cfg $autocfg CONFIG_PCI_FIFO64 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_FIFO64 0 [list $notmod] 2 }
if { $tmpvar_30 == "128" } then { write_tristate $cfg $autocfg CONFIG_PCI_FIFO128 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_FIFO128 0 [list $notmod] 2 }}
global CONFIG_PCI_HADDR
if {($CONFIG_PCI_SIMPLE_TARGET == 1 || $CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1) && ($CONFIG_PCI_MASTER_TARGET == 1 || $CONFIG_PCI_ACTEL == 1)} then {write_hex $cfg $autocfg CONFIG_PCI_HADDR $CONFIG_PCI_HADDR $notmod }
global CONFIG_PCI_ARBITER
write_tristate $cfg $autocfg CONFIG_PCI_ARBITER $CONFIG_PCI_ARBITER [list $notmod] 2
global CONFIG_PCI_ARBITER_APB
if {($CONFIG_PCI_ARBITER == 1)} then {write_tristate $cfg $autocfg CONFIG_PCI_ARBITER_APB $CONFIG_PCI_ARBITER_APB [list $notmod] 2 }
global CONFIG_PCI_ARBITER_NREQ
if {($CONFIG_PCI_ARBITER == 1)} then {write_int $cfg $autocfg CONFIG_PCI_ARBITER_NREQ $CONFIG_PCI_ARBITER_NREQ $notmod }
global CONFIG_PCI_TRACE
write_tristate $cfg $autocfg CONFIG_PCI_TRACE $CONFIG_PCI_TRACE [list $notmod] 2
global tmpvar_31
if {($CONFIG_PCI_TRACE == 1)} then {
if { $tmpvar_31 == "256" } then { write_tristate $cfg $autocfg CONFIG_PCI_TRACE256 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_TRACE256 0 [list $notmod] 2 }
if { $tmpvar_31 == "512" } then { write_tristate $cfg $autocfg CONFIG_PCI_TRACE512 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_TRACE512 0 [list $notmod] 2 }
if { $tmpvar_31 == "1024" } then { write_tristate $cfg $autocfg CONFIG_PCI_TRACE1024 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_TRACE1024 0 [list $notmod] 2 }
if { $tmpvar_31 == "2048" } then { write_tristate $cfg $autocfg CONFIG_PCI_TRACE2048 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_TRACE2048 0 [list $notmod] 2 }
if { $tmpvar_31 == "4096" } then { write_tristate $cfg $autocfg CONFIG_PCI_TRACE4096 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_PCI_TRACE4096 0 [list $notmod] 2 }}
write_comment $cfg $autocfg "Spacewire "
global CONFIG_SPW_ENABLE
write_tristate $cfg $autocfg CONFIG_SPW_ENABLE $CONFIG_SPW_ENABLE [list $notmod] 2
global CONFIG_SPW_NUM
if {($CONFIG_SPW_ENABLE == 1)} then {write_int $cfg $autocfg CONFIG_SPW_NUM $CONFIG_SPW_NUM $notmod }
global tmpvar_32
if {($CONFIG_SPW_ENABLE == 1)} then {
if { $tmpvar_32 == "4" } then { write_tristate $cfg $autocfg CONFIG_SPW_AHBFIFO4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_AHBFIFO4 0 [list $notmod] 2 }
if { $tmpvar_32 == "8" } then { write_tristate $cfg $autocfg CONFIG_SPW_AHBFIFO8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_AHBFIFO8 0 [list $notmod] 2 }
if { $tmpvar_32 == "16" } then { write_tristate $cfg $autocfg CONFIG_SPW_AHBFIFO16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_AHBFIFO16 0 [list $notmod] 2 }
if { $tmpvar_32 == "32" } then { write_tristate $cfg $autocfg CONFIG_SPW_AHBFIFO32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_AHBFIFO32 0 [list $notmod] 2 }}
global tmpvar_33
if {($CONFIG_SPW_ENABLE == 1)} then {
if { $tmpvar_33 == "16" } then { write_tristate $cfg $autocfg CONFIG_SPW_RXFIFO16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RXFIFO16 0 [list $notmod] 2 }
if { $tmpvar_33 == "32" } then { write_tristate $cfg $autocfg CONFIG_SPW_RXFIFO32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RXFIFO32 0 [list $notmod] 2 }
if { $tmpvar_33 == "64" } then { write_tristate $cfg $autocfg CONFIG_SPW_RXFIFO64 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RXFIFO64 0 [list $notmod] 2 }}
global CONFIG_SPW_RMAP
if {($CONFIG_SPW_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPW_RMAP $CONFIG_SPW_RMAP [list $notmod] 2 }
global tmpvar_34
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_RMAP == 1)} then {
if { $tmpvar_34 == "64" } then { write_tristate $cfg $autocfg CONFIG_SPW_RMAPBUF2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RMAPBUF2 0 [list $notmod] 2 }
if { $tmpvar_34 == "128" } then { write_tristate $cfg $autocfg CONFIG_SPW_RMAPBUF4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RMAPBUF4 0 [list $notmod] 2 }
if { $tmpvar_34 == "192" } then { write_tristate $cfg $autocfg CONFIG_SPW_RMAPBUF6 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RMAPBUF6 0 [list $notmod] 2 }
if { $tmpvar_34 == "256" } then { write_tristate $cfg $autocfg CONFIG_SPW_RMAPBUF8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RMAPBUF8 0 [list $notmod] 2 }}
global CONFIG_SPW_RMAPCRC
if {($CONFIG_SPW_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPW_RMAPCRC $CONFIG_SPW_RMAPCRC [list $notmod] 2 }
global CONFIG_SPW_RXUNAL
if {($CONFIG_SPW_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPW_RXUNAL $CONFIG_SPW_RXUNAL [list $notmod] 2 }
global CONFIG_SPW_FT
if {($CONFIG_SPW_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPW_FT $CONFIG_SPW_FT [list $notmod] 2 }
global CONFIG_SPW_NETLIST
if {($CONFIG_SPW_ENABLE == 1)} then {write_tristate $cfg $autocfg CONFIG_SPW_NETLIST $CONFIG_SPW_NETLIST [list $notmod] 2 }
global tmpvar_35
if {($CONFIG_SPW_ENABLE == 1)} then {
if { $tmpvar_35 == "1" } then { write_tristate $cfg $autocfg CONFIG_SPW_GRSPW1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_GRSPW1 0 [list $notmod] 2 }
if { $tmpvar_35 == "2" } then { write_tristate $cfg $autocfg CONFIG_SPW_GRSPW2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_GRSPW2 0 [list $notmod] 2 }}
global CONFIG_SPW_DMACHAN
global CONFIG_SPW_GRSPW2
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {write_int $cfg $autocfg CONFIG_SPW_DMACHAN $CONFIG_SPW_DMACHAN $notmod }
global CONFIG_SPW_PORTS
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {write_int $cfg $autocfg CONFIG_SPW_PORTS $CONFIG_SPW_PORTS $notmod }
global CONFIG_SPW_RTSAME
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {write_tristate $cfg $autocfg CONFIG_SPW_RTSAME $CONFIG_SPW_RTSAME [list $notmod] 2 }
global tmpvar_36
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {
if { $tmpvar_36 == "SDR" } then { write_tristate $cfg $autocfg CONFIG_SPW_RX_SDR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RX_SDR 0 [list $notmod] 2 }
if { $tmpvar_36 == "DDR" } then { write_tristate $cfg $autocfg CONFIG_SPW_RX_DDR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RX_DDR 0 [list $notmod] 2 }
if { $tmpvar_36 == "Xor" } then { write_tristate $cfg $autocfg CONFIG_SPW_RX_XOR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RX_XOR 0 [list $notmod] 2 }
if { $tmpvar_36 == "Aeroflex" } then { write_tristate $cfg $autocfg CONFIG_SPW_RX_AFLEX 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_RX_AFLEX 0 [list $notmod] 2 }}
global tmpvar_37
if {($CONFIG_SPW_ENABLE == 1) && ($CONFIG_SPW_GRSPW2 == 1)} then {
if { $tmpvar_37 == "SDR" } then { write_tristate $cfg $autocfg CONFIG_SPW_TX_SDR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_TX_SDR 0 [list $notmod] 2 }
if { $tmpvar_37 == "DDR" } then { write_tristate $cfg $autocfg CONFIG_SPW_TX_DDR 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_TX_DDR 0 [list $notmod] 2 }
if { $tmpvar_37 == "Aeroflex" } then { write_tristate $cfg $autocfg CONFIG_SPW_TX_AFLEX 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_SPW_TX_AFLEX 0 [list $notmod] 2 }}
write_comment $cfg $autocfg "UARTs, timers and irq control "
global CONFIG_UART1_ENABLE
write_tristate $cfg $autocfg CONFIG_UART1_ENABLE $CONFIG_UART1_ENABLE [list $notmod] 2
global tmpvar_38
if {($CONFIG_UART1_ENABLE == 1)} then {
if { $tmpvar_38 == "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_38 == "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_38 == "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_38 == "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_38 == "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_38 == "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_UART2_ENABLE
write_tristate $cfg $autocfg CONFIG_UART2_ENABLE $CONFIG_UART2_ENABLE [list $notmod] 2
global tmpvar_39
if {($CONFIG_UART2_ENABLE == 1)} then {
if { $tmpvar_39 == "1" } then { write_tristate $cfg $autocfg CONFIG_UA2_FIFO1 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA2_FIFO1 0 [list $notmod] 2 }
if { $tmpvar_39 == "2" } then { write_tristate $cfg $autocfg CONFIG_UA2_FIFO2 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA2_FIFO2 0 [list $notmod] 2 }
if { $tmpvar_39 == "4" } then { write_tristate $cfg $autocfg CONFIG_UA2_FIFO4 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA2_FIFO4 0 [list $notmod] 2 }
if { $tmpvar_39 == "8" } then { write_tristate $cfg $autocfg CONFIG_UA2_FIFO8 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA2_FIFO8 0 [list $notmod] 2 }
if { $tmpvar_39 == "16" } then { write_tristate $cfg $autocfg CONFIG_UA2_FIFO16 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA2_FIFO16 0 [list $notmod] 2 }
if { $tmpvar_39 == "32" } then { write_tristate $cfg $autocfg CONFIG_UA2_FIFO32 1 [list $notmod] 2 } else { write_tristate $cfg $autocfg CONFIG_UA2_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 "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_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_UT025CRH; set CONFIG_SYN_UT025CRH 0
global CONFIG_SYN_ATC18; set CONFIG_SYN_ATC18 0
global CONFIG_SYN_ATC18RHA; set CONFIG_SYN_ATC18RHA 0
global CONFIG_SYN_CUSTOM1; set CONFIG_SYN_CUSTOM1 0
global CONFIG_SYN_EASIC90; set CONFIG_SYN_EASIC90 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_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_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_UMC; set CONFIG_SYN_UMC 0
global CONFIG_SYN_TSMC90; set CONFIG_SYN_TSMC90 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_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_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_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_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_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_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_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_SRCTRL_SRBANKS1; set CONFIG_SRCTRL_SRBANKS1 0
global CONFIG_SRCTRL_SRBANKS2; set CONFIG_SRCTRL_SRBANKS2 0
global CONFIG_SRCTRL_SRBANKS3; set CONFIG_SRCTRL_SRBANKS3 0
global CONFIG_SRCTRL_SRBANKS4; set CONFIG_SRCTRL_SRBANKS4 0
global CONFIG_SRCTRL_SRBANKS5; set CONFIG_SRCTRL_SRBANKS5 0
global CONFIG_SRCTRL_BANKSZ0; set CONFIG_SRCTRL_BANKSZ0 0
global CONFIG_SRCTRL_BANKSZ1; set CONFIG_SRCTRL_BANKSZ1 0
global CONFIG_SRCTRL_BANKSZ2; set CONFIG_SRCTRL_BANKSZ2 0
global CONFIG_SRCTRL_BANKSZ3; set CONFIG_SRCTRL_BANKSZ3 0
global CONFIG_SRCTRL_BANKSZ4; set CONFIG_SRCTRL_BANKSZ4 0
global CONFIG_SRCTRL_BANKSZ5; set CONFIG_SRCTRL_BANKSZ5 0
global CONFIG_SRCTRL_BANKSZ6; set CONFIG_SRCTRL_BANKSZ6 0
global CONFIG_SRCTRL_BANKSZ7; set CONFIG_SRCTRL_BANKSZ7 0
global CONFIG_SRCTRL_BANKSZ8; set CONFIG_SRCTRL_BANKSZ8 0
global CONFIG_SRCTRL_BANKSZ9; set CONFIG_SRCTRL_BANKSZ9 0
global CONFIG_SRCTRL_BANKSZ10; set CONFIG_SRCTRL_BANKSZ10 0
global CONFIG_SRCTRL_BANKSZ11; set CONFIG_SRCTRL_BANKSZ11 0
global CONFIG_SRCTRL_BANKSZ12; set CONFIG_SRCTRL_BANKSZ12 0
global CONFIG_SRCTRL_BANKSZ13; set CONFIG_SRCTRL_BANKSZ13 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_PCI_FIFO0; set CONFIG_PCI_FIFO0 0
global CONFIG_PCI_FIFO8; set CONFIG_PCI_FIFO8 0
global CONFIG_PCI_FIFO16; set CONFIG_PCI_FIFO16 0
global CONFIG_PCI_FIFO32; set CONFIG_PCI_FIFO32 0
global CONFIG_PCI_FIFO64; set CONFIG_PCI_FIFO64 0
global CONFIG_PCI_FIFO128; set CONFIG_PCI_FIFO128 0
global CONFIG_PCI_TRACE256; set CONFIG_PCI_TRACE256 0
global CONFIG_PCI_TRACE512; set CONFIG_PCI_TRACE512 0
global CONFIG_PCI_TRACE1024; set CONFIG_PCI_TRACE1024 0
global CONFIG_PCI_TRACE2048; set CONFIG_PCI_TRACE2048 0
global CONFIG_PCI_TRACE4096; set CONFIG_PCI_TRACE4096 0
global CONFIG_SPW_AHBFIFO4; set CONFIG_SPW_AHBFIFO4 0
global CONFIG_SPW_AHBFIFO8; set CONFIG_SPW_AHBFIFO8 0
global CONFIG_SPW_AHBFIFO16; set CONFIG_SPW_AHBFIFO16 0
global CONFIG_SPW_AHBFIFO32; set CONFIG_SPW_AHBFIFO32 0
global CONFIG_SPW_RXFIFO16; set CONFIG_SPW_RXFIFO16 0
global CONFIG_SPW_RXFIFO32; set CONFIG_SPW_RXFIFO32 0
global CONFIG_SPW_RXFIFO64; set CONFIG_SPW_RXFIFO64 0
global CONFIG_SPW_RMAPBUF2; set CONFIG_SPW_RMAPBUF2 0
global CONFIG_SPW_RMAPBUF4; set CONFIG_SPW_RMAPBUF4 0
global CONFIG_SPW_RMAPBUF6; set CONFIG_SPW_RMAPBUF6 0
global CONFIG_SPW_RMAPBUF8; set CONFIG_SPW_RMAPBUF8 0
global CONFIG_SPW_GRSPW1; set CONFIG_SPW_GRSPW1 0
global CONFIG_SPW_GRSPW2; set CONFIG_SPW_GRSPW2 0
global CONFIG_SPW_RX_SDR; set CONFIG_SPW_RX_SDR 0
global CONFIG_SPW_RX_DDR; set CONFIG_SPW_RX_DDR 0
global CONFIG_SPW_RX_XOR; set CONFIG_SPW_RX_XOR 0
global CONFIG_SPW_RX_AFLEX; set CONFIG_SPW_RX_AFLEX 0
global CONFIG_SPW_TX_SDR; set CONFIG_SPW_TX_SDR 0
global CONFIG_SPW_TX_DDR; set CONFIG_SPW_TX_DDR 0
global CONFIG_SPW_TX_AFLEX; set CONFIG_SPW_TX_AFLEX 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_UA2_FIFO1; set CONFIG_UA2_FIFO1 0
global CONFIG_UA2_FIFO2; set CONFIG_UA2_FIFO2 0
global CONFIG_UA2_FIFO4; set CONFIG_UA2_FIFO4 0
global CONFIG_UA2_FIFO8; set CONFIG_UA2_FIFO8 0
global CONFIG_UA2_FIFO16; set CONFIG_UA2_FIFO16 0
global CONFIG_UA2_FIFO32; set CONFIG_UA2_FIFO32 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_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_UT025CRH
if { $CONFIG_SYN_UT025CRH == 1 } then { set tmpvar_0 "Aeroflex-UT025CRH" }
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_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_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_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_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_UMC
if { $CONFIG_SYN_UMC == 1 } then { set tmpvar_0 "UMC180" }
global CONFIG_SYN_TSMC90
if { $CONFIG_SYN_TSMC90 == 1 } then { set tmpvar_0 "TSMC90" }
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_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-PLLL" }
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 "GRFPU"
global CONFIG_FPU_GRFPU
if { $CONFIG_FPU_GRFPU == 1 } then { set tmpvar_4 "GRFPU" }
global CONFIG_FPU_GRFPULITE
if { $CONFIG_FPU_GRFPULITE == 1 } then { set tmpvar_4 "GRFPU-LITE" }
global CONFIG_FPU_MEIKO
if { $CONFIG_FPU_MEIKO == 1 } then { set tmpvar_4 "Meiko" }
global tmpvar_5
set tmpvar_5 "Inferred"
global CONFIG_FPU_GRFPU_INFMUL
if { $CONFIG_FPU_GRFPU_INFMUL == 1 } then { set tmpvar_5 "Inferred" }
global CONFIG_FPU_GRFPU_DWMUL
if { $CONFIG_FPU_GRFPU_DWMUL == 1 } then { set tmpvar_5 "DW" }
global CONFIG_FPU_GRFPU_MODGEN
if { $CONFIG_FPU_GRFPU_MODGEN == 1 } then { set tmpvar_5 "ModGen" }
global tmpvar_6
set tmpvar_6 "Simple"
global CONFIG_FPU_GRFPC0
if { $CONFIG_FPU_GRFPC0 == 1 } then { set tmpvar_6 "Simple" }
global CONFIG_FPU_GRFPC1
if { $CONFIG_FPU_GRFPC1 == 1 } then { set tmpvar_6 "Data-forwarding" }
global CONFIG_FPU_GRFPC2
if { $CONFIG_FPU_GRFPC2 == 1 } then { set tmpvar_6 "Non-blocking" }
global tmpvar_7
set tmpvar_7 "1"
global CONFIG_ICACHE_ASSO1
if { $CONFIG_ICACHE_ASSO1 == 1 } then { set tmpvar_7 "1" }
global CONFIG_ICACHE_ASSO2
if { $CONFIG_ICACHE_ASSO2 == 1 } then { set tmpvar_7 "2" }
global CONFIG_ICACHE_ASSO3
if { $CONFIG_ICACHE_ASSO3 == 1 } then { set tmpvar_7 "3" }
global CONFIG_ICACHE_ASSO4
if { $CONFIG_ICACHE_ASSO4 == 1 } then { set tmpvar_7 "4" }
global tmpvar_8
set tmpvar_8 "4"
global CONFIG_ICACHE_SZ1
if { $CONFIG_ICACHE_SZ1 == 1 } then { set tmpvar_8 "1" }
global CONFIG_ICACHE_SZ2
if { $CONFIG_ICACHE_SZ2 == 1 } then { set tmpvar_8 "2" }
global CONFIG_ICACHE_SZ4
if { $CONFIG_ICACHE_SZ4 == 1 } then { set tmpvar_8 "4" }
global CONFIG_ICACHE_SZ8
if { $CONFIG_ICACHE_SZ8 == 1 } then { set tmpvar_8 "8" }
global CONFIG_ICACHE_SZ16
if { $CONFIG_ICACHE_SZ16 == 1 } then { set tmpvar_8 "16" }
global CONFIG_ICACHE_SZ32
if { $CONFIG_ICACHE_SZ32 == 1 } then { set tmpvar_8 "32" }
global CONFIG_ICACHE_SZ64
if { $CONFIG_ICACHE_SZ64 == 1 } then { set tmpvar_8 "64" }
global CONFIG_ICACHE_SZ128
if { $CONFIG_ICACHE_SZ128 == 1 } then { set tmpvar_8 "128" }
global CONFIG_ICACHE_SZ256
if { $CONFIG_ICACHE_SZ256 == 1 } then { set tmpvar_8 "256" }
global tmpvar_9
set tmpvar_9 "32"
global CONFIG_ICACHE_LZ16
if { $CONFIG_ICACHE_LZ16 == 1 } then { set tmpvar_9 "16" }
global CONFIG_ICACHE_LZ32
if { $CONFIG_ICACHE_LZ32 == 1 } then { set tmpvar_9 "32" }
global tmpvar_10
set tmpvar_10 "Random"
global CONFIG_ICACHE_ALGORND
if { $CONFIG_ICACHE_ALGORND == 1 } then { set tmpvar_10 "Random" }
global CONFIG_ICACHE_ALGOLRR
if { $CONFIG_ICACHE_ALGOLRR == 1 } then { set tmpvar_10 "LRR" }
global CONFIG_ICACHE_ALGOLRU
if { $CONFIG_ICACHE_ALGOLRU == 1 } then { set tmpvar_10 "LRU" }
global tmpvar_11
set tmpvar_11 "4"
global CONFIG_ICACHE_LRAM_SZ1
if { $CONFIG_ICACHE_LRAM_SZ1 == 1 } then { set tmpvar_11 "1" }
global CONFIG_ICACHE_LRAM_SZ2
if { $CONFIG_ICACHE_LRAM_SZ2 == 1 } then { set tmpvar_11 "2" }
global CONFIG_ICACHE_LRAM_SZ4
if { $CONFIG_ICACHE_LRAM_SZ4 == 1 } then { set tmpvar_11 "4" }
global CONFIG_ICACHE_LRAM_SZ8
if { $CONFIG_ICACHE_LRAM_SZ8 == 1 } then { set tmpvar_11 "8" }
global CONFIG_ICACHE_LRAM_SZ16
if { $CONFIG_ICACHE_LRAM_SZ16 == 1 } then { set tmpvar_11 "16" }
global CONFIG_ICACHE_LRAM_SZ32
if { $CONFIG_ICACHE_LRAM_SZ32 == 1 } then { set tmpvar_11 "32" }
global CONFIG_ICACHE_LRAM_SZ64
if { $CONFIG_ICACHE_LRAM_SZ64 == 1 } then { set tmpvar_11 "64" }
global CONFIG_ICACHE_LRAM_SZ128
if { $CONFIG_ICACHE_LRAM_SZ128 == 1 } then { set tmpvar_11 "128" }
global CONFIG_ICACHE_LRAM_SZ256
if { $CONFIG_ICACHE_LRAM_SZ256 == 1 } then { set tmpvar_11 "256" }
global tmpvar_12
set tmpvar_12 "1"
global CONFIG_DCACHE_ASSO1
if { $CONFIG_DCACHE_ASSO1 == 1 } then { set tmpvar_12 "1" }
global CONFIG_DCACHE_ASSO2
if { $CONFIG_DCACHE_ASSO2 == 1 } then { set tmpvar_12 "2" }
global CONFIG_DCACHE_ASSO3
if { $CONFIG_DCACHE_ASSO3 == 1 } then { set tmpvar_12 "3" }
global CONFIG_DCACHE_ASSO4
if { $CONFIG_DCACHE_ASSO4 == 1 } then { set tmpvar_12 "4" }
global tmpvar_13
set tmpvar_13 "4"
global CONFIG_DCACHE_SZ1
if { $CONFIG_DCACHE_SZ1 == 1 } then { set tmpvar_13 "1" }
global CONFIG_DCACHE_SZ2
if { $CONFIG_DCACHE_SZ2 == 1 } then { set tmpvar_13 "2" }
global CONFIG_DCACHE_SZ4
if { $CONFIG_DCACHE_SZ4 == 1 } then { set tmpvar_13 "4" }
global CONFIG_DCACHE_SZ8
if { $CONFIG_DCACHE_SZ8 == 1 } then { set tmpvar_13 "8" }
global CONFIG_DCACHE_SZ16
if { $CONFIG_DCACHE_SZ16 == 1 } then { set tmpvar_13 "16" }
global CONFIG_DCACHE_SZ32
if { $CONFIG_DCACHE_SZ32 == 1 } then { set tmpvar_13 "32" }
global CONFIG_DCACHE_SZ64
if { $CONFIG_DCACHE_SZ64 == 1 } then { set tmpvar_13 "64" }
global CONFIG_DCACHE_SZ128
if { $CONFIG_DCACHE_SZ128 == 1 } then { set tmpvar_13 "128" }
global CONFIG_DCACHE_SZ256
if { $CONFIG_DCACHE_SZ256 == 1 } then { set tmpvar_13 "256" }
global tmpvar_14
set tmpvar_14 "32"
global CONFIG_DCACHE_LZ16
if { $CONFIG_DCACHE_LZ16 == 1 } then { set tmpvar_14 "16" }
global CONFIG_DCACHE_LZ32
if { $CONFIG_DCACHE_LZ32 == 1 } then { set tmpvar_14 "32" }
global tmpvar_15
set tmpvar_15 "Random"
global CONFIG_DCACHE_ALGORND
if { $CONFIG_DCACHE_ALGORND == 1 } then { set tmpvar_15 "Random" }
global CONFIG_DCACHE_ALGOLRR
if { $CONFIG_DCACHE_ALGOLRR == 1 } then { set tmpvar_15 "LRR" }
global CONFIG_DCACHE_ALGOLRU
if { $CONFIG_DCACHE_ALGOLRU == 1 } then { set tmpvar_15 "LRU" }
global tmpvar_16
set tmpvar_16 "4"
global CONFIG_DCACHE_LRAM_SZ1
if { $CONFIG_DCACHE_LRAM_SZ1 == 1 } then { set tmpvar_16 "1" }
global CONFIG_DCACHE_LRAM_SZ2
if { $CONFIG_DCACHE_LRAM_SZ2 == 1 } then { set tmpvar_16 "2" }
global CONFIG_DCACHE_LRAM_SZ4
if { $CONFIG_DCACHE_LRAM_SZ4 == 1 } then { set tmpvar_16 "4" }
global CONFIG_DCACHE_LRAM_SZ8
if { $CONFIG_DCACHE_LRAM_SZ8 == 1 } then { set tmpvar_16 "8" }
global CONFIG_DCACHE_LRAM_SZ16
if { $CONFIG_DCACHE_LRAM_SZ16 == 1 } then { set tmpvar_16 "16" }
global CONFIG_DCACHE_LRAM_SZ32
if { $CONFIG_DCACHE_LRAM_SZ32 == 1 } then { set tmpvar_16 "32" }
global CONFIG_DCACHE_LRAM_SZ64
if { $CONFIG_DCACHE_LRAM_SZ64 == 1 } then { set tmpvar_16 "64" }
global CONFIG_DCACHE_LRAM_SZ128
if { $CONFIG_DCACHE_LRAM_SZ128 == 1 } then { set tmpvar_16 "128" }
global CONFIG_DCACHE_LRAM_SZ256
if { $CONFIG_DCACHE_LRAM_SZ256 == 1 } then { set tmpvar_16 "256" }
global tmpvar_17
set tmpvar_17 "combined"
global CONFIG_MMU_COMBINED
if { $CONFIG_MMU_COMBINED == 1 } then { set tmpvar_17 "combined" }
global CONFIG_MMU_SPLIT
if { $CONFIG_MMU_SPLIT == 1 } then { set tmpvar_17 "split" }
global tmpvar_18
set tmpvar_18 "Increment"
global CONFIG_MMU_REPARRAY
if { $CONFIG_MMU_REPARRAY == 1 } then { set tmpvar_18 "LRU" }
global CONFIG_MMU_REPINCREMENT
if { $CONFIG_MMU_REPINCREMENT == 1 } then { set tmpvar_18 "Increment" }
global tmpvar_19
set tmpvar_19 "8"
global CONFIG_MMU_I2
if { $CONFIG_MMU_I2 == 1 } then { set tmpvar_19 "2" }
global CONFIG_MMU_I4
if { $CONFIG_MMU_I4 == 1 } then { set tmpvar_19 "4" }
global CONFIG_MMU_I8
if { $CONFIG_MMU_I8 == 1 } then { set tmpvar_19 "8" }
global CONFIG_MMU_I16
if { $CONFIG_MMU_I16 == 1 } then { set tmpvar_19 "16" }
global CONFIG_MMU_I32
if { $CONFIG_MMU_I32 == 1 } then { set tmpvar_19 "32" }
global tmpvar_20
set tmpvar_20 "8"
global CONFIG_MMU_D2
if { $CONFIG_MMU_D2 == 1 } then { set tmpvar_20 "2" }
global CONFIG_MMU_D4
if { $CONFIG_MMU_D4 == 1 } then { set tmpvar_20 "4" }
global CONFIG_MMU_D8
if { $CONFIG_MMU_D8 == 1 } then { set tmpvar_20 "8" }
global CONFIG_MMU_D16
if { $CONFIG_MMU_D16 == 1 } then { set tmpvar_20 "16" }
global CONFIG_MMU_D32
if { $CONFIG_MMU_D32 == 1 } then { set tmpvar_20 "32" }
global tmpvar_21
set tmpvar_21 "4K"
global CONFIG_MMU_PAGE_4K
if { $CONFIG_MMU_PAGE_4K == 1 } then { set tmpvar_21 "4K" }
global CONFIG_MMU_PAGE_8K
if { $CONFIG_MMU_PAGE_8K == 1 } then { set tmpvar_21 "8K" }
global CONFIG_MMU_PAGE_16K
if { $CONFIG_MMU_PAGE_16K == 1 } then { set tmpvar_21 "16K" }
global CONFIG_MMU_PAGE_32K
if { $CONFIG_MMU_PAGE_32K == 1 } then { set tmpvar_21 "32K" }
global CONFIG_MMU_PAGE_PROG
if { $CONFIG_MMU_PAGE_PROG == 1 } then { set tmpvar_21 "Programmable" }
global tmpvar_22
set tmpvar_22 "1"
global CONFIG_DSU_ITRACESZ1
if { $CONFIG_DSU_ITRACESZ1 == 1 } then { set tmpvar_22 "1" }
global CONFIG_DSU_ITRACESZ2
if { $CONFIG_DSU_ITRACESZ2 == 1 } then { set tmpvar_22 "2" }
global CONFIG_DSU_ITRACESZ4
if { $CONFIG_DSU_ITRACESZ4 == 1 } then { set tmpvar_22 "4" }
global CONFIG_DSU_ITRACESZ8
if { $CONFIG_DSU_ITRACESZ8 == 1 } then { set tmpvar_22 "8" }
global CONFIG_DSU_ITRACESZ16
if { $CONFIG_DSU_ITRACESZ16 == 1 } then { set tmpvar_22 "16" }
global tmpvar_23
set tmpvar_23 "1"
global CONFIG_DSU_ATRACESZ1
if { $CONFIG_DSU_ATRACESZ1 == 1 } then { set tmpvar_23 "1" }
global CONFIG_DSU_ATRACESZ2
if { $CONFIG_DSU_ATRACESZ2 == 1 } then { set tmpvar_23 "2" }
global CONFIG_DSU_ATRACESZ4
if { $CONFIG_DSU_ATRACESZ4 == 1 } then { set tmpvar_23 "4" }
global CONFIG_DSU_ATRACESZ8
if { $CONFIG_DSU_ATRACESZ8 == 1 } then { set tmpvar_23 "8" }
global CONFIG_DSU_ATRACESZ16
if { $CONFIG_DSU_ATRACESZ16 == 1 } then { set tmpvar_23 "16" }
global tmpvar_25
set tmpvar_25 "2"
global CONFIG_DSU_ETHSZ1
if { $CONFIG_DSU_ETHSZ1 == 1 } then { set tmpvar_25 "1" }
global CONFIG_DSU_ETHSZ2
if { $CONFIG_DSU_ETHSZ2 == 1 } then { set tmpvar_25 "2" }
global CONFIG_DSU_ETHSZ4
if { $CONFIG_DSU_ETHSZ4 == 1 } then { set tmpvar_25 "4" }
global CONFIG_DSU_ETHSZ8
if { $CONFIG_DSU_ETHSZ8 == 1 } then { set tmpvar_25 "8" }
global CONFIG_DSU_ETHSZ16
if { $CONFIG_DSU_ETHSZ16 == 1 } then { set tmpvar_25 "16" }
global tmpvar_26
set tmpvar_26 "1"
global CONFIG_SRCTRL_SRBANKS1
if { $CONFIG_SRCTRL_SRBANKS1 == 1 } then { set tmpvar_26 "1" }
global CONFIG_SRCTRL_SRBANKS2
if { $CONFIG_SRCTRL_SRBANKS2 == 1 } then { set tmpvar_26 "2" }
global CONFIG_SRCTRL_SRBANKS3
if { $CONFIG_SRCTRL_SRBANKS3 == 1 } then { set tmpvar_26 "3" }
global CONFIG_SRCTRL_SRBANKS4
if { $CONFIG_SRCTRL_SRBANKS4 == 1 } then { set tmpvar_26 "4" }
global CONFIG_SRCTRL_SRBANKS5
if { $CONFIG_SRCTRL_SRBANKS5 == 1 } then { set tmpvar_26 "5" }
global tmpvar_27
set tmpvar_27 "0"
global CONFIG_SRCTRL_BANKSZ0
if { $CONFIG_SRCTRL_BANKSZ0 == 1 } then { set tmpvar_27 "8" }
global CONFIG_SRCTRL_BANKSZ1
if { $CONFIG_SRCTRL_BANKSZ1 == 1 } then { set tmpvar_27 "16" }
global CONFIG_SRCTRL_BANKSZ2
if { $CONFIG_SRCTRL_BANKSZ2 == 1 } then { set tmpvar_27 "32" }
global CONFIG_SRCTRL_BANKSZ3
if { $CONFIG_SRCTRL_BANKSZ3 == 1 } then { set tmpvar_27 "64" }
global CONFIG_SRCTRL_BANKSZ4
if { $CONFIG_SRCTRL_BANKSZ4 == 1 } then { set tmpvar_27 "128" }
global CONFIG_SRCTRL_BANKSZ5
if { $CONFIG_SRCTRL_BANKSZ5 == 1 } then { set tmpvar_27 "256" }
global CONFIG_SRCTRL_BANKSZ6
if { $CONFIG_SRCTRL_BANKSZ6 == 1 } then { set tmpvar_27 "512" }
global CONFIG_SRCTRL_BANKSZ7
if { $CONFIG_SRCTRL_BANKSZ7 == 1 } then { set tmpvar_27 "1024" }
global CONFIG_SRCTRL_BANKSZ8
if { $CONFIG_SRCTRL_BANKSZ8 == 1 } then { set tmpvar_27 "2048" }
global CONFIG_SRCTRL_BANKSZ9
if { $CONFIG_SRCTRL_BANKSZ9 == 1 } then { set tmpvar_27 "4096" }
global CONFIG_SRCTRL_BANKSZ10
if { $CONFIG_SRCTRL_BANKSZ10 == 1 } then { set tmpvar_27 "8192" }
global CONFIG_SRCTRL_BANKSZ11
if { $CONFIG_SRCTRL_BANKSZ11 == 1 } then { set tmpvar_27 "16384" }
global CONFIG_SRCTRL_BANKSZ12
if { $CONFIG_SRCTRL_BANKSZ12 == 1 } then { set tmpvar_27 "32768" }
global CONFIG_SRCTRL_BANKSZ13
if { $CONFIG_SRCTRL_BANKSZ13 == 1 } then { set tmpvar_27 "65536" }
global tmpvar_28
set tmpvar_28 "4"
global CONFIG_AHBRAM_SZ1
if { $CONFIG_AHBRAM_SZ1 == 1 } then { set tmpvar_28 "1" }
global CONFIG_AHBRAM_SZ2
if { $CONFIG_AHBRAM_SZ2 == 1 } then { set tmpvar_28 "2" }
global CONFIG_AHBRAM_SZ4
if { $CONFIG_AHBRAM_SZ4 == 1 } then { set tmpvar_28 "4" }
global CONFIG_AHBRAM_SZ8
if { $CONFIG_AHBRAM_SZ8 == 1 } then { set tmpvar_28 "8" }
global CONFIG_AHBRAM_SZ16
if { $CONFIG_AHBRAM_SZ16 == 1 } then { set tmpvar_28 "16" }
global CONFIG_AHBRAM_SZ32
if { $CONFIG_AHBRAM_SZ32 == 1 } then { set tmpvar_28 "32" }
global CONFIG_AHBRAM_SZ64
if { $CONFIG_AHBRAM_SZ64 == 1 } then { set tmpvar_28 "64" }
global tmpvar_29
set tmpvar_29 "8"
global CONFIG_GRETH_FIFO4
if { $CONFIG_GRETH_FIFO4 == 1 } then { set tmpvar_29 "4" }
global CONFIG_GRETH_FIFO8
if { $CONFIG_GRETH_FIFO8 == 1 } then { set tmpvar_29 "8" }
global CONFIG_GRETH_FIFO16
if { $CONFIG_GRETH_FIFO16 == 1 } then { set tmpvar_29 "16" }
global CONFIG_GRETH_FIFO32
if { $CONFIG_GRETH_FIFO32 == 1 } then { set tmpvar_29 "32" }
global CONFIG_GRETH_FIFO64
if { $CONFIG_GRETH_FIFO64 == 1 } then { set tmpvar_29 "64" }
global tmpvar_30
set tmpvar_30 "8"
global CONFIG_PCI_FIFO0
if { $CONFIG_PCI_FIFO0 == 1 } then { set tmpvar_30 "None" }
global CONFIG_PCI_FIFO8
if { $CONFIG_PCI_FIFO8 == 1 } then { set tmpvar_30 "8" }
global CONFIG_PCI_FIFO16
if { $CONFIG_PCI_FIFO16 == 1 } then { set tmpvar_30 "16" }
global CONFIG_PCI_FIFO32
if { $CONFIG_PCI_FIFO32 == 1 } then { set tmpvar_30 "32" }
global CONFIG_PCI_FIFO64
if { $CONFIG_PCI_FIFO64 == 1 } then { set tmpvar_30 "64" }
global CONFIG_PCI_FIFO128
if { $CONFIG_PCI_FIFO128 == 1 } then { set tmpvar_30 "128" }
global tmpvar_31
set tmpvar_31 "256"
global CONFIG_PCI_TRACE256
if { $CONFIG_PCI_TRACE256 == 1 } then { set tmpvar_31 "256" }
global CONFIG_PCI_TRACE512
if { $CONFIG_PCI_TRACE512 == 1 } then { set tmpvar_31 "512" }
global CONFIG_PCI_TRACE1024
if { $CONFIG_PCI_TRACE1024 == 1 } then { set tmpvar_31 "1024" }
global CONFIG_PCI_TRACE2048
if { $CONFIG_PCI_TRACE2048 == 1 } then { set tmpvar_31 "2048" }
global CONFIG_PCI_TRACE4096
if { $CONFIG_PCI_TRACE4096 == 1 } then { set tmpvar_31 "4096" }
global tmpvar_32
set tmpvar_32 "16"
global CONFIG_SPW_AHBFIFO4
if { $CONFIG_SPW_AHBFIFO4 == 1 } then { set tmpvar_32 "4" }
global CONFIG_SPW_AHBFIFO8
if { $CONFIG_SPW_AHBFIFO8 == 1 } then { set tmpvar_32 "8" }
global CONFIG_SPW_AHBFIFO16
if { $CONFIG_SPW_AHBFIFO16 == 1 } then { set tmpvar_32 "16" }
global CONFIG_SPW_AHBFIFO32
if { $CONFIG_SPW_AHBFIFO32 == 1 } then { set tmpvar_32 "32" }
global tmpvar_33
set tmpvar_33 "16"
global CONFIG_SPW_RXFIFO16
if { $CONFIG_SPW_RXFIFO16 == 1 } then { set tmpvar_33 "16" }
global CONFIG_SPW_RXFIFO32
if { $CONFIG_SPW_RXFIFO32 == 1 } then { set tmpvar_33 "32" }
global CONFIG_SPW_RXFIFO64
if { $CONFIG_SPW_RXFIFO64 == 1 } then { set tmpvar_33 "64" }
global tmpvar_34
set tmpvar_34 "64"
global CONFIG_SPW_RMAPBUF2
if { $CONFIG_SPW_RMAPBUF2 == 1 } then { set tmpvar_34 "64" }
global CONFIG_SPW_RMAPBUF4
if { $CONFIG_SPW_RMAPBUF4 == 1 } then { set tmpvar_34 "128" }
global CONFIG_SPW_RMAPBUF6
if { $CONFIG_SPW_RMAPBUF6 == 1 } then { set tmpvar_34 "192" }
global CONFIG_SPW_RMAPBUF8
if { $CONFIG_SPW_RMAPBUF8 == 1 } then { set tmpvar_34 "256" }
global tmpvar_35
set tmpvar_35 "2"
global CONFIG_SPW_GRSPW1
if { $CONFIG_SPW_GRSPW1 == 1 } then { set tmpvar_35 "1" }
global CONFIG_SPW_GRSPW2
if { $CONFIG_SPW_GRSPW2 == 1 } then { set tmpvar_35 "2" }
global tmpvar_36
set tmpvar_36 "DDR"
global CONFIG_SPW_RX_SDR
if { $CONFIG_SPW_RX_SDR == 1 } then { set tmpvar_36 "SDR" }
global CONFIG_SPW_RX_DDR
if { $CONFIG_SPW_RX_DDR == 1 } then { set tmpvar_36 "DDR" }
global CONFIG_SPW_RX_XOR
if { $CONFIG_SPW_RX_XOR == 1 } then { set tmpvar_36 "Xor" }
global CONFIG_SPW_RX_AFLEX
if { $CONFIG_SPW_RX_AFLEX == 1 } then { set tmpvar_36 "Aeroflex" }
global tmpvar_37
set tmpvar_37 "SDR"
global CONFIG_SPW_TX_SDR
if { $CONFIG_SPW_TX_SDR == 1 } then { set tmpvar_37 "SDR" }
global CONFIG_SPW_TX_DDR
if { $CONFIG_SPW_TX_DDR == 1 } then { set tmpvar_37 "DDR" }
global CONFIG_SPW_TX_AFLEX
if { $CONFIG_SPW_TX_AFLEX == 1 } then { set tmpvar_37 "Aeroflex" }
global tmpvar_38
set tmpvar_38 "1"
global CONFIG_UA1_FIFO1
if { $CONFIG_UA1_FIFO1 == 1 } then { set tmpvar_38 "1" }
global CONFIG_UA1_FIFO2
if { $CONFIG_UA1_FIFO2 == 1 } then { set tmpvar_38 "2" }
global CONFIG_UA1_FIFO4
if { $CONFIG_UA1_FIFO4 == 1 } then { set tmpvar_38 "4" }
global CONFIG_UA1_FIFO8
if { $CONFIG_UA1_FIFO8 == 1 } then { set tmpvar_38 "8" }
global CONFIG_UA1_FIFO16
if { $CONFIG_UA1_FIFO16 == 1 } then { set tmpvar_38 "16" }
global CONFIG_UA1_FIFO32
if { $CONFIG_UA1_FIFO32 == 1 } then { set tmpvar_38 "32" }
global tmpvar_39
set tmpvar_39 "1"
global CONFIG_UA2_FIFO1
if { $CONFIG_UA2_FIFO1 == 1 } then { set tmpvar_39 "1" }
global CONFIG_UA2_FIFO2
if { $CONFIG_UA2_FIFO2 == 1 } then { set tmpvar_39 "2" }
global CONFIG_UA2_FIFO4
if { $CONFIG_UA2_FIFO4 == 1 } then { set tmpvar_39 "4" }
global CONFIG_UA2_FIFO8
if { $CONFIG_UA2_FIFO8 == 1 } then { set tmpvar_39 "8" }
global CONFIG_UA2_FIFO16
if { $CONFIG_UA2_FIFO16 == 1 } then { set tmpvar_39 "16" }
global CONFIG_UA2_FIFO32
if { $CONFIG_UA2_FIFO32 == 1 } then { set tmpvar_39 "32" }
}
proc update_define_mainmenu {} {
global CONFIG_MODULES
}
# 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
# }
# }